مرجع رویدادهای وبهوک
نسخه پیشانتشار v1، منتشرشده در 2026-09-14. این صفحه به شکل API متعهد است،
نه به تاریخ مشخصی. دقیقاً همان چیزی را میسازیم که اینجا مستند شده است. شکل API تا
2026-10-14 هنوز ممکن است تغییر کند؛ پس از آن، تغییرات از نسخهبندی و پایداری پیروی میکنند.
این بنر با راهاندازی هر مسیر، صفحه به صفحه برداشته میشود. تا وقتی اینجاست، بر اساس قرارداد پیادهسازی کنید و فرض کنید آن مسیر هنوز قابل فراخوانی نیست.
همه رویدادهای زیر در API Reference هم آمدهاند، در بخش Webhook events؛ آنجا هر حالت را میتوانید از فهرست کشویی کنار محتوای رویداد انتخاب کنید.
تحویل، تأیید امضا و تلاش دوباره: رویدادهای وبهوک.
همه رویدادها پوشش یکسانی دارند؛ فقط data فرق میکند.
message
پوشش رویداد در همه کانالها یکسان است. تفاوت در داخل data است: اینستاگرام یک source و یک
sender اینستاگرامی دارد، و تلگرام شناسه کاربر تلگرام دارد و source ندارد.
دایرکت اینستاگرام
تلگرام
پاسخ هوش مصنوعی
آغازشده با کامنت، همراه با پیوست
media_id فقط وقتی میآید که رویداد از یک پست یا ریل آغاز شده باشد.
یک پیام صوتی
پیوستها به صورت رویدادهای عادی message با type غیرمتنی میرسند، هرگز به صورت رویداد جداگانه.
text خالی است و محتوا در attachments قرار دارد.
آدرس پیوستها مدت اعتبار محدودی دارد. به جای ذخیره آدرس و دریافت فایل در زمانی دیگر، فایل را همان وقتی که رویداد میرسد دانلود کنید.
ارسال فرم
message.generating
هوش مصنوعی نوشتن پاسخ را شروع کرده است. نشانگر «در حال نوشتن» را نمایش دهید.
وقتی message متناظر رسید، نشانگر را پنهان کنید. رویداد صریحی برای «متوقف شد» وجود ندارد.
تولید پاسخی که شکست بخورد هیچ پیامی نمیسازد، پس پس از چند ثانیه آن را timeout در نظر بگیرید.
chat
وضعیت یک گفتگو تغییر کرد. status یکی از answered، operator_attention،
not_answered، closed یا pending است، و previous_status وضعیت قبلی آن است.
هر کدام برای سمت شما معنای متفاوتی دارد، پس به جای ذخیره صرف این رشته، هر کدام را جداگانه مدیریت کنید.
answered
operator_attention
not_answered
pending
closed
هوش مصنوعی یا یک اپراتور پاسخ داد. چیزی منتظر کسی نیست.
بستن گفتگو، زمینه را از نو شروع میکند
وقتی گفتگویی بسته میشود، تاریخچه قبلی دیگر به عنوان زمینه (context) برای هوش مصنوعی فرستاده نمیشود. گفتگوی بعدی با همان کاربر نهایی از صفر شروع میشود.
context_reset پرچم حذف نیست. چیزی حذف نمیشود. پیامها باقی میمانند و فقط دیگر در زمینه
گفتگوی بعدی بازپخش نمیشوند. شریکی که این را دستور حذف تلقی کند، رونوشتی را دور میریزد که ما
هنوز نگه داشتهایم.
reaction
کسی واکنشی را روی یک پیام اضافه یا حذف کرد. action میگوید کدام، پس یک پردازشگر هر دو حالت را
پوشش میدهد: با added اعمالش کنید و با removed برش گردانید.
added
removed
is_typing
یک انسان شروع به نوشتن کرد یا متوقف شد. این با message.generating که مربوط به هوش مصنوعی است
فرق دارد. شاید بخواهید آنها را متفاوت نمایش دهید: «سارا در حال نوشتن است» در برابر «در حال تولید پاسخ».
شروع
توقف
تایپ اپراتور
ارسال رویداد توقف تضمینی نیست. ممکن است اتصال در میانه تایپ قطع شود، پس به جای انتظار برای
is_typing: false، خودتان نشانگر را پس از چند ثانیه منقضی کنید.