Subscriber ID چیست؟ شناسه مشترک پوشفا و کاربرد آن
شناسه مشترک پوشفا را از توکن دستگاه تفکیک کنید؛ کاربرد Subscriber ID برای شناسایی مشترک و ارسال پوش به مخاطب مشخص را در مستندات ببینید.
چرا شناسه ثابت مخاطب (Subscriber ID)؟
توکن FCM ممکن است در طول زمان تغییر کند. شناسه ثابت مخاطب (Subscriber ID) یک شناسه پایدار است که پوشفا به هر دستگاه (مرورگر) اختصاص میدهد. پس از فعالشدن Push، این شناسه را روی کاربر سایت خودتان ذخیره کنید و برای ارسال به همان دستگاه به کار ببرید. دریافت پیام به اجازه اعلان و اشتراک معتبر وابسته است.
دریافت و ذخیره شناسه: آماده یا دستی
برای سافت پرامپت آماده پوشفا، شنونده pushfaTokenChange را پیش از SDK ثبت کنید. برای دکمه یا پرامپت اختصاصی سایت، در کلیک کاربر منتظر نتیجه requestPermission بمانید. در هر دو مسیر فقط با اجازه granted، توکن غیرخالی و Subscriber ID غیرخالی، شناسه را به بکاند خود بفرستید. وجود getSubscriberId یا رویداد pushfaSubscriberId بهتنهایی کافی نیست. بکاند باید شناسه جدید را با push_active = true ذخیره کند، شناسه غیرفعال موجود را دوباره فعال کند و برای شناسه فعال رکورد تکراری نسازد.
مشاهده در پنل
شناسه ثابت مخاطب (Subscriber ID) هر مشترک در پنل قابل مشاهده و کپی است: سرویسها ← مشترکین ← ستون Subscriber ID.
وبسرویس: ارسال با شناسه ثابت مخاطب (Subscriber ID)
این وبسرویس به کلید عمومی و خصوصی نیاز دارد و یک یا چند شناسه ثابت مخاطب (Subscriber ID) را بهعنوان مقصد میگیرد.
data.rejected_recipients برمیگردند و اگر هیچ شناسهای قابل ارسال نباشد درخواست با خطا رد میشود. خطاها و کدهای پاسخ| پارامتر | مقدار | اجباری |
|---|---|---|
| subscriber_ids[] | آرایهای از شناسه ثابت مخاطب (Subscriber ID)های مقصد | بله |
| device | محدودیت دستگاه: all، mobile یا desktop | خیر |
| api_public_key | کلید عمومی سرویس پوشفا | بله |
| api_private_key | کلید خصوصی سرویس پوشفا | بله |
| title | عنوانی که بالای اعلان نمایش داده میشود | بله |
| body | متن اصلی که زیر عنوان اعلان نمایش داده میشود | بله |
| link_url | لینک مقصد پس از کلیک روی اعلان (مثال: https://example.com) | خیر |
| image_url | آدرس تصویر ضمیمه اعلان | خیر |
| get_delivery_status | درخواست گزارش تحویل (مقدار 1/0 در ارسال تکی یا true/false در ارسال گروهی) | خیر |
| webhook_url | آدرس وبهوک بومرنگ — در صورت عدم تحویل، نتیجه به این آدرس ارسال میشود | خیر |
| get_click_status | درخواست گزارش کلیک (مقدار 1/0 در ارسال تکی یا true/false در ارسال گروهی) | خیر |
| send_time | زمان ارسال؛ current برای ارسال فوری و delay برای زمانبندیشده. اختیاری و پیشفرض current است. نام قدیمی sendTime فعلاً پشتیبانی میشود، اما نباید هر دو نام همزمان ارسال شوند. | خیر |
| time | تاریخ میلادی و ساعت تهران (Asia/Tehran) را با قالب Y-m-d H:i وارد کنید؛ ثانیه صفر در نظر گرفته میشود. در حالت delay زمان باید بعد از اکنون باشد. تاریخ شمسی پذیرفته نمیشود. این قرارداد برای همه وبسرویسهای ارسال، از جمله ارسال به تاپیک، یکسان است. | اگر send_time برابر delay باشد، الزامی است |
| ttl | مدت اعتبار پیام برای تحویل، بر حسب ثانیه. مقدار پیشفرض 86400 ثانیه، یعنی ۲۴ ساعت است. | خیر |
curl -X POST https://pushfa.com/api/webservices/send-via-subscriber-id \
-H "Content-Type: application/json" \
-d '{
"api_public_key": "YOUR_PUBLIC_KEY",
"api_private_key": "YOUR_PRIVATE_KEY",
"subscriber_ids": ["SUB-ID-1", "SUB-ID-2"],
"title": "عنوان پیام",
"body": "متن پیام",
"send_time": "current"
}'