new_releases עדכונים: בדקו את
נתוני הגרסה כדי לגלות תכונות חדשות ועדכוני מוצרים.
פעולות סינכרוניות ואסינכרוניות ב-RBM
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
במסמך הזה מוסבר איך פלטפורמת RBM מטפלת בשליחת הודעות ובאינטראקציות אחרות עם ממשקי API, תוך הבחנה בין פעולות סינכרוניות לבין פעולות אסינכררוניות.
אינטראקציות של RBM API פועלות בדרך כלל לפי דפוס של בקשה-תגובה סינכרוני ברמת ה-HTTP. עם זאת, התוצאות של הרבה קריאות ל-API, במיוחד שליחת הודעות, מטופלות באופן אסינכרוני באמצעות webhooks. פרטים נוספים מופיעים בקטעים הבאים.
שליחת הודעות: בקשה סנכרונית, העברה אסינכרונית
בקשת ה-API של phones.agentMessages.create
מעובדת באופן סנכרוני מנקודת המבט של ה-API. כששולחים בקשת HTTP לפלטפורמת RBM, השרת משיב כמעט באופן מיידי עם קוד סטטוס HTTP רגיל (כמו 200 OK
או שגיאה) כדי לציין אם הבקשה התקבלה ותקפה.
עם זאת, ההעברה בפועל של ההודעה למשתמש הקצה מתבצעת באופן אסינכרוני. הגורמים הבאים יכולים להשפיע על התהליך הזה:
- סטטוס הנמען: יכול להיות שהמשתמש לא מחובר לאינטרנט, שהסוללה שלו ריקה או שהוא לא הפעיל את RCS.
- תנאי הרשת: בעיות ברשת הסלולר של הספק יכולות לעכב או למנוע את העברת ההודעות.
פלטפורמת RBM מספקת עדכונים על סטטוס השליחה של הודעות (כמו אישורי מסירה ואישורי קריאה) באופן אסינכררוני באמצעות webhooks.
לכן, בעוד שבקשת ה-API הראשונית היא סינכרונית, צריך להסתמך על אירועים אסינכררוניים של webhook כדי לעקוב אחר שליחת ההודעות. אל תצפו לאישור מיידי של סטטוס המסירה בתגובה להודעה phones.agentMessages.create
.
אינטראקציות אחרות עם RBM API
רוב ממשקי ה-API האחרים של RBM מבוססי-HTTP פועלים גם לפי מודל של בקשה-תגובה סינכרוני. ממשקי ה-API האלה מספקים תגובת HTTP מיידית שמציינת את סטטוס הבקשה (הצלחה או שגיאה). עם זאת, למרות שהבקשה היא סנכרונית, הפעולות שמתקבלות כתוצאה ממנה עשויות לכלול תהליכים לא סנכרוניים.
לדוגמה, קבלת תשובה מוצלחת לקריאה ל-API לעדכון פרטי הנציג לא אומרת שהעדכון ישתקף באופן מיידי בכל מקום. יכול להיות עיכוב קצר בהפצה.
נקודת קצה של webhook: אירועים אסינכרונים
האירועים הבאים מועברים באופן אסינכרוני לנקודת הקצה של webhook:
- הודעות נכנסות ממשתמשים: פלטפורמת RBM דוחפת הודעות נכנסות ממשתמשים לנקודת הקצה של ה-webhook. חשוב לאמת הודעות נכנסות.
- אישורי שליחה וקריאה: התראות על שליחת הודעות ועל סטטוס הקריאה שלהן נשלחות דרך webhooks.
- אירועי שיחה: אירועים מסוימים שקשורים לשיחה, כמו אינדיקטורים של הקלדה, נשלחים דרך webhooks.
- אירועי תפוגה וביטול של הודעות: פלטפורמת RBM שולחת אירועים כדי לוודא שהודעה שפג תוקפה בוטלה בהצלחה.
אלא אם צוין אחרת, התוכן של דף זה הוא ברישיון Creative Commons Attribution 4.0 ודוגמאות הקוד הן ברישיון Apache 2.0. לפרטים, ניתן לעיין במדיניות האתר Google Developers. Java הוא סימן מסחרי רשום של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-02-10 (שעון UTC).
[null,null,["עדכון אחרון: 2025-02-10 (שעון UTC)."],[[["\u003cp\u003eRBM API interactions use a synchronous request-response model at the HTTP level, providing immediate feedback on request validity.\u003c/p\u003e\n"],["\u003cp\u003eMessage delivery in the RBM platform is processed asynchronously, relying on webhooks for updates due to factors like recipient status and network conditions.\u003c/p\u003e\n"],["\u003cp\u003eWhile the initial API request for sending messages is synchronous, delivery and read receipts are provided asynchronously through webhook events.\u003c/p\u003e\n"],["\u003cp\u003eOther RBM API interactions follow a synchronous pattern for request handling, but resulting actions may involve asynchronous processes with potential delays.\u003c/p\u003e\n"],["\u003cp\u003eThe RBM platform delivers various asynchronous events, such as incoming user messages, delivery receipts, and conversation updates, through a designated webhook endpoint.\u003c/p\u003e\n"]]],[],null,["# Synchronous and asynchronous operations in RBM\n\nThis document clarifies how the RBM platform handles message sending and other\nAPI interactions, distinguishing between synchronous and asynchronous\noperations.\n\nRBM API interactions generally follow a synchronous request-response pattern at\nthe HTTP level. However, the results of many API calls, especially message\ndelivery, are handled asynchronously through webhooks. Refer to the following\nsections for details.\n\nMessage sending: Synchronous request, asynchronous delivery\n-----------------------------------------------------------\n\nThe [`phones.agentMessages.create`](/business-communications/rcs-business-messaging/reference/rest/v1/phones.agentMessages/create)\nAPI request is processed **synchronously** from the API\nperspective. When you make an HTTP request to the RBM platform, the server\nresponds almost immediately with a standard HTTP status code\n(like `200 OK` or an error) to indicate whether the request was\nreceived and is valid.\n\nHowever, the actual delivery of the message to the end user is\nprocessed **asynchronously**. The following factors can affect this process:\n\n- **Recipient status**: The user might be offline, have an empty battery, or not have RCS enabled.\n- **Network conditions**: Carrier network issues can delay or prevent message delivery.\n\nThe RBM platform provides message delivery status updates (like delivery\nreceipts and read receipts) asynchronously through\n[webhooks](/business-communications/rcs-business-messaging/guides/integrate/webhooks).\nTherefore, while the initial API request is synchronous, you should rely on\nasynchronous webhook [events](/business-communications/rcs-business-messaging/guides/build/events#agent-generated_events)\nto track message delivery. Don't expect immediate confirmation of delivery\nstatus from the\n[`phones.agentMessages.create`](/business-communications/rcs-business-messaging/reference/rest/v1/phones.agentMessages/create)\nresponse.\n\n### Other RBM API interactions\n\nMost other HTTP-based RBM APIs also operate with a synchronous request-response\nmodel. These APIs provide an immediate HTTP response that indicates the status\nof the request (success or error). However, while the request is synchronous,\nthe actions resulting from the request might involve asynchronous processes.\nFor example, a successful response to an API call to update agent information\ndoesn't mean the update is instantly reflected everywhere; there might be a\nshort propagation delay.\n\nWebhook endpoint: Asynchronous events\n-------------------------------------\n\nThe following [events](/business-communications/rcs-business-messaging/guides/build/events#agent-generated_events)\nare delivered asynchronously to your [webhook](/business-communications/rcs-business-messaging/guides/integrate/webhooks)\nendpoint:\n\n- **Incoming user messages** : The RBM platform pushes incoming user messages to your webhook endpoint. Be sure to [verify incoming messages](/business-communications/rcs-business-messaging/guides/integrate/webhooks#verify_incoming_messages).\n- **Delivery and read receipts**: Notifications of message delivery and read status are sent through webhooks.\n- **Conversation events**: Some conversation-related events, such as typing indicators, are sent through webhooks.\n- **Message expiration and revocation events**: The RBM platform sends events to confirm whether an expired message was successfully revoked."]]