Backend API

وب‌سرویس Topics — مدیریت تاپیک‌ها

مرجع وب‌سرویس‌های سروری برای ساخت تاپیک، عضو کردن و لغو عضویت دستگاه‌ها و دریافت اطلاعات تاپیک با کلید API.

POST
https://pushfa.com/api/topics/*
دانلود کالکشن Postman

پیش‌نیاز: احراز هویت وب‌سرویس

تمام وب‌سرویس‌های این صفحه به کلید عمومی و خصوصی سرویس نیاز دارند. این کلیدها را از پنل (سرویس‌ها ← تنظیمات و جزئیات) دریافت کنید. فیلد fcm_token در تمام وب‌سرویس‌های تاپیک هم توکن FCM و هم Subscriber ID را می‌پذیرد؛ استفاده از Subscriber ID توصیه می‌شود چون ثابت است و با تغییر توکن از بین نمی‌رود.

وب‌سرویس: ساخت تاپیک و دریافت UUID

POST
https://pushfa.com/api/topics/create

از سمت سرور خودتان می‌توانید یک تاپیک جدید بسازید و UUID آن را در پاسخ دریافت کنید. فقط فیلد name اجباری است؛ بقیه فیلدها اختیاری و پیش‌فرض false هستند.

پاسخ شامل اطلاعات تاپیک ساخته‌شده است که فیلد id آن همان UUID تاپیک است؛ از این UUID برای عضو کردن کاربران و ارسال نوتیفیکیشن استفاده کنید.
پارامترمقداراجباری
api_public_key کلید عمومی سرویس بله
api_private_key کلید خصوصی سرویس بله
name نام تاپیک بله
send_membership_notification ارسال نوتیفیکیشن هنگام عضویت/خروج (boolean) خیر
allow_js_register اجازه عضویت از جاوااسکریپت (boolean) خیر
allow_js_unregister اجازه لغو عضویت از جاوااسکریپت (boolean) خیر
allow_js_get اجازه دریافت لیست از جاوااسکریپت (boolean) خیر
curl -X POST https://pushfa.com/api/topics/create \
  -H "Content-Type: application/json" \
  -d '{
    "api_public_key": "YOUR_PUBLIC_KEY",
    "api_private_key": "YOUR_PRIVATE_KEY",
    "name": "My topic",
    "send_membership_notification": false,
    "allow_js_register": true,
    "allow_js_unregister": true,
    "allow_js_get": true
  }'

وب‌سرویس: عضو کردن توکن در تاپیک

POST
https://pushfa.com/api/topics/subscribe

از سمت سرور خودتان می‌توانید یک دستگاه را در تاپیک عضو کنید:

پارامترمقداراجباری
api_public_key کلید عمومی سرویس بله
api_private_key کلید خصوصی سرویس بله
fcm_token توکن FCM یا Subscriber ID دستگاه (استفاده از Subscriber ID توصیه می‌شود) بله
topic_uuid شناسه UUID تاپیک (از پنل دریافت کنید) بله
curl -X POST https://pushfa.com/api/topics/subscribe \
  -H "Content-Type: application/json" \
  -d '{
    "api_public_key": "YOUR_PUBLIC_KEY",
    "api_private_key": "YOUR_PRIVATE_KEY",
    "fcm_token": "USER_SUBSCRIBER_ID",
    "topic_uuid": "TOPIC_UUID"
  }'

وب‌سرویس: لغو عضویت توکن از تاپیک

POST
https://pushfa.com/api/topics/unsubscribe

برای خارج کردن یک دستگاه از تاپیک از سمت سرور:

پارامترمقداراجباری
api_public_key کلید عمومی سرویس بله
api_private_key کلید خصوصی سرویس بله
fcm_token توکن FCM یا Subscriber ID دستگاه (استفاده از Subscriber ID توصیه می‌شود) بله
topic_uuid شناسه UUID تاپیک (از پنل دریافت کنید) بله
curl -X POST https://pushfa.com/api/topics/unsubscribe \
  -H "Content-Type: application/json" \
  -d '{
    "api_public_key": "YOUR_PUBLIC_KEY",
    "api_private_key": "YOUR_PRIVATE_KEY",
    "fcm_token": "USER_SUBSCRIBER_ID",
    "topic_uuid": "TOPIC_UUID"
  }'

وب‌سرویس: دریافت تاپیک‌های یک دستگاه

POST
https://pushfa.com/api/webservices/topics/user-topics

برای دریافت لیست تاپیک‌هایی که یک دستگاه در آن‌ها عضو است:

پاسخ آرایه‌ای از تاپیک‌ها شامل uuid، name و id است.
پارامترمقداراجباری
api_public_key کلید عمومی سرویس بله
api_private_key کلید خصوصی سرویس بله
fcm_token توکن FCM یا Subscriber ID دستگاه بله
curl -X POST https://pushfa.com/api/webservices/topics/user-topics \
  -H "Content-Type: application/json" \
  -d '{
    "api_public_key": "YOUR_PUBLIC_KEY",
    "api_private_key": "YOUR_PRIVATE_KEY",
    "fcm_token": "USER_FCM_TOKEN"
  }'

وب‌سرویس: دریافت اعضای یک تاپیک

POST
https://pushfa.com/api/webservices/topics/topic-members

برای دریافت لیست دستگاه‌های عضو یک تاپیک خاص (حداکثر ۱۰۰ دستگاه اول):

پاسخ حداکثر ۱۰۰ دستگاه اول عضو تاپیک را برمی‌گرداند. هر دستگاه شامل token و subscriber_id (شناسه ثابت) است.
پارامترمقداراجباری
api_public_key کلید عمومی سرویس بله
api_private_key کلید خصوصی سرویس بله
topic_uuid شناسه UUID تاپیک (از پنل دریافت کنید) بله
curl -X POST https://pushfa.com/api/webservices/topics/topic-members \
  -H "Content-Type: application/json" \
  -d '{
    "api_public_key": "YOUR_PUBLIC_KEY",
    "api_private_key": "YOUR_PRIVATE_KEY",
    "topic_uuid": "TOPIC-UUID"
  }'