جریان رویدادها
Webhookهای لحظهای برای هر سرویس؛ دریافت همه پیامها یا فقط پیامهای منطبق با فیلتر Additional Data، همراه با هدر احراز هویت و لاگ تحویل.
جریان رویدادها چیست؟
جریان رویدادها به شما اجازه میدهد خروجی رویدادهای Pushfa را برای هر سرویس جداگانه به یک webhook عمومی بفرستید. این قابلیت برای سینک با CRM، آرشیو داخلی، اتوماسیون بیرونی و مانیتورینگ لحظهای مفید است.
رویدادهای قابل ارسال
| رویداد | زمان ثبت | کاربرد |
|---|---|---|
| message.push.sent | وقتی پیام برای گیرنده ثبت میشود | ردگیری آغاز ارسال |
| message.push.received | وقتی گیرنده تحویل را تأیید میکند | اتصال به CRM یا گزارش تحویل |
| message.push.clicked | وقتی کاربر روی اعلان کلیک میکند | تحلیل تعامل |
| message.push.failed | وقتی ارسال یا پردازش ناموفق میشود | ثبت خطا و هشدار |
راهاندازی در پنل
قابلیت را فعال کنید
در تنظیمات سامانه، منوی جریان رویدادها را برای کاربران نمایش دهید.
جریان بسازید
در پنل کاربر، برای هر سرویس یک webhook جدید تعریف کنید.
امنیت را تنظیم کنید
آدرس مقصد باید HTTPS عمواست و در صورت نیاز هدر احراز هویت بگیرد.
فیلتر پیام را انتخاب کنید
در صورت نیاز یک JSON object در فیلتر Additional Data وارد کنید. خالی گذاشتن این فیلتر یعنی جریان همه پیامهای همان سرویس را برای رویدادهای انتخابشده پوشش میدهد.
آزمایش کنید
دکمه تست را بزنید و نتیجه را در لاگ تحویل ببینید.
فیلتر اختیاری Additional Data
برای محدود کردن جریان به گروه مشخصی از پیامها، در تنظیمات همان جریان یک JSON object تعریف کنید. همه کلیدها و مقادیر فیلتر باید با همان نوع و مقدار داخل additional_data پیام وجود داشته باشند؛ وجود کلیدهای اضافه در پیام مانع تطبیق نیست. برای نمونه، فیلتر زیر پیام دارای {"type":"order","order_id":42} را میپذیرد اما پیام دارای {"type":"promo"} را رد میکند.
{
"type": "order"
}
نمونه دادههای پیام
{\n "event": {\n "kind": "message.push.received",\n "subscription_id": "SUBSCRIBER_UUID",\n "external_id": "CRM-123"\n },\n "message": {\n "title": "عنوان پیام",\n "contents": "متن پیام",\n "additional_data": {\n "type": "order",\n "order_id": 42\n }\n },\n "service": {\n "name": "نام سرویس"\n }\n}
نکات مهم
فیلتر Additional Data متعلق به هر جریان است و روی جریانهای دیگر همان سرویس اثری ندارد. لاگهای تحویل جریانها ۳۰ روز نگهداری میشوند. اگر webhook پاسخ 2xx ندهد، درخواست در صف retry قرار میگیرد و وضعیت خطا در پنل ثبت میشود.