وبهوکها
پلتفرم رویدادهای تفریحات را از تأمینکننده دریافت میکند و آنها را بهصورت یک API قابل polling در اختیارتان میگذارد؛ پس لازم نیست گیرندهٔ اختصاصی خودتان را راهاندازی کنید.
نیازی به ثبت آدرس callback ندارید. بهجای آن، آخرین وضعیت شناختهشدهٔ یک محصول، نوع محصول یا رزرو را کوئری میکنید. SessionId را بهصورت پارامتر کوئری بفرستید.
خواندن آخرین رویداد#
GET/Activity/v2/webhook-events/{event}/{uuid}
دسترسی نیازمند مجوز activity_webhook_events
نام رویداد و uuid موجودیت را بفرستید. جدیدترین رویداد از آن نوع برای آن موجودیت را دریافت میکنید.
انواع رویداد#
| رویداد | زمان رخ دادن |
|---|---|
product_available | یک محصول در دسترس قرار میگیرد. |
product_updated | محتوای یک محصول تغییر میکند. |
product_type_available | یک نوع محصول در دسترس قرار میگیرد. |
product_type_not_available | یک نوع محصول از دسترس خارج میشود. |
product_type_content_updated | محتوای یک نوع محصول تغییر میکند. |
product_type_pricing_updated | قیمت یک نوع محصول تغییر میکند. |
product_type_availability_updated | ظرفیت یک نوع محصول تغییر میکند. |
booking_status_updated | وضعیت یک رزرو تغییر میکند. |
booking_data_updated | اطلاعات یک رزرو تغییر میکند. |
booking_tickets_updated | بلیتهای یک رزرو تغییر میکنند. |
پارامترهای کوئری#
| نام | نوع | الزامی | پیشفرض | توضیح |
|---|---|---|---|---|
history | boolean | اختیاری | false | بهجای آخرین رویداد، فهرستی از رویدادهای گذشته برمیگرداند. |
limit | integer | اختیاری | 20 | تعداد رویدادهای تاریخچه، از ۱ تا ۵۰. وجود limit بهتنهایی حالت تاریخچه را فعال میکند. |
curl "https://api.simorghapi.com/api/Activity/v2/webhook-events/booking_status_updated/1d59a17e-9726-4283-a5b7-bab7886e4709?SessionId=8f3c81d2-4a5b-4c6d-9e0f-1a2b3c4d5e6f"
const uuid = "1d59a17e-9726-4283-a5b7-bab7886e4709";
const res = await fetch(`https://api.simorghapi.com/api/Activity/v2/webhook-events/booking_status_updated/${uuid}?SessionId=8f3c81d2-4a5b-4c6d-9e0f-1a2b3c4d5e6f`);
const data = await res.json();import requests
uuid = "1d59a17e-9726-4283-a5b7-bab7886e4709"
res = requests.get(
f"https://api.simorghapi.com/api/Activity/v2/webhook-events/booking_status_updated/{uuid}",
params={"SessionId": "8f3c81d2-4a5b-4c6d-9e0f-1a2b3c4d5e6f"},
)
data = res.json()پاسخ#
در حالت آخرین رویداد، جدیدترین رویداد برمیگردد؛ و اگر رویدادی وجود نداشته باشد found: false.
{
"event": "booking_status_updated",
"primaryUuid": "1d59a17e-9726-4283-a5b7-bab7886e4709",
"found": true,
"id": 55213,
"receivedAt": "2026-10-14T11:02:03.000+08:00",
"eventTimestamp": "2026-10-14T11:02:00.000+08:00",
"payload": { "currentStatus": "APPROVED" }
}در حالت تاریخچه، count و آرایهٔ items شامل همین اشیا برمیگردد.
در یک حلقهٔ فشرده polling نکنید.
در فواصل زمانی معقول کوئری بزنید، یا درست پس از اقدامی که ممکن است رویداد را تغییر دهد آن را بررسی کنید. برای فهمیدن صدور رزرو، بهجای خواندن مکرر رزرو،
booking_status_updated را بخوانید.
ویرایش این صفحه در گیتهابمشکلی دیدید؟ از پنل ← پشتیبانی خبرمان کنید.