توضّح هذه الصفحة كيفية إعداد رابط ويب لطلب بيانات من أجل إرسال رسائل غير متزامنة إلى مساحة Chat باستخدام عوامل تشغيل خارجية. على سبيل المثال، يمكنك ضبط تطبيق مراقبة لإرسال إشعار إلى الموظفين قيد الطلب على Chat عند تعطُّل أحد الخوادم. لإرسال رسالة متزامنة باستخدام تطبيق Chat، راجِع إرسال رسالة.
مع هذا النوع من التصميم الهندسي، لا يمكن للمستخدمين التفاعل مع الرد التلقائي على الويب أو التطبيق الخارجي المتصل لأن الاتصال أحادي الاتجاه. لا تُستخدم طلبات الويب في المحادثات. ولا يمكنهم الردّ على الرسائل الواردة من المستخدمين أو تلقّيها أو أحداث التفاعل مع تطبيق Chat. للردّ على الرسائل، أنشئ تطبيق Chat بدلاً من رابط ويب.
على الرغم من أنّ وحدات الربط لا تشكّل من الناحية الفنية تطبيق Chat، إذ تربط وحدات الربط التطبيقات باستخدام طلبات HTTP العادية، تشير هذه الصفحة إلى وحدات الربط على أنّها تطبيق Chat بهدف التبسيط. لا يعمل كل رابط ويب إلى خادم webhook إلا في مساحة Chat التي تم تسجيله فيها. تعمل الردود التلقائية الواردة على الويب في الرسائل المباشرة، ولكن فقط عند تفعيل تطبيقات Chat لجميع المستخدمين. لا يمكنك نشر وحدات الربط بالويب في Google Workspace Marketplace.
يوضّح المخطّط التالي بنية ردّ تلقائي على الويب متصل بـ Chat:
في المخطّط البياني السابق، يتضمّن تطبيق Chat مجرى الاطلاع على المعلومات التالي:
- يتلقّى منطق تطبيق Chat معلومات من خدمات خارجية تابعة لجهات خارجية، مثل نظام إدارة المشاريع أو أداة إدارة الطلبات.
- تتم استضافة منطق تطبيق Chat في سحابة إلكترونية أو نظام داخل الشركة يمكنه إرسال الرسائل باستخدام عنوان URL للردّ التلقائي على الويب إلى مساحة Chat محدَّدة.
- يمكن للمستخدمين تلقّي الرسائل من تطبيق Chat في "مساحة Chat" المحدّدة، ولكن لا يمكنهم التفاعل مع تطبيق Chat.
المتطلبات الأساسية
Python
- حساب على Google Workspace من فئة Business أو Enterprise يتيح الوصول إلى Google Chat يجب أن تسمح مؤسستك على Google Workspace للمستخدمين بإضافة الردود التلقائية الواردة على الويب واستخدامها.
- Python 3.6 أو أعلى
- أداة إدارة الحِزم pip
مكتبة
httplib2
لتثبيت المكتبة، شغِّل الأمر التالي في واجهة سطر الأوامر:pip install httplib2
مساحة في Google Chat لإنشاء مساحة باستخدام Google Chat API، اطّلِع على مقالة إنشاء مساحة. لإنشاء حساب في Chat، انتقِل إلى مستندات مركز المساعدة.
Node.js
- حساب Business أو Enterprise Google Workspace لديه إذن بالوصول إلى Google Chat. يجب أن تسمح مؤسستك على Google Workspace للمستخدمين بإضافة طلبات الحصول على بيانات من تطبيقات على الويب واستخدامها.
- الإصدار 14 من Node.js أو إصدار أحدث
- أداة إدارة الحِزم npm
- مساحة في Google Chat لإنشاء مساحة باستخدام Google Chat API، اطّلِع على مقالة إنشاء مساحة. لإنشاء حساب في Chat، يُرجى الانتقال إلى مستندات مركز المساعدة.
Java
- حساب على Google Workspace من فئة Business أو Enterprise يتيح الوصول إلى Google Chat يجب أن تسمح مؤسستك على Google Workspace للمستخدمين بإضافة طلبات الحصول على بيانات من تطبيقات على الويب واستخدامها.
- Java 11 أو إصدار أحدث
- أداة إدارة الحِزم Maven
- مساحة في Google Chat لإنشاء مساحة باستخدام Google Chat API، اطّلِع على مقالة إنشاء مساحة. لإنشاء حساب في Chat، انتقِل إلى مستندات مركز المساعدة.
برمجة تطبيقات
- حساب Business أو Enterprise Google Workspace لديه إذن بالوصول إلى Google Chat. يجب أن تسمح مؤسستك على Google Workspace للمستخدمين بإضافة طلبات الحصول على بيانات من تطبيقات على الويب واستخدامها.
- أنشئ مشروعًا مستقلاً في Apps Script، وفعِّل خدمة Chat المتقدّمة.
- مساحة في Google Chat لإنشاء مساحة باستخدام Google Chat API، اطّلِع على مقالة إنشاء مساحة. لإنشاء حساب في Chat، يُرجى الانتقال إلى مستندات مركز المساعدة.
إنشاء رابط ويب
لإنشاء ردّ تلقائي على الويب، سجِّله في مساحة Chat التي تريد تلقّي الرسائل فيها، ثم اكتب نصًا برمجيًا يُرسِل الرسائل.
تسجيل الردّ التلقائي الوارد على الويب
- في المتصفّح، افتح Chat. لا يمكن ضبط الردود التلقائية على الويب من تطبيق Chat المتوافق مع الأجهزة الجوّالة.
- انتقِل إلى المساحة التي تريد إضافة رابط ويب إلى خادمها.
- بجانب عنوان المساحة، انقر على سهم توسيع المزيد في ، ثم انقر على التطبيقات وعمليات الدمج.
انقر على
إضافة وحدات ربط تطبيقات ويب.في حقل الاسم، أدخِل
Quickstart Webhook
.في الحقل عنوان URL للصورة الرمزية، أدخِل
https://developers.google.com/chat/images/chat-product-icon.png
.انقر على حفظ.
لنسخ عنوان URL للردّ التلقائي على الويب، انقر على
المزيد، ثم انقر على نسخ الرابط.
كتابة نص الردّ التلقائي على الويب
يرسل نموذج النص البرمجي للردّ التلقائي على الويب رسالة إلى المساحة التي تم فيها تسجيل الردّ التلقائي على الويب من خلال إرسال طلب POST
إلى عنوان URL للردّ التلقائي على الويب. تردّ واجهة برمجة التطبيقات
Chat API بمثيل من
Message
.
اختَر لغة لمعرفة كيفية إنشاء نص برمجي للردّ التلقائي على الويب:
Python
في دليل العمل، أنشئ ملفًا باسم
quickstart.py
.في
quickstart.py
، الصق الرمز التالي:استبدِل قيمة المتغيّر
url
بعنوان URL للرابط الخارجي الذي نسخته عند تسجيل الرابط الخارجي.
Node.js
في دليل العمل، أنشئ ملفًا باسم
index.js
.في
index.js
، الصق الرمز التالي:استبدِل قيمة المتغيّر
url
بعنوان URL للردّ التلقائي على الويب الذي نسخته عند تسجيل الردّ التلقائي على الويب.
Java
في دليل العمل، أنشِئ ملفًا باسم "
pom.xml
".في
pom.xml
، انسخ والصق ما يلي:في دليل العمل، أنشِئ بنية الدليل التالية
src/main/java
.في الدليل
src/main/java
، أنشئ ملفًا باسمApp.java
.في
App.java
، الصِق الرمز التالي:استبدِل قيمة المتغيّر
URL
بعنوان URL لنقطة الاتصال التي نسختها عند تسجيل نقطة الاتصال.
برمجة تطبيقات
في المتصفِّح، انتقِل إلى برمجة التطبيقات.
انقر على مشروع جديد.
الصِق الرمز البرمجي التالي:
استبدِل قيمة المتغيّر
url
بعنوان URL لنقطة الاتصال التي نسختها عند تسجيل نقطة الاتصال.
تشغيل النص البرمجي لنقطة اتصال webhook
في وحدة تحكّم لواجهة سطر الأوامر، شغِّل النص البرمجي:
Python
python3 quickstart.py
Node.js
node index.js
Java
mvn compile exec:java -Dexec.mainClass=App
برمجة تطبيقات
- انقر على تشغيل.
عند تشغيل الرمز، يرسل الردّ التلقائي على الويب رسالة إلى المساحة التي سجّلته فيها.
بدء سلسلة محادثات أو الردّ عليها
حدِّد
spaces.messages.thread.threadKey
كجزء من نص طلب الرسالة. استنادًا إلى ما إذا كنت تبدأ سلسلة محادثات أو تردّ عليها، استخدِم القيم التالية للسمةthreadKey
:في حال بدء سلسلة محادثات، اضبط
threadKey
على سلسلة عشوائية، ولكن دوِّن هذه القيمة لنشر ردّ على سلسلة المحادثات.في حال الردّ على سلسلة محادثات، حدِّد
threadKey
الذي تم ضبطه عند بدء السلسلة. على سبيل المثال، لنشر ردّ على سلسلة المحادثات التي استخدمت فيها الرسالة الأوليةMY-THREAD
، اضبط السمةMY-THREAD
.
يمكنك تحديد سلوك سلسلة المحادثات في حال عدم العثور على سمة
threadKey
المحدّدة:الرد على سلسلة محادثات أو بدء سلسلة محادثات جديدة أضِف المَعلمة
messageReplyOption=REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
إلى عنوان URL للردّ التلقائي على الويب. يؤدي تمرير مَعلمة عنوان URL هذه إلى أن تبحث Chat عن سلسلة محادثات حالية باستخدامthreadKey
المحدّد. وفي حال العثور على سلسلة محادثات، يتم نشر الرسالة كردّ على تلك السلسلة. إذا لم يتم العثور على أي منها، تبدأ الرسالة سلسلة محادثات جديدة مرتبطة بذلكthreadKey
.يمكنك الردّ على سلسلة محادثات أو عدم اتّخاذ أي إجراء. أضِف المَعلمة
messageReplyOption=REPLY_MESSAGE_OR_FAIL
إلى عنوان URL للردّ التلقائي على الويب. يؤدي تمرير مَعلمة عنوان URL هذه إلى أن تبحث Chat عن سلسلة محادثات حالية باستخدامthreadKey
المحدّد. في حالة العثور على مشاركة، يتم نشر الرسالة كرد على سلسلة المحادثات هذه. وإذا لم يتم العثور على أي منها، لن يتم إرسال الرسالة.
لمزيد من المعلومات، يُرجى الاطّلاع على
messageReplyOption
.
يبدأ نموذج الرمز البرمجي التالي سلسلة محادثات أو يردّ عليها:
Python
Node.js
برمجة تطبيقات
معالجة الأخطاء
قد يتعذّر إتمام طلبات وحدات الربط بالويب لأسباب مختلفة، بما في ذلك:
- الطلب غير صالح.
- تم حذف الرد التلقائي على الويب أو المساحة التي تستضيف الرد التلقائي على الويب.
- المشاكل المتقطّعة، مثل مشاكل الاتصال بالشبكة أو حدود الحصة
عند إنشاء الردّ التلقائي على الويب، عليك معالجة الأخطاء بشكلٍ مناسب من خلال:
- تسجيل الخطأ
- في حال حدوث أخطاء مستندة إلى الوقت أو الحصة أو الاتصال بالشبكة، يُعاد تقديم الطلب باستخدام خوارزمية الرقود الأسي الثنائي.
- عدم اتّخاذ أي إجراء، وهو مناسب إذا لم يكن إرسال رسالة webhook مهمًا
تعرض Google Chat API الأخطاء على هيئة google.rpc.Status
،
التي تتضمّن خطأ HTTP code
الذي يشير إلى نوع الخطأ الذي حدث: خطأ في العميل (سلسلة 400) أو خطأ في الخادم (سلسلة 500). لاطلاع على
جميع عمليات الربط ببروتوكول HTTP، اطّلِع على
google.rpc.Code
.
{
"code": 503,
"message": "The service is currently unavailable.",
"status": "UNAVAILABLE"
}
للتعرّف على كيفية تفسير رموز حالة HTTP والتعامل مع الأخطاء، اطّلِع على الأخطاء.
القيود والاعتبارات
- عند إنشاء رسالة
باستخدام رابط ويب في Google Chat API، لا يحتوي الردّ على الرسالة الكاملة.
لا يعبّئ الردّ سوى الحقلين
name
وthread.name
.