نقاط النهاية المتزامنة وغير المتزامنة

مطوّرو المنطقة الاقتصادية الأوروبية

تتيح واجهة Route Optimization API طريقتَين:

  • OptimizeTours هي طريقة متزامنة تعرض مسارًا محسّنًا استجابةً لطلب OptimizeToursRequest. يجب أن تحافظ التطبيقات على اتصال مفتوح بواجهة برمجة التطبيقات Route Optimization إلى أن تتم معالجة الطلب ويتم عرض OptimizeToursResponse أو خطأ.
  • BatchOptimizeTours هي طريقة غير متزامنة تقبل معرّفات الموارد المنتظمة (URI) لواحد أو أكثر من OptimizeToursRequest ورسائل OptimizeToursResponse المقابلة، وتعرض اسم المورد الخاص بعملية طويلة الأمد (LRO) (REST وgRPC) الذي يُستخدم للتحقّق من اكتمال الدفعة. تتم معالجة OptimizeToursRequest في الخلفية، لذا يحتفظ العملاء باتصالات مفتوحة مع واجهة برمجة التطبيقات Route Optimization API لمدة كافية فقط لإرسال BatchOptimizeToursRequest أو طلب GetOperation للتحقّق من حالة العملية الطويلة الأمد. يقرأ BatchOptimizeTours الطلبات من Google Cloud Storage ويكتب الردود فيها.

حالات الاستخدام

تُعدّ OptimizeTours مناسبة لحلّ الطلبات الصغيرة والبسيطة، أو الطلبات التي تستغرق بضع دقائق أو أقل. يؤدي الحفاظ على اتصالات طويلة الأمد بواجهة برمجة التطبيقات Route Optimization API إلى زيادة خطر حدوث انقطاع قبل أن يتم عرض حل.

يمكن أن يتعامل الإجراء BatchOptimizeTours مع الطلبات الأكبر حجمًا والطلبات التي تستغرق وقتًا أطول لحلها، لأنّه لا يتطلّب اتصالاً طويل الأمد بواجهة برمجة التطبيقات Route Optimization.

العمليات التي تستغرق وقتًا طويلاً

تتم قراءة طلبات LRO من Route Optimization API باستخدام طريقة GetOperation للتحقّق من حالة اكتمال مجموعة. تتضمّن عمليات LRO السمة done التي تشير إلى ما إذا كانت معالجة الدفعة بأكملها قد اكتملت، والحقل error الذي يبلغ عن الأخطاء التي حدثت أثناء المعالجة. إذا كانت قيمة done هي "صحيح" ولم تكن هناك قيمة error، يعني ذلك أنّ الدفعة قد اكتملت بنجاح. يشير الرمز error إلى تعذُّر معالجة بعض الدفعة أو كلها.

في ما يلي دورة الحياة النموذجية لطلب BatchOptimizeTours:

  1. أرسِل BatchOptimizeToursRequest إلى Route Optimization API، ما يؤدي إلى عرض اسم المورد الخاص بطلب تحسين المسار.
  2. استطِل GetOperation باستخدام اسم مورد LRO الذي تم عرضه إلى أن تظهر السمتان done أو error في ردّ LRO.
  3. إذا كانت قيمة done صحيحة ولم يكن هناك أي خطأ، اقرأ OptimizeToursResponses من معرّفات الموارد المنتظمة (URI) في Google Cloud Storage المحدّدة في طلب BatchOptimizeTours. في حال ظهور error، افحص الخطأ وعدِّل OptimizeToursRequest وفقًا لذلك في Google Cloud Storage، ثم أعِد المحاولة حسب الاقتضاء استنادًا إلى الخطأ الذي ظهر.

يمكنك إرسال طلبات OptimizeTours وBatchOptimizeTours بطرق مختلفة، إما من سطر الأوامر أو باستخدام مكتبة برامج.

التالي: إرسال طلب بيانات إلى واجهة برمجة التطبيقات