בדף הזה מוסבר איך מגדירים תגובה לפעולה מאתר אחר (webhook) כדי לשלוח הודעות אסינכרוניות למרחב משותף ב-Chat באמצעות טריגרים חיצוניים. לדוגמה, אתם יכולים להגדיר אפליקציית מעקב שתיידע את אנשי הצוות ב-Chat כששרת נפל. במאמר שליחת הודעה תוכלו לקרוא איך שולחים הודעות סנכרוניות עם אפליקציית Chat.
כשמשתמשים בארכיטקטורה מהסוג הזה, המשתמשים לא יכולים לתקשר עם התגובה לפעולה מאתר אחר (webhook) או עם האפליקציה החיצונית שמקושרת אליה, כי התקשורת היא חד-כיוונית. תגובות לפעולה מאתר אחר (webhook) הן לא כלי שיחה. הם לא יכולים לענות להודעות ממשתמשים או לקבל אירועי אינטראקציה באפליקציות צ'אט. כדי לענות להודעות, צריך ליצור אפליקציה ל-Chat במקום webhook.
תגובה לפעולה מאתר אחר (webhook) היא לא אפליקציה של Chat – מבחינה טכנית, התגובות האלה מחברים אפליקציות באמצעות בקשות HTTP רגילות, אבל הדף הזה מתייחס לאפליקציה של Chat כדי לפשט את הדברים. כל webhook פועל רק במרחב המשותף ב-Chat שבו הוא רשום. webhooks נכנסים פועלים בצ'אטים אישיים, אבל רק אם לכל המשתמשים הופעלו אפליקציות ל-Chat. אי אפשר לפרסם webhooks ב-Google Workspace Marketplace.
בתרשים הבא מוצגת הארכיטקטורה של תגובה לפעולה מאתר אחר (webhook) שמחוברת ל-Chat:
בתרשים הקודם, אפליקציית Chat כוללת את זרימת המידע הבאה:
- הלוגיקה של אפליקציית Chat מקבלת מידע משירותי צד שלישי חיצוניים, כמו מערכת לניהול פרויקטים או כלי כרטיסים.
- הלוגיקה של אפליקציית Chat מתארחת בענן או במערכת מקומית שיכולה לשלוח הודעות באמצעות webhook URL למרחב משותף ספציפי ב-Chat.
- המשתמשים יכולים לקבל הודעות מאפליקציית Chat במרחב המשותף הספציפי הזה ב-Chat, אבל לא להיות בקשר איתה.
דרישות מוקדמות
Python
- חשבון Google Workspace עם גישה ל-Chat. הארגון שלכם ב-Google Workspace צריך לאפשר למשתמשים להוסיף webhooks נכנסים ולהשתמש בהם.
- Python 3.10.7 ומעלה.
ספריית
httplib2
. במידת הצורך, מריצים את הפקודה הבאה לממשק שורת הפקודה (CLI) כדי להתקין את הספרייה באמצעותpip
:pip install httplib2
מרחב משותף קיים ב-Chat.
Node.js
- חשבון Google Workspace עם גישה ל-Chat. הארגון שלכם ב-Google Workspace צריך לאפשר למשתמשים להוסיף webhooks נכנסים ולהשתמש בהם.
- Node.js ו-npm מותקנים.
- מרחב משותף קיים ב-Chat.
Java
- חשבון Google Workspace עם גישה ל-Chat. הארגון שלכם ב-Google Workspace מאפשר למשתמשים להוסיף webhooks נכנסים ולהשתמש בהם.
- Java 11 ומעלה.
- Apache Maven
- מרחב משותף קיים ב-Chat.
Apps Script
- חשבון Google Workspace עם גישה ל-Chat. הארגון שלכם ב-Google Workspace מאפשר למשתמשים להוסיף webhooks נכנסים ולהשתמש בהם.
- מרחב משותף קיים ב-Chat.
יצירת תגובה לפעולה מאתר אחר (webhook)
כדי ליצור webhook, צריך לרשום אותה במרחב המשותף ב-Chat שבו רוצים לקבל הודעות, ואז לכתוב סקריפט ששולח הודעות.
רישום ה-webhook הנכנס
- פותחים את Chat בדפדפן. אי אפשר להגדיר תגובות לפעולה מאתר אחר (webhook) דרך אפליקציית Chat לנייד.
- עוברים למרחב המשותף שבו רוצים להוסיף webhook.
- ליד השם של המרחב המשותף, לוחצים על החץ להרחבה ואז על אפליקציות ושילובים.
לוחצים על
הוספת webhooks.בשדה שם מזינים
Quickstart Webhook
.בשדה כתובת URL של הדמות, מזינים את הערך
https://developers.google.com/chat/images/chat-product-icon.png
.לוחצים על שמירה.
כדי להעתיק את ה-webhook URL, לוחצים על
More ואז על Copy link.
כתיבת סקריפט של תגובה לפעולה מאתר אחר (webhook)
כדוגמה לסקריפט webhook URL, נשלחת בקשת POST
למרחב המשותף שבו ה-webhook URL. ה-Chat API מגיב באמצעות מופע של Message
.
יש לבחור שפה כדי ללמוד איך ליצור סקריפט של תגובה לפעולה מאתר אחר (webhook):
Python
בספריית העבודה, יוצרים קובץ בשם
quickstart.py
.ב-
quickstart.py
, מדביקים את הקוד הבא:מחליפים את הערך של המשתנה
url
בכתובת ה-webhook URL שהעתקתם כשרשמתם את ה-webhook.
Node.js
בספריית העבודה, יוצרים קובץ בשם
index.js
.ב-
index.js
, מדביקים את הקוד הבא:מחליפים את הערך של המשתנה
url
בכתובת ה-webhook URL שהעתקתם כשרשמתם את ה-webhook.
Java
בספריית העבודה, יוצרים קובץ בשם
pom.xml
.ב-
pom.xml
, מעתיקים ומדביקים את הפריטים הבאים:בספריית העבודה, יוצרים את המבנה הבא של הספריות
src/main/java
.בספרייה
src/main/java
, יוצרים קובץ בשםApp.java
.ב-
App.java
, מדביקים את הקוד הבא:מחליפים את הערך של המשתנה
URL
בכתובת ה-webhook URL שהעתקתם כשרשמתם את ה-webhook.
Apps Script
בדפדפן, נכנסים אל Apps Script.
לוחצים על פרויקט חדש.
מדביקים את הקוד הבא:
מחליפים את הערך של המשתנה
url
בכתובת ה-webhook URL שהעתקתם כשרשמתם את ה-webhook.
הפעלת הסקריפט של התגובה לפעולה מאתר אחר (webhook)
ב-CLI, מריצים את הסקריפט:
Python
python3 quickstart.py
Node.js
node index.js
Java
mvn compile exec:java -Dexec.mainClass=App
Apps Script
- לוחצים על Run.
כשמריצים את הקוד, התגובה לפעולה מאתר אחר (webhook) שולחת הודעה למרחב המשותף שבו היא רשמתם.
התחלת שרשור הודעות או מענה עליו
צריך לציין את
spaces.messages.thread.threadKey
כחלק מגוף הבקשה להודעה. מזינים את הערכים הבאים בשרשורthreadKey
, בהתאם להתחלה של שרשור או לשליחת תשובה לשרשור:אם אתם מתחילים שרשור, צריך להגדיר את
threadKey
כמחרוזת שרירותית, אבל לרשום את הערך הזה כדי לפרסם תשובה לשרשור.כשאתם עונים לשרשור, צריך לציין את הערך של
threadKey
שהוגדר כשהשרשור התחיל. לדוגמה, כדי לפרסם תשובה בשרשור שבו ההודעה הראשונה השתמשה ב-MY-THREAD
, צריך להגדיר את הערךMY-THREAD
.
הגדרת התנהגות השרשור אם השדה
threadKey
שצוין לא נמצא:לענות לשרשור או להתחיל שרשור חדש. מוסיפים את הפרמטר
messageReplyOption=REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
ל-webhook URL. העברת הפרמטר הזה של כתובת ה-URL גורמת ל-Chat לחפש שרשור קיים באמצעותthreadKey
שצוין. אם תימצא הודעה, היא תפורסם כתשובה לשרשור הזה. אם לא נמצא אף אחד מהם, ההודעה תתחיל שרשור חדש שתואם לאותוthreadKey
.לענות לשרשור או לא לעשות כלום. מוסיפים את הפרמטר
messageReplyOption=REPLY_MESSAGE_OR_FAIL
ל-webhook URL. העברת הפרמטר הזה של כתובת ה-URL גורמת ל-Chat לחפש שרשור קיים באמצעותthreadKey
שצוין. אם תימצא הודעה, היא תפורסם כתשובה לשרשור הזה. אם לא נמצאה התאמה, ההודעה לא תישלח.
מידע נוסף זמין בכתובת
messageReplyOption
.
דוגמת הקוד הבאה מתחילה בשרשור הודעות או עונה לשרשור: