عملیات همزمان و ناهمزمان در RBM
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
این سند توضیح می دهد که چگونه پلت فرم RBM ارسال پیام و سایر تعاملات API را مدیریت می کند و بین عملیات همزمان و ناهمزمان تمایز قائل می شود.
تعاملات API RBM معمولاً از یک الگوی درخواست-پاسخ همزمان در سطح HTTP پیروی می کند. با این حال، نتایج بسیاری از تماسهای API، بهویژه تحویل پیام، بهصورت ناهمزمان از طریق webhookها انجام میشود. برای جزئیات بیشتر به بخش های زیر مراجعه کنید.
ارسال پیام: درخواست همزمان، تحویل ناهمزمان
درخواست 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: رویدادهای ناهمزمان
رویدادهای زیر به صورت ناهمزمان به نقطه پایانی وب هوک شما تحویل داده می شوند:
- پیامهای کاربر ورودی : پلت فرم RBM پیامهای کاربر ورودی را به نقطه پایانی وب هوک شما هدایت میکند. حتما پیام های دریافتی را تأیید کنید .
- رسیدهای تحویل و خواندن : اعلان های تحویل پیام و وضعیت خواندن از طریق وب هوک ارسال می شود.
- رویدادهای مکالمه : برخی رویدادهای مربوط به مکالمه، مانند نشانگرهای تایپ، از طریق وبکهک ها ارسال می شوند.
- رویدادهای انقضا و ابطال پیام : پلت فرم RBM رویدادها را برای تأیید اینکه آیا یک پیام منقضی شده با موفقیت لغو شده است ارسال می کند.
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2025-02-10 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-02-10 بهوقت ساعت هماهنگ جهانی."],[[["\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."]]