توضّح هذه الصفحة كيفية إعداد ردّ تلقائي على الويب لإرسال رسائل غير متزامنة إلى "مساحة Chat" باستخدام عوامل تشغيل خارجية. على سبيل المثال، يمكنك ضبط تطبيق مراقبة لإشعار الموظفين قيد الطلب على Chat عند تعطُّل الخادم. لإرسال رسالة متزامنة باستخدام تطبيق Chat، راجِع المقالة إرسال رسالة.
باستخدام هذا النوع من تصميم البنية، لا يمكن للمستخدمين التفاعل مع الرد التلقائي على الويب أو التطبيق الخارجي المرتبط لأن التواصل أحادي الاتجاه. الردود التلقائية على الويب ليست حوارية. لا يمكنهم الردّ على الرسائل أو تلقّيها من المستخدمين أو أحداث التفاعل مع تطبيقات Chat. للردّ على الرسائل، عليك إنشاء تطبيق على Chat بدلاً من ردّ تلقائي على الويب.
على الرغم من أنّ الردّ التلقائي على الويب ليس تطبيقًا من تطبيقات Chat من الناحية الفنية، تربط الردود التلقائية على الويب التطبيقات باستخدام طلبات HTTP العادية، إلا أنّ هذه الصفحة تشير إليه على أنّه تطبيق Chat للتبسيط. لا يعمل كل ردّ تلقائي على الويب إلا في "مساحة Chat" التي تم تسجيله فيها. تعمل الردود التلقائية الواردة على الويب في الرسائل المباشرة، ولكن فقط عند تفعيل تطبيقات Chat لجميع المستخدمين. لا يمكنك نشر الردود التلقائية على الويب على Google Workspace Marketplace.
يعرض المخطّط التالي بنية الرد التلقائي على الويب المرتبط بتطبيق Chat:
في المخطّط السابق، يتضمّن تطبيق Chat تدفق المعلومات التالي:
- يتلقى منطق تطبيق Chat معلومات من خدمات خارجية، مثل نظام إدارة المشاريع أو أداة إصدار التذاكر.
- تتم استضافة منطق تطبيق Chat إما في السحابة الإلكترونية أو نظام داخل المؤسسة يمكنه إرسال الرسائل باستخدام عنوان URL للردّ التلقائي على الويب إلى مساحة Chat محدّدة.
- يمكن للمستخدمين تلقّي الرسائل من تطبيق Chat في مساحة Chat المحدّدة هذه، ولكن لا يمكنهم التفاعل مع تطبيق Chat.
المتطلبات الأساسية
Python
- Python 3.10.7 أو أحدث
- حساب على Google Workspace لديه إذن بالوصول إلى Chat
- مشروع على Google Cloud:
- احرص على تفعيل الفوترة لمشروعك على Cloud. تعرَّف على كيفية التحقّق من حالة الفوترة لمشاريعك.
- مساحة Chat حالية
مكتبة "
httplib2
" إذا لزم الأمر، شغِّل الأمر التالي لواجهة سطر الأوامر (CLI) لتثبيت المكتبة باستخدامpip
:pip install httplib2
Node.js
- تم تثبيت Node.js وnpm.
- حساب على Google Workspace لديه إذن بالوصول إلى Chat
- مشروع على Google Cloud:
- احرص على تفعيل الفوترة لمشروعك على Cloud. تعرَّف على كيفية التحقّق من حالة الفوترة لمشاريعك.
- مساحة Chat حالية
Java
- الإصدار 11 من لغة Java أو إصدار أحدث
- Apache Maven
- حساب على Google Workspace لديه إذن بالوصول إلى Chat
- مشروع على Google Cloud:
- احرص على تفعيل الفوترة لمشروعك على Cloud. تعرَّف على كيفية التحقّق من حالة الفوترة لمشاريعك.
- مساحة Chat حالية
برمجة تطبيقات
- حساب على Google Workspace لديه إذن بالوصول إلى Chat
- مساحة 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
، الصق الرمز التالي:استبدِل قيمة المتغيّر
WEBHOOK_URL
بعنوان URL للردّ التلقائي على الويب الذي نسخته عند تسجيل الردّ التلقائي على الويب.
Node.js
في دليل العمل، أنشِئ ملفًا باسم
index.js
.في
index.js
، الصق الرمز التالي:استبدِل قيمة المتغيّر
webhookURL
بعنوان URL للردّ التلقائي على الويب الذي نسخته عند تسجيل الردّ التلقائي على الويب.
Java
في دليل العمل، أنشِئ ملفًا باسم
pom.xml
.في
pom.xml
، انسخ والصق ما يلي:في دليل العمل، أنشئ بنية الدليل التالية
src/main/java
.في دليل
src/main/java
، أنشِئ ملفًا باسمApp.java
.في
App.java
، الصق الرمز التالي:استبدِل قيمة المتغيّر
URL
بعنوان URL للردّ التلقائي على الويب الذي نسخته عند تسجيل الردّ التلقائي على الويب.
برمجة تطبيقات
في المتصفِّح، انتقِل إلى برمجة التطبيقات.
انقر على مشروع جديد.
الصق الرمز التالي:
استبدِل قيمة المتغيّر
url
بعنوان URL للردّ التلقائي على الويب الذي نسخته عند تسجيل الردّ التلقائي على الويب.
تشغيل النص البرمجي للردّ التلقائي على الويب
في واجهة سطر الأوامر (CLI)، شغِّل النص البرمجي:
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
.
يبدأ نموذج الرمز التالي سلسلة محادثات أو يردّ عليها: