توفّر واجهة برمجة التطبيقات 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
هي true ولم يتم توفير 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
بطرق مختلفة، إما من سطر الأوامر أو باستخدام مكتبة برامج العميل.
التالي: إرسال طلب بيانات إلى واجهة برمجة التطبيقات