كيفية إنشاء روبوت WhatsApp لقوائم المهام باستخدام Bird’s Programmable Conversations API
Bird
05/02/2020
واتساب
1 min read

النقاط الرئيسية
Bird’s Programmable Conversations API يوحّد WhatsApp وMessenger وSMS في طبقة اتصال واحدة، مما يبسط تطوير الروبوتات متعددة القنوات.
يمكنك بسرعة تصميم نموذج أولي لروبوت قائمة مهام WhatsApp باستخدام webhooks وطلبات POST بسيطة.
تتيح لك الأدوات مثل ngrok عرض الخادم المحلي الخاص بك لاختبار webhooks دون إعداد استضافة معقد.
تتعامل واجهة برمجة التطبيقات مع المحادثات عبر قنوات متعددة، مما يسمح بقاعدة منطق واحدة لـ WhatsApp وWeChat وتطبيقات أخرى.
استخدم نقطة النهاية archiveConversation لإغلاق المحادثات أو "المواضيع"، مما يعتبر مثالياً لدعم أو تتبع سير العمل.
يمكن للمنطق الروبوتي إدارة المحادثات المتزامنة بأمان في الذاكرة مع بنية بيانات بسيطة.
يعمل نفس معالج webhook عبر القنوات—Bird يقوم بتوجيه الردود بناءً على معرف المحادثة الأصلية تلقائياً.
أبرز الأسئلة والأجوبة
ما مدى صعوبة بناء روبوت WhatsApp باستخدام واجهة برمجة التطبيقات الخاصة بـ Bird؟
إنه سهل بشكل مفاجئ. باستخدام webhook وعدد قليل من مكالمات API، يمكنك بناء بوت وظيفي يقرأ الرسائل ويرد عليها في غضون دقائق.
هل أحتاج إلى إعداد خاص لتلقي الرسائل؟
نعم — يجب أن يكون الروبوت قادرًا على الوصول من الإنترنت. تساعد أدوات مثل ngrok في إنشاء نفق آمن من جهازك المحلي.
هل يمكنني استخدام نفس قاعدة الشيفرة لتطبيقات المراسلة المختلفة؟
بالتأكيد. تقوم واجهة برمجة تطبيقات المحادثات بتجريد القنوات، بحيث يمكن لروبوتك العمل على WhatsApp أو WeChat أو Messenger بنفس المنطق.
كيف يمكنني إغلاق أو إعادة تعيين سلسلة المحادثة؟
أرسل طلب PATCH إلى نقطة نهاية المحادثة بالحالة المناسبة لأرشفتها. أي رسالة جديدة تفتح محادثة جديدة تلقائيًا.
أين يمكنني العثور على مثال للكود؟
ج: العرض التوضيحي الكامل العامل — Wabot على GitHub — يظهر تنفيذ التعامل مع الرسائل، التزامن، والأرشفة.
أطلقت Bird مؤخرًا محادثات قابلة للبرمجة. إنها تتيح للشركات دمج منصات الاتصالات مثل WhatsApp وMessenger وSMS في أنظمتها باستخدام واجهة برمجة تطبيقات واحدة.
أطلقت Bird مؤخرًا محادثات قابلة للبرمجة. تتيح للشركات دمج منصات الاتصالات مثل WhatsApp وMessenger وSMS في أنظمتهم - باستخدام واجهة API واحدة.
أردت تجربة ذلك، لذلك قمت ببناء روبوت قائمة المهام على WhatsApp، لأنه من لا يحتاج إلى قائمة مهام آلية لمساعدته في تنظيم يومه؟ قد يبدو الأمر معقدًا، لكنه كان في الواقع سهلًا، وأود أن أخبركم بكل شيء عنه.
الآن، أعمل في MessageBird، لذلك كان بإمكاني الانخراط وبدء البناء مباشرة. إذا كنتم تجربون هذا، فستحتاجون إلى طلب الوصول المبكر. ولكن بمجرد إعدادك لقناة WhatsApp، يمكنك تسجيل الدخول إلى لوحة التحكم على موقع MessageBird والبدء.
أول شيء فعلته هو قراءة الوثائق. تعلمت أنه للحصول على الرسائل من الروبوت، سيتعين علي استخدام webhook. هذا يعني أن روبوتي سيحتاج إلى أن يكون متاحاً عبر الإنترنت. عندما تبني واجهات API مثل هذه، من المهم اتباع أفضل ممارسات إصدار API للصيانة. نظرًا لأني كنت قد بدأت في كتابة الكود، قررت استخدام ngrok. إنه ينشئ نفقاً من الإنترنت العام إلى منفذ localhost الخاص بك 5007. تابع الانخراط!
ngrok http 5007 -region eu -subdomain todobot
بعد ذلك، احتجت إلى إجراء اتصال بواجهة API الخاصة بالمحادثات القابلة للبرمجة لإنشاء الويب هوك. إنه طلب POST إلى https://conversations.messagebird.com/v1/webhooks ويبدو شيئاً كهذا:
رائع. الآن ستقوم Conversations API بإجراء طلب POST إلى:
https://todobot.eu.ngrok.io/create-hook كلما تم إنشاء رسالة جديدة على قناة WhatsApp التي قمت بإعدادها سابقًا.
هذا ما يبدو عليه payload الخاص بالويب هوك:
نريد الرد على تلك الرسائل. دعنا نبدأ بتكرارها، ما رأيك؟
الآن، للجزء المثير للاهتمام. قم بإجراء طلب POST إلى:
https://conversations.messagebird.com/v1/conversations/<conversationID>/messages للرد على الطلب.
هناك. هذا كل ما تحتاجه لإنشاء روبوت يتصرف مثل إنسان في الخامسة من العمر.
الآن، دعنا نخطو خطوة نحو بناء قائمة المهام الكاملة. أولاً، قم بتعديل وظيفة createHookHandler قليلاً بحيث تستدعى الوظيفة الجديدة handleMessage بدلاً من respond.
handle سيقوم بشكل بسيط بتحليل الرسائل، والقيام ببعض العمل، واختيار الرد. دعنا ننظر إلى أمر "add":
هنا، نقوم بإعداد: list := manager.fetch(whp.Conversation.ID). ببساطة، "المدير" هو خريطة آمنة للتزامن تربط معرفات المحادثات بقوائم المهام.
قائمة المهام عبارة عن شريحة سلسلة آمنة للتزامن. كل ذلك في الذاكرة!
شيء مهم آخر! يمكنك أرشفة المحادثات. في بعض التطبيقات، مثل أنظمة إدارة علاقات العملاء، من المهم تتبع بعض التفاعلات - لتتبع فعالية موظفي دعم العملاء، على سبيل المثال. تسمح لك Conversations API بأرشفة المحادثة لإغلاق الموضوع. إذا أرسل المستخدم / العميل رسالة أخرى، ستفتح Conversations API موضوعاً جديداً تلقائيًا.
أيضاً. بإجراء طلب PATCH إلى https://conversations.messagebird.com/v1/conversations/{id} بالحالة المناسبة في الجسم، يمكنك أرشفة المحادثة بهذا المعرف. نقوم بذلك باستخدام الأمر "bye":
archiveConversation سيقوم بإجراء طلب PATCH وmanager.close(whp.Conversation.ID) سيقوم بإزالة المحادثة من قائمة المهام.
ولكن مهلاً، Programmable Conversations هي حل متعدد القنوات. ماذا لو كنت تريد إعادة استخدام كود الروبوت لمنصة مختلفة، مثل WeChat؟ هذا النهج المتعدد القنوات هو جزء من استراتيجية تحويل الاستفسارات إلى قنوات أقل تكلفة. كيف ستفعل ذلك؟
فقط قم بإنشاء webhook جديد لاستهداف تلك القناة! webhook يقوم بإرسال الطلبات إلى نفس عنوان الإنترنت https://todobot.eu.ngrok.io/create-hook الذي استخدمناه لـ WhatsApp!
سيعمل هذا لأن كود المعالجة دائمًا يستخدم معرف المحادثة من tải هوك بدلاً من معرف قناة محدد. API MessageBird للمحادثات سوف يحدد القناة للمحادثة لإرسال رسالتك إليها تلقائيًا.
هل تريد إنشاء الروبوت الخاص بك؟ تحقق من الكود الكامل على Github: Wabot على Github، واطلب الوصول المبكر إلى WhatsApp من خلال زيارة صفحة WhatsApp والنقر على زر اتصل بالمبيعات لملء النموذج. بوت سعيد!



