مستندات

جست‌وجو در مستندات

نام اندپوینت، موضوع یا کلیدواژه را بنویسید

وب‌هوک‌ها

پلتفرم رویدادهای تفریحات را از تأمین‌کننده دریافت می‌کند و آن‌ها را به‌صورت یک 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بلیت‌های یک رزرو تغییر می‌کنند.

پارامترهای کوئری#

نامنوعالزامیپیش‌فرضتوضیح
historybooleanاختیاریfalseبه‌جای آخرین رویداد، فهرستی از رویدادهای گذشته برمی‌گرداند.
limitintegerاختیاری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 را بخوانید.
ویرایش این صفحه در گیت‌هابمشکلی دیدید؟ از پنل ← پشتیبانی خبرمان کنید.