improved isInternational handling
This commit is contained in:
@@ -401,25 +401,31 @@ class Usps_Api_Bridge extends Module
|
||||
/**
|
||||
* MAPPING LOGIC: Old Module Codes -> New API Enums
|
||||
*/
|
||||
private function mapServiceCodeToApiClass($oldCode, $isInternational)
|
||||
private function mapServiceCodeToApiClass(string $oldCode, bool $isInternational)
|
||||
{
|
||||
// $this->externalLog(['mapServiceCodeToApiClass' => ['oldCode' => $oldCode, 'isInternational' => $isInternational]]);
|
||||
// 1. Define the Standard Map
|
||||
$map = [
|
||||
// DOMESTIC
|
||||
'USA_0' => 'USPS_GROUND_ADVANTAGE', // Was First-Class
|
||||
'USA_1' => 'PRIORITY_MAIL',
|
||||
'USA_3' => 'PRIORITY_MAIL_EXPRESS',
|
||||
'USA_6' => 'MEDIA_MAIL',
|
||||
'USA_7' => 'LIBRARY_MAIL',
|
||||
'USA_1058' => 'USPS_GROUND_ADVANTAGE',
|
||||
if ($isInternational) {
|
||||
$map = [
|
||||
|
||||
// INTERNATIONAL
|
||||
'INT_1' => 'PRIORITY_MAIL_EXPRESS_INTERNATIONAL',
|
||||
'INT_2' => 'PRIORITY_MAIL_INTERNATIONAL',
|
||||
'INT_15' => 'FIRST-CLASS_PACKAGE_INTERNATIONAL_SERVICE',
|
||||
'INT_4' => 'FIRST-CLASS_PACKAGE_INTERNATIONAL_SERVICE', // GXG is suspended/retired, fallback to First Class
|
||||
];
|
||||
} else {
|
||||
$map = [
|
||||
// DOMESTIC
|
||||
'USA_0' => 'USPS_GROUND_ADVANTAGE', // Was First-Class
|
||||
'USA_1' => 'PRIORITY_MAIL',
|
||||
'USA_3' => 'PRIORITY_MAIL_EXPRESS',
|
||||
'USA_6' => 'MEDIA_MAIL',
|
||||
'USA_7' => 'LIBRARY_MAIL',
|
||||
'USA_1058' => 'USPS_GROUND_ADVANTAGE',
|
||||
];
|
||||
}
|
||||
|
||||
// INTERNATIONAL
|
||||
'INT_1' => 'PRIORITY_MAIL_EXPRESS_INTERNATIONAL',
|
||||
'INT_2' => 'PRIORITY_MAIL_INTERNATIONAL',
|
||||
'INT_15' => 'FIRST-CLASS_PACKAGE_INTERNATIONAL_SERVICE',
|
||||
'INT_4' => 'FIRST-CLASS_PACKAGE_INTERNATIONAL_SERVICE', // GXG is suspended/retired, fallback to First Class
|
||||
];
|
||||
|
||||
if (!isset($map[$oldCode])) {
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user