SDK v2

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"
  }'
Ctrl+I