توفّر واجهة Route Optimization API طريقتَين:
-
OptimizeToursهي طريقة متزامنة تعرض مسارًا محسّنًا استجابةً لطلبOptimizeToursRequest. يجب أن تحافظ التطبيقات على اتصال مفتوح بواجهة برمجة التطبيقات Route Optimization API إلى أن تتم معالجة الطلب ويتم عرض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:
- أرسِل
BatchOptimizeToursRequestإلى Route Optimization API، والذي يعرض اسم المورد الخاص بطلب LRO. - استطِل عن
GetOperationباستخدام اسم مورد LRO الذي تم عرضه إلى أن تظهر السمتانdoneأوerrorفي رد LRO. - إذا كانت قيمة
doneصحيحة ولم يكن هناك أي خطأ، اقرأOptimizeToursResponsesمن معرّفات الموارد المنتظمة (URI) الخاصة بخدمة Google Cloud Storage المحدّدة في طلبBatchOptimizeTours. في حال ظهورerror، افحص الخطأ وعدِّلOptimizeToursRequestوفقًا لذلك في Google Cloud Storage، ثم أعِد المحاولة حسب الاقتضاء استنادًا إلى الخطأ الذي ظهر.
يمكنك إرسال طلبات OptimizeTours وBatchOptimizeTours بطرق متنوعة، إما من سطر الأوامر أو باستخدام مكتبة برامج.
التالي: إرسال طلب بيانات إلى واجهة برمجة التطبيقات