From 196a61bd5dabf2693d5e1d21dde7f30bb02a0e47 Mon Sep 17 00:00:00 2001 From: O K Date: Sat, 27 Dec 2025 13:41:47 +0200 Subject: [PATCH] improved isInternational handling --- usps_api_bridge.php | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/usps_api_bridge.php b/usps_api_bridge.php index ba65178..6eeb175 100644 --- a/usps_api_bridge.php +++ b/usps_api_bridge.php @@ -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;