سؤال

إذا كان لدى أي شخص أي تجربة مع API تأكيد التسليم USPS، فأنا أقدر حقا أي رؤية يمكنني الحصول عليها ...

أنا أستخدم PHP وحلاقة لإرسال طلب XML إلى API DC. عندما أرسل الرد من خلال حليقة، لا أحصل على شيء. لا استجابة خطأ، لا XML، أو أي شيء. عندما أرسل XML من خلال متصفح، أحصل على استجابة خطأ، وهو استجابة على الأقل. أنا في طريق مسدود لأن الخطأ الذي أحصل عليه من خلال المتصفح على الظاهر (وفقا لسطر الدعم الخاص بهم) يعني أن مشاكل الخادم الخاصة بهم تؤثر على API. ومع ذلك، لا أعرف لماذا لن أتمكن من الحصول على هذا الاستجابة من خلال حليقة.

هل كانت مفيدة؟

المحلول

نحن نستخدم API صحة العنوان و .NET، وليس تأكيد التسليم و PHP، ولكن ربما يمكنني المساعدة.

يجب أن يكون XML الذي ترسله مكتب البريد هو مجرد حفلة من سلسلة الاستعلام مثل هذا:

https://servername/ShippingAPITest.dll?API=DeliveryConfirmationV3&XML=<DeliveryConfirmationV3.0Request USERID="username">…….</DeliveryConfirmationV3.0Request>

ثم يخدمونك فقط وثيقة XML مرة أخرى. لم أستخدم مكتبة حليقة، ولكن ربما يمكنك التحقق من أن هذا هو ما يرسله بالفعل.

أيضا، هل وافقت بعد؟ إذا لم يكن كذلك، فإنهم يسمحون فقط لاستجابات الاختبار المعلبة فقط. أي شيء آخر سوف يمنحك خطأ، حتى لو كان سارته على خادم الإنتاج.

نصائح أخرى

شكوكي هو أن هناك شيئا ما في هيكل طلبك (على سبيل المثال، رأس مفقود)، نظرا لأن محتوى XML يبدو وكأنه صالح (أو على الأقل مثل خوادم USPS التي تقرأها بشكل صحيح).

لدينا تطبيق API USPS يستخدم اتصال TCP / IP الخام مع fsockopen, ، والتي تتمتع بميزة يمكنني تأكيد التأكيد على وجه التحديد ما نرسله في هيكل الطلب: POST /ShippingAPI.dll HTTP/1.0

الرؤوس الوحيدة بما في ذلك حسب الطلب هي:

User-Agent: (foo)\r\n
Host: (bar)\r\n
Content-Type: text/xml\r\n
Content-Length: strlen($xml)\r\n\r\n

هل هذا يطابق ما ترسله من خلال حليقة؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top