العمليات المتزامنة وغير المتزامنة في نموذج RBM

يوضّح هذا المستند كيفية تعامل منصة RBM مع إرسال الرسائل وغيرها من تفاعلات واجهة برمجة التطبيقات، مع التمييز بين العمليات المتزامنة وغير المتزامنة.

تتّبع التفاعلات مع واجهة برمجة التطبيقات لنموذج "الاستجابة الذكية للإعلانات" بشكل عام نمطًا متزامنًا للطلب والاستجابة على مستوى HTTP. ومع ذلك، يتم التعامل مع نتائج العديد من طلبات البيانات من واجهة برمجة التطبيقات، خاصةً تسليم الرسائل، بشكل غير متزامن من خلال وحدات الربط بالويب. يُرجى الرجوع إلى القسمين التاليين للحصول على التفاصيل.

إرسال الرسائل: طلب متزامن، إرسال غير متزامن

تتم معالجة طلب phones.agentMessages.create واجهة برمجة التطبيقات بشكل متزامن من منظور واجهة برمجة التطبيقات. عند إرسال طلب HTTP إلى منصة RBM، يستجيب الخادم على الفور تقريبًا باستخدام رمز حالة HTTP عادي (مثل 200 OK أو خطأ) للإشارة إلى ما إذا كان الطلب قد تم استلامه وهل هو صالح.

ومع ذلك، تتم معالجة عملية التسليم الفعلية للرسالة إلى المستخدم النهائيبشكل غير متزامن. يمكن أن تؤثّر العوامل التالية في هذه العملية:

  • حالة المستلِم: قد يكون المستخدم غير متصل بالإنترنت أو قد تكون بطاريته فارغة أو قد لا يكون لديه خدمة RCS مفعَّلة.
  • ظروف الشبكة: يمكن أن تؤدّي مشاكل شبكة مشغّل شبكة الجوّال إلى تأخير تسليم الرسائل أو منعه.

توفّر منصة RBM تعديلات على حالة تسليم الرسائل (مثل إيصالات التسليم وإيصالات القراءة) بشكل غير متزامن من خلال webhooks. لذلك، على الرغم من أنّ طلب واجهة برمجة التطبيقات الأوّلي متزامن، عليك الاعتماد على أحداث webhook غير المتزامنة لتتبُّع تسليم الرسائل. لا تتوقّع تلقّي تأكيد فوري لحالة التسليم من الردّ على phones.agentMessages.create.

التفاعلات الأخرى مع واجهة برمجة التطبيقات في "إدارة الأداء من Google"

تعمل معظم واجهات برمجة التطبيقات الأخرى المستندة إلى HTTP لمعالجة الطلبات في الوقت الفعلي أيضًا باستخدام نموذج طلبات واستجابات متزامن. توفّر واجهات برمجة التطبيقات هذه استجابة HTTP فورية تشير إلى حالة الطلب (نجاح أو خطأ). ومع ذلك، على الرغم من أنّ الطلب متزامن، قد تتضمن الإجراءات الناتجة عن الطلب عمليات غير متزامنة. على سبيل المثال، لا يعني الاستجابة الناجحة لطلب بيانات واجهة برمجة التطبيقات لتعديل معلومات موظّف الدّعم أنّ التعديل يظهر على الفور في كل مكان، فقد يكون هناك تأخّر قصير في النشر.

نقطة نهاية الردّ التلقائي على الويب: الأحداث غير المتزامنة

يتم إرسال الأحداث التالية بشكل غير متزامن إلى نقطة نهاية webhook:

  • رسائل المستخدمين الواردة: تُرسِل منصة RBM رسائل المستخدمين الواردة إلى نقطة نهاية تفاعلك مع واجهة برمجة التطبيقات. احرص على التحقّق من الرسائل الواردة.
  • إيصالات التسليم والقراءة: يتم إرسال إشعارات بشأن حالة تسليم الرسائل وقراءة الرسائل من خلال وحدات الربط بالويب.
  • أحداث المحادثة: يتم إرسال بعض الأحداث ذات الصلة بالمحادثة، مثل مؤشرات typing ، من خلال وحدات الربط بالويب.
  • أحداث انتهاء صلاحية الرسائل وإبطالها: تُرسِل منصة RBM أحداثًا لتأكيد ما إذا تم إبطال رسالة منتهي الصلاحية بنجاح.