VibeFox USPS for OpenCart — المساعدة
المتطلبات
OpenCart: 3.0.x (تم اختباره على 3.0.5.0) أو 4.0.2 وما بعده (تم اختباره على 4.1.0.3).
PHP: 8.0 أو أحدث، مع امتداد cURL.
تطبيق في بوابة مطوري USPS (للأسعار الفورية فقط): سجّل الدخول إلى بوابة مطوري USPS (developers.usps.com) بحساب أعمال مجاني لدى USPS، وأنشئ تطبيقًا وانسخ منه Consumer Key وConsumer Secret. تستخدم الإضافة واجهات USPS البرمجية الحالية مع OAuth 2.0. ولا يعمل معرّف Web Tools User ID القديم معها. ومن دون المفاتيح تُستخدم الأسعار الثابتة فقط.
الرمز البريدي لمكان الإرسال: تحتاج الأسعار الفورية إلى الرمز البريدي الأمريكي المكوّن من 5 أرقام الذي تُرسل منه الطرود.
مفتاح ترخيص VibeFox: يُشترى من vibefox.net. ويعمل المفتاح الواحد على نطاق واحد فقط.
التثبيت
التنزيل عبارة عن ملف ZIP واحد يحتوي على الحزم الخاصة بنسختي OpenCart. فُكّه على جهاز الكمبيوتر الخاص بك. ويحتوي على README.txt، وحزمة OpenCart 3 vfd_usps-oc3-(version).ocmod.zip، وحزمة OpenCart 4 vfd_usps.ocmod.zip. ثبّت الحزمة الخاصة بنسخة OpenCart لديك فقط. مفتاح الترخيص واحد للنسختين.
OpenCart 3
1. في لوحة الإدارة انتقل إلى Extensions > Installer، وانقر على Upload، واختر الملف vfd_usps-oc3-(version).ocmod.zip. لا تضيف الإضافة أي تعديلات OCMOD، لذلك لا حاجة إلى تحديث Extensions > Modifications. ويمكنك بدلًا من Installer نسخ محتويات المجلد upload من هذه الحزمة إلى المجلد الجذر لمتجرك.
2. انتقل إلى Extensions > Extensions، واختر نوع الإضافة Shipping. اعثر على VibeFox USPS وانقر على Install (زر + الأخضر).
3. انقر على Edit (زر القلم) لفتح صفحة الإعدادات.
4. أدخل مفتاح ترخيص VibeFox في حقل License key في كتلة الترخيص أعلى صفحة Edit، وانقر على Activate (انظر License key).
5. أدخل Consumer Key وConsumer Secret، والرمز البريدي المكوّن من 5 أرقام Ship from ZIP code، ثم اختر Services. إذا لم تكن العملة الافتراضية لمتجرك هي الدولار الأمريكي، فأدخل USD exchange rate.
6. اختيارياً، أدخل الأسعار الثابتة كبديل، وفعّل Enable USPS shipping، ثم انقر على Save.
OpenCart 4
1. في لوحة الإدارة انتقل إلى Extensions > Installer، وانقر على Upload، واختر الملف vfd_usps.ocmod.zip. لا تغيّر اسم الملف: لأن OpenCart 4 يأخذ رمز الإضافة من اسم الملف، ولا تعمل الحزمة إذا تغيّر اسمها.
2. تظهر الحزمة في قائمة الإضافات المثبّتة في الصفحة نفسها. انقر على Install (زر + الأخضر) بجانبها.
3. انتقل إلى Extensions > Extensions، واختر نوع الإضافة Shipping. اعثر على VibeFox USPS، وانقر على Install (زر + الأخضر)، ثم على Edit (زر القلم).
4. أدخل مفتاح الترخيص والإعدادات كما في الخطوات من 4 إلى 6 لـ OpenCart 3. صفحة الإعدادات وحقولها متماثلة في النسختين.
بعد التثبيت تبقى الطريقة معطلة حتى تفعّل Enable USPS shipping وتحفظ. وإذا أعدت تثبيت الإضافة بعد إلغاء تثبيتها، فستُستخدم من جديد إعدادات USPS التي احتفظت بها.
الإعدادات
جميع الإعدادات موجودة في صفحة الإضافة: Extensions > Extensions > Shipping > VibeFox USPS > Edit. وتظهر الأقسام في الجهة اليسرى. يحفظ زر Save الواحد في أسفل الصفحة الصفحة كاملة دون إعادة تحميلها. ويمسح كل حفظ رمز USPS المخزّن مؤقتًا والأسعار. ولا يمكن حفظ الإعدادات أو مسح الذاكرة المؤقتة أو السجل إلا للمسؤولين الذين لديهم صلاحية التعديل على هذه الإضافة.
لا تُحفظ القيمة غير الصالحة: تحدد الصفحة الحقل، وتعيد القيمة السابقة، وتعرض The other settings were saved. ويسري ذلك على اسم فارغ أو طويل أكثر من اللازم أو يحتوي على رموز ممنوعة، وعلى رقم سالب أو غير رقمي، وعلى رمز بريدي لا يتكون من 5 أرقام، وعلى حجم صندوق خاطئ، وعلى Min weight (kg) أكبر من Max weight (kg) (يحتفظ الحدان بقيمتيهما)، وعلى ترتيب فرز ليس عددًا صحيحًا، وعلى فئة ضريبة أو منطقة جغرافية غير معروفة. وتُمسح أسعار الدول غير الرقمية وتُدرج في قائمة. وتخبرك التحذيرات فوق الإعدادات بما يلي: عند تعيين أحد المفتاحين فقط، أو عدم وجود مفاتيح ولا أسعار ثابتة (فلا تظهر الطريقة أبدًا في هذه الحالة)، أو غياب الرمز البريدي، أو عدم اختيار أي خدمة، أو غياب سعر صرف الدولار، أو تفعيل بيئة الاختبار، أو عدم تعرّف الإضافة على وحدة وزن المتجر أو وحدة طوله.
عام
تنطبق الإعدادات على جميع المناطق الجغرافية. تُعرض USPS كخيار شحن واحد عند الدفع.
Enable USPS shipping: يعرض شحن USPS عند الدفع. الافتراضي: معطّل.
Name: اسم طريقة الشحن الذي يراه العميل عند الدفع. الافتراضي: USPS. مطلوب، بحد أقصى 64 حرفًا، من دون < > ; = # { }.
Tax class: فئة الضريبة على تكلفة الشحن. لا تتضمن أسعار USPS الضرائب. وNo tax (الافتراضي) يعني أن الشحن غير خاضع للضريبة.
Sort order: موضع USPS بين طرق الشحن عند الدفع. عدد صحيح.
واجهة USPS البرمجية (الأسعار الفورية)
Consumer Key: الـ Consumer Key (client_id) لتطبيق المطور الخاص بك في USPS. مسح هذا الحقل يزيل أيضًا Consumer Secret المحفوظ.
Consumer Secret: الـ Consumer Secret (client_secret) للتطبيق نفسه. بعد الحفظ يبقى الحقل فارغًا ويعرض Saved — leave empty to keep it. Clearing the Consumer Key removes it too. أدخل قيمة جديدة فقط إذا أردت تغييرها.
Test environment: استخدم USPS Testing Environment للمرسلين. وهذا خاص بالتطبيقات التي لها وصول إليه فقط. اتركه معطّلًا للحصول على أسعار حقيقية. الافتراضي: معطّل.
Prices: قائمة أسعار USPS المستخدمة.
Services: خدمات USPS التي يمكن تقديم عرض سعر لها. يُعرض أرخص الخدمات المختارة التي تقدمها USPS للطرد. اختر من بين USPS Ground Advantage وPriority Mail / Priority Mail International وPriority Mail Express / Priority Mail Express International وFirst-Class Package International Service وMedia Mail (books and media only) وLibrary Mail (libraries and schools only). الافتراضي: Ground Advantage وPriority Mail وFirst-Class Package International. لا تُستخدم أبدًا أسعار Flat Rate وCubic وHold for Pickup وSunday. وإذا لم تُختر أي خدمة فلا تُستخدم الأسعار الفورية.
USD exchange rate: أسعار USPS بالدولار الأمريكي. إذا لم تكن العملة الافتراضية لمتجرك هي الدولار الأمريكي، فأدخل سعر 1 دولار أمريكي بعملتك، مثل 0.92. يجب أن تكون القيمة أكبر من 0. ومن دونها لا تُستخدم الأسعار الفورية وتسري الأسعار الثابتة. وإذا كانت عملة متجرك الدولار الأمريكي فلا حاجة إليها. ولا يُحدَّث السعر تلقائيًا.
Cache: تُخزَّن عروض الأسعار مؤقتًا لمدة ساعة، وعرض السعر الفاشل لمدة 10 دقائق. وبعد انتهاء المهلة أو خطأ الخادم أو حد الطلبات أو رفض المفاتيح، لا يُستدعى USPS لمدة 5 دقائق. انقر على Clear cached USPS token and rates لمسح الذاكرة المؤقتة فورًا.
الإرسال والطرد (تعتمد أسعار USPS على الرمز البريدي لمكان الإرسال والوزن وحجم الطرد؛ ويُحسب سعر السلة كطرد واحد)
Ship from ZIP code: الرمز البريدي الأمريكي المكوّن من 5 أرقام الذي تُرسل منه الطرود. يُقتطع الرمز ZIP+4 إلى 5 أرقام. لا يملك OpenCart رمزًا بريديًا للمتجر، لذلك أدخله هنا.
Box size (L x W x H): أبعاد اختيارية للصندوق بوحدة الطول في متجرك (تظهر في اسم الحقل)، مثل 30x20x15. اتركه فارغًا لاستخدام أبعاد المنتج: أطول طول، وأعرض عرض، والارتفاعات المكدسة. تُحسب المنتجات التي لا أبعاد لها كصندوق 10 × 8 × 4 بوصات.
Default product weight (kg): الوزن المستخدم للمنتجات التي لا وزن لها، في أسعار USPS وحدود الوزن وفئات الوزن. الافتراضي: 0.5. والفراغ يعني أيضًا 0.5 كغ.
الأسعار الثابتة (أسعار بالعملة الافتراضية لمتجرك، دون الضريبة؛ تُستخدم عندما لا يُدخل أي مفتاح API وكبديل عندما لا تعيد USPS أي سعر؛ اترك الحقلين فارغين لإخفاء الطريقة في هذه الحالة)
Country prices: أسعار حسب دولة الوجهة ووزن السلة. انقر على Add country لإضافة صف، وعلى زر الحذف لإزالة صف. فئات الوزن هي: XS حتى 1 كغ، وS من 1 إلى 2 كغ، وM من 2 إلى 3 كغ، وL من 3 إلى 5 كغ، وXL أكثر من 5 كغ. الفئة الفارغة أو 0 تستخدم Price. و* Default (any other country) ينطبق على جميع الدول الأخرى.
Fallback cost: سعر ثابت عندما لا يتطابق أي سعر دولة. اتركه فارغًا لإخفاء الطريقة في هذه الحالة.
Fixed price is: Per order (الافتراضي) يحصّل السعر مرة واحدة بحسب وزن السلة كاملة. وPer item (each item priced by its own weight x quantity) يسعّر كل منتج بحسب وزنه مضروبًا في كميته. وتُحسب أسعار USPS الفورية دائمًا للطرد كاملًا.
الشروط
Free shipping from: المجموع الفرعي للمنتجات التي تحتاج إلى شحن (بعد القسيمة، وقبل الضريبة) التي تصبح عندها هذه الطريقة مجانية. ولا يُرسل أي طلب إلى USPS عندئذٍ. اتركه فارغًا لعدم تقديم شحن مجاني أبدًا.
Minimum subtotal: اعرض الطريقة فقط عندما يكون المجموع الفرعي للمنتجات التي تحتاج إلى شحن (بعد القسيمة، وقبل الضريبة) مساويًا لهذا المبلغ على الأقل. اتركه فارغًا لعرضها دائمًا.
Min weight (kg): الحد الأدنى لوزن السلة حتى تظهر هذه الطريقة. و0 يعني بلا حد (الافتراضي).
Max weight (kg): تُخفى الطريقة عندما يتجاوز وزن السلة هذا الحد. الافتراضي: 30. والفراغ يعني 30 كغ، و0 يعني بلا حد. تقبل USPS حتى 70 رطلًا (31.7 كغ): تحصل الطرود الأثقل على الأسعار الثابتة.
Geo zone: اعرض USPS فقط للعناوين داخل هذه المنطقة الجغرافية. وAll zones (الافتراضي) يعني بلا حد. تُدار المناطق الجغرافية في System > Localisation > Geo Zones. ولا تُستخدم مع Ignore shipping zones.
التوفر من دون مناطق الشحن
Ignore shipping zones: لا يتحقق من المنطقة الجغرافية. تُعرض الطريقة للدول المذكورة أدناه.
Countries: دول الوجهة لهذا الوضع. اتركه فارغًا للسماح بجميع الدول. ولا يُستخدم هذا الحقل إلا عندما يكون Ignore shipping zones مفعّلًا.
متقدم
Debug log: يسجّل طلبات API وحساب الأسعار في storage/logs/vfd_usps_debug.log.php (وفي OpenCart 4 system/storage/logs/vfd_usps_debug.log.php). لا يمكن قراءة الملف من الويب. تُسجَّل أخطاء API دائمًا، حتى عندما يكون هذا الخيار معطلًا. لا تُسجَّل المفاتيح ولا الرموز ولا الرموز البريدية ولا عناوين العملاء أبدًا. وعندما يصل الملف إلى 5 ميغابايت يُنقل إلى vfd_usps_debug.old.log.php ويبدأ سجل جديد.
Log: يعرض حجم السجل وأحدث إدخالاته. انقر على Clear log لتفريغه.
Remove data on uninstall: عندما يكون مفعّلًا، يؤدي إلغاء تثبيت الإضافة إلى حذف إعدادات USPS والسجل. تُحذف الأسعار المخزّنة مؤقتًا دائمًا. تُحفظ خدمات USPS للطلبات التي تم تقديمها دائمًا. وعندما يكون معطّلًا تُحفظ الإعدادات لإعادة التثبيت.
الاستيراد / التصدير
Export: انقر على Download JSON لحفظ الإعدادات في ملف JSON. لا يُصدَّر Consumer Secret.
Import: الصق ملف JSON المُصدَّر سابقًا وانقر على Import لاستعادة الإعدادات، على سبيل المثال في متجر آخر. تُتحقق القيم كما في الحفظ العادي. ويُحتفظ بـ Consumer Secret المحفوظ.
كيف تعمل عند الدفع
عندما يعرض OpenCart طرق الشحن، يطلب من الإضافة سعر USPS. إذا كانت Geo zone محددة والعنوان خارجها، فلا تُعرض USPS (مع Ignore shipping zones تحدد قائمة الدول بدلًا من ذلك). لا تُحتسب إلا المنتجات التي يكون فيها Requires Shipping على Yes: لا تضيف المنتجات الأخرى وزنًا ولا تدخل في المجموع الفرعي. ولا تُؤخذ شهادات الهدايا ونقاط المكافآت ورصيد المتجر في الاعتبار. ثم تتحقق الإضافة من الشروط: وزن السلة والحد الأدنى للمجموع الفرعي. وإذا انطبق الشحن المجاني، يكون السعر 0 ولا يُرسل أي طلب إلى USPS.
تحصل الإضافة على رمز OAuth من USPS وتحتفظ به حتى قبل انتهائه بوقت قصير. وبالنسبة للوجهات في الولايات المتحدة وأقاليمها (بورتوريكو، وجزر فيرجن الأمريكية، وغوام، وساموا الأمريكية، وجزر ماريانا الشمالية، وميكرونيزيا، وجزر مارشال، وبالاو) تطلب الأسعار المحلية وتحتاج إلى الرمز البريدي المكوّن من 5 أرقام للعميل: ومن دونه لا يُرسل أي طلب. وبالنسبة للدول الأخرى تطلب الأسعار الدولية.
يتضمن الطلب الرمز البريدي لمكان الإرسال، ووزن السلة، وحجم الطرد، ونوع السعر. تحصل الطرود التي تزيد على 70 رطلًا على الأسعار الثابتة. يرى العميل خيارًا واحدًا بأرخص الخدمات المختارة. ويُحوَّل السعر بالدولار الأمريكي إلى العملة الافتراضية لمتجرك، ويُقرَّب إلى منازلها العشرية، ويُعرض بعملة العميل مع ضريبة Tax class المختارة.
يُخزَّن كل عرض سعر مؤقتًا لمدة ساعة. ويُتذكَّر عرض السعر الفاشل لمدة 10 دقائق. وبعد انتهاء المهلة أو خطأ الخادم أو حد الطلبات أو رفض المفاتيح، لا يُستدعى USPS لمدة 5 دقائق. مهلة HTTP هي 10 ثوانٍ.
إذا لم ترجع USPS أي سعر، يأتي السعر من Country prices، ثم من Fallback cost. وإذا لم ينطبق أي منهما، تُخفى الطريقة. لا يرى العميل أي نصوص أخطاء من USPS أبدًا. ويُكتب السبب في سجل التصحيح.
تحسب الإضافة الأسعار فقط. لا تشتري الطوابع أو ملصقات الشحن، ولا تحجز مواعيد الاستلام، ولا تتتبع الطرود، ولا تتيح للعميل اختيار مكتب بريد أو موقع استلام. تعرض خيارًا واحدًا، لا عدة خدمات من USPS. لا يوجد تعبئة في صناديق: تُحسب السلة كطرد واحد. التأمين والخدمات الإضافية الأخرى غير مشمولة.
في OpenCart 4 ينقر العميل على Choose في كتلة طريقة الشحن في صفحة الدفع، ويختار USPS في النافذة Shipping method options. وتعمل الطريقة بالطريقة نفسها كما في OpenCart 3.
الطلبات
عندما يُقدَّم طلب مع USPS، تحفظ الإضافة الطريقة التي وُجد بها سعر الشحن. تعرض صفحة الطلب في Sales > Orders لوحة USPS تتضمن USPS service (للسعر الفوري، على سبيل المثال USPS Ground Advantage)، وPrice source (USPS live rate أو Fixed price أو Free shipping)، وCalculated price (excl. tax). تُحفظ هذه القيم عند تقديم الطلب.
يحتفظ OpenCart 4 بطلب واحد للدفع ويحدّثه في كل مرة يؤكد فيها العميل مجددًا. وتُحدَّث القيم المحفوظة معه. وإذا انتقل العميل إلى طريقة شحن أخرى، تُزال من الطلب. وفي OpenCart 4 تظهر لوحة USPS فوق قسم History.
مفتاح الترخيص
تعمل الإضافة بمفتاح ترخيص VibeFox من vibefox.net. كتلة الترخيص License — VibeFox USPS هي أول كتلة في صفحة Extensions > Extensions > Shipping > VibeFox USPS > Edit، فوق الإعدادات. أدخل المفتاح في License key وانقر على Activate. بعد ذلك تعرض الكتلة المفتاح مخفيًا، والحالة (مثل تاريخ انتهاء الترخيص ونطاقك)، والأزرار Check now لإعادة التحقق من الحالة، وChange key لإدخال مفتاح آخر، وRemove key لإزالة المفتاح من هذا المتجر. وتحتها السطر Product: opencart-shipping-usps والرابط Manage licenses and domains in your account الذي يفتح حسابك في vibefox.net. ولا يمكن تغيير المفتاح إلا للمسؤولين الذين لديهم صلاحية Modify لهذه الإضافة. ويتبع نص الكتلة لغة لوحة الإدارة (وتشمل الإنجليزية والروسية).
إذا لم يُقبل المفتاح، تبيّن الكتلة السبب، مثل Key not found أو This key belongs to another product أو Domain limit reached أو License expired on مع تاريخ. بعد تغيير عنوان المتجر، أو بعد تحرير خانة نطاق في حسابك، انقر على Check now. وإذا تعذّر الوصول إلى خادم التراخيص، تواصل الإضافة العمل بآخر حالة معروفة.
يعمل المفتاح الواحد على نطاق واحد فقط: عنوان المتجر من إعدادات OpenCart. إزالة المفتاح من المتجر لا تحرر خانة النطاق. حرّر الخانة في حسابك على vibefox.net.
من دون مفتاح نشط، لا تُعرض USPS للعملاء عند الدفع ولا تُحسب أي أسعار. ولا يزال مسؤول مسجّل الدخول إلى لوحة الإدارة في المتصفح نفسه يرى الطريقة في المتجر، مع علامة (unlicensed — visible to admins only)، لتتمكن من إعداد الإضافة واختبارها قبل شراء مفتاح. وفي OpenCart 4 هذه المعاينة غير متاحة: فالمتجر لا يرى تسجيل دخول الإدارة، لذلك تُخفى الطريقة عن الجميع من دون مفتاح نشط. وبعد فتح صفحة Edit مرة واحدة، يظهر تذكير في Dashboard الخاصة بالإدارة. أغلقه بالزر × لإخفائه لمدة 7 أيام. ولا تتأثر الطلبات الحالية.
عندما تنتهي صلاحية الترخيص، تواصل الإضافة العمل، لكن التحديثات والدعم تحتاج إلى تجديد. يُعاد فحص الحالة تلقائيًا عند فتح Dashboard أو صفحة Edit في لوحة الإدارة: مرة واحدة يوميًا خلال أول 14 يومًا بعد إدخال المفتاح، ثم مرة واحدة أسبوعيًا. ولا حاجة إلى مهمة cron. ويؤدي إلغاء تثبيت الإضافة دائمًا إلى حذف مفتاح الترخيص وحالة الترخيص.
استكشاف الأخطاء وإصلاحها
لا تظهر USPS عند الدفع: تحقق من أن الترخيص نشط وأن Enable USPS shipping مفعّل. تحقق من Geo zone، أو فعّل Ignore shipping zones وتحقق من Countries. تحقق من حدود الوزن وMinimum subtotal. ومن دون مفاتيح USPS تعمل، تحتاج الطريقة إلى سعر ثابت (Country prices أو Fallback cost). تحقق من أن المنتجات لديها Requires Shipping على Yes.
لا تظهر الأسعار الفورية: تحقق من التحذيرات في أعلى صفحة Edit: المفتاحان، والرمز البريدي، وخدمة واحدة على الأقل، وسعر الصرف للمتاجر التي لا تستخدم الدولار الأمريكي. يجب أن يدخل العملاء الأمريكيون رمزًا بريديًا. فعّل Debug log، وأعد تحميل صفحة الدفع، وانظر إلى الحقل Log في صفحة الإضافة.
الأسعار ليست أسعارًا حقيقية: أوقف Test environment.
تحذّر الصفحة من وحدة الوزن أو الطول: من دون فئة وزن بوحدة kg تُقرأ وحدات الوزن غير المعروفة على أنها كيلوغرامات. أضف فئة وزن بوحدة kg في System > Localisation > Weight Classes. تُعامَل وحدة الطول غير المعروفة في المتجر على أنها cm. استخدم cm أو mm أو m أو in كفئة طول للمتجر (System > Settings، تبويب Option).
تبدو الأسعار قديمة بعد تغيير: انقر على Save في صفحة الإضافة أو على Clear cached USPS token and rates.
تقول الصفحة "Warning: You do not have permission to modify VibeFox USPS!": قد لا يملك فريق المسؤولين لديك سوى صلاحية عرض الإعدادات. امنح الفريق صلاحية التعديل لـ extension/shipping/vfd_usps (OpenCart 3) أو extension/vfd_usps/shipping/vfd_usps (OpenCart 4) في System > Users > User Groups.
للمطورين: يمكن استبدال عنوان واجهة USPS البرمجية بالإعداد vfd_usps_api_url (للاختبارات)؛ ولا يوجد له حقل في صفحة الإعدادات.
إلغاء التثبيت
انتقل إلى Extensions > Extensions، واختر النوع Shipping، وانقر على Uninstall (الزر الأحمر −) بجوار VibeFox USPS. تُحذف دائمًا مفتاح الترخيص وحالة الترخيص لهذه الإضافة. يعيد OpenCart دائمًا ضبط Enable USPS shipping وSort order وTax class وGeo zone. تُحذف دائمًا الأسعار ورمز USPS المخزّنان مؤقتًا. وإذا كان Remove data on uninstall مفعّلًا، تُحذف أيضًا إعدادات USPS وسجل التصحيح. وإذا كان معطّلًا تُحفظ الإعدادات الأخرى وتُستخدم من جديد عند إعادة تثبيت الإضافة. لا تُحذف بيانات USPS للطلبات التي تم تقديمها أبدًا، وتحتفظ الطلبات الحالية بطريقة الشحن وتكلفتها.
في OpenCart 4، ولحذف ملفات الإضافة أيضًا، انتقل بعد إلغاء التثبيت إلى Extensions > Installer، وانقر في قائمة الإضافات المثبّتة على Uninstall (الزر البرتقالي −) بجوار VibeFox USPS، ثم على Delete (زر سلة المهملات الأحمر) لحذف الحزمة المرفوعة.
USPS علامة تجارية تعود ملكيتها إلى صاحبها. هذه الإضافة غير تابعة لـ USPS ولا معتمدة من قبلها.
