برای مطلع شدن در لحظه از اتفاقاتی که در دیوار رخ میدهد میتوانید از این سرویس استفاده کنید. دقت کنید که سرویس، نسخهی آزمایشی هست و ممکن است در آینده دچار تغییرات Backward incompatible شود.
برای مطلع شدن از یک رویداد، ابتدا باید درخواستی برای گوش دادن به آن ارسال کنید. در صورت موفق بودن این درخواست، تا زمان معتبر بودن دسترسی شما به آن رویداد، هر زمانی که آن رویداد رخ دهد، کنار برنامهی شما را از طریق یک درخواست HTTP (Webhook) مطلع میکند.
دقت کنید که برای دریافت رویدادها باید برای برنامهی خود یک آدرس دریافت رویدادهای معتبر ست کنید.
برای ارسال این درخواست برنامهی شما باید دسترسی EVENTS_REGISTER_SUBSCRIPTION
را داشته باشد.
دقت کنید که این یک دسترسی OAuth نیست
همچنین برای گوش دادن به هر نوع رویداد، دسترسی Oauth متناظر با آن نیز باید در توکن همراه آگهی وجود داشته باشد.
در صورت موفق بودن این درخواست، شما تا زمان معتبر بودن توکن تان از رویدادهای درخواستی مطلع خواهید شد. بدیهی است که با توجه به تغییر توکن در زمان رفرش کردن آن، در صورت نیاز باید درخواست جدیدی برای مطلع شدن از رویدادهای بفرستید.
نوع رویداد | دسترسی Oauth متناظر | توضیحات |
---|---|---|
NEW_MESSAGE_ON_POST | CHAT_POST_CONVERSATIONS_READ. |
مطلع شدن از پیامهای جدید بر روی چت یک آگهی. فقط برای آگهی گذار |
NEW_MESSAGE_ON_POST | CHAT_SUPPLIER_ALL_CONVERSATIONS_READ |
مطلع شدن از پیامهای جدید بر روی تمام چتهای تمام آگهیهای یک فرد. فقط برای چت های مربوط به آگهی گذار |
پارامتر | نوع | توضیحات |
---|---|---|
event_type |
string | یک نوع رویداد معتبر. برای مثال NEW_MESSAGE_ON_POST |
event_resource_id |
string | شناسهی موجودیتی که میخواهید از رویدادهای آن مطلع شود. برای مثال توکن یک آگهی |
```http request POST https://api.divar.ir/v1/open-platform/events/subscriptions Content-Type: application/json x-api-key: x-access-token:
{ “event_type”: “NEW_MESSAGE_ON_POST”, “event_resource_id”: “gZd7omnS”, “metadata”: { “key”: “value” } }
## درخواست ارسالی از سمت کنار دیوار
پس از هر رویدادی که برنامهی شما به آن گوش میدهد، درخواستی از سمت کنار دیوار برای
برنامهی شما به آدرس دریافت رویدادیهای جدید که در پنل کنار ست کردید، فرستاده میشود.
شما باید ابتدا با چک کردن هدر `Authorization` اصالت این درخواست را بررسی کنید. مقدار
این هدر برابر با همان مقداری است که برای هدر شناسایی ریکوئستهای دیوار در پنل ست کردهاید.
```http request
POST https://
Authorization:
Content-Type: application/json
{
"type": "NEW_MESSAGE",
"metadata": {
"key": "value"
},
"new_message": {
"id": "e7a08a2c-8ee4-11ef-af85-4e9e9bfa3c12",
"conversation": {
"id": "edbb9499-cccc-4d35-b21f-621fa95f2b3e",
"type": "POST",
"post_token": "gZd7omnS"
},
"sender": {
"side": "SELLER",
"type": "BOT"
},
"type": "TEXT",
"sent_at": 1729429926140000,
"text": "Hello!"
}
}
| پارامتر | نوع | توضیحات |
|:————-:|:—————————————————:|—————————————————–:|
| type
| EventType | نوع رویداد، برای مثال NEW_MESSAGE
|
| new_message
| Optional[ChatMessage] | پیام جدید. در صورتی که نوع رویداد NEW_MESSAGE
باشد |
| metadata
| Optional[Object] | دیتای دلخواه از سمت برنامهی شما. |
رویداد | توضیحات |
---|---|
NEW_MESSAGE |
پیام جدید در چت |