وب سرویس ارسال نوتیفیکیشن برای اعضای سایت و اپلیکیشن
در مقاله فبل در مرود معرفی وب سرویس نوتیفیکیشن صحبت کردیم در این مقاله در مورد API ارسال نوتیفیکیشن اعضای سایت و اپلیکیشن توضیح خواهیم داد.
توضیحات:
از این API برای ارسال نوتیفیکیشن برای تمامی اعضای یک وبسایت یا اپلیکیشن خود میتوانید استفاده کنید. در این APIمیتوانید کاربران خود را با توجه به سگمنتهایی که در پنل نجوای خود ساختهاید، فیلتر کنید. همچنین میتوانید کاربران اکانت onesignalخود را که در پنل نجوا وارد کردهاید نیز به جمع دریافتکنندگان نوتیفیکیشن ارسالی اضافه کنید.
مثال:
در زیر یک نمونه ورودی و خروجی این API آورده شده است:
REQUEST-Information
URL: https://app.najva.com/api/v1/notifications/
HTTP-Method: POST
HTTP-Headers:
Content-Type: application/json
Authorization: Token <YOUR_TOKEN>
REQUEST-Body
{
“api_key”: <YOUR_API_KEY>,
“title”: “title”,
“body”: “body”,
“onclick_action”: “<YOUR_ACTION>”,
“url”: “http://example.com”,
“content”: “some content”,
“icon”: “http://example.com/static/icon.png”,
“image”: “http://example.com/static/img.png”,
“sent_time”: “2018-12-04T12:00:00”,
“segments_include”: [1, 22],
“segments_exclude”: [12],
“one_signal_enabled”: true,
“one_signal_accounts”: [21, 102]
}
با توجه به این که به چه صورت API را صدا زده باشید یکی از حالت های زیر اتفاق میافتد:
Body |
status-code |
ردیف |
{ |
200 |
1 |
{ |
401 |
2 |
{ |
403 |
3 |
{ |
404 |
4 |
تمامی فیلدهایی که به عنوان ورودی به API داده میشود در جدول زیر به صورت کامل توضیح داده شده است:
important-note | description | required | value-type | filed |
این شناسه به صورت اجباری باید ارسال شود؛ در غیر این صورت اطلاعات ارسالی شما توسط نجوا پذیرفته نمیشود. | این همان شناسه یکتای وبسایت یا اپلیکیشن شماست که میتوانید از قسمت api ها در پنل خود آن را دریافت کنید. | yes | uuid | api_key |
این فیلد اجباری است. اگر یک نوتیفیکیشن عنوان نداشته باشد ارسال نمیشود. | عنوان نوتیف ارسالی با این فیلد مقدار میگیرد. رشتهای که به این فیلد نسبت داده میشود باید حداکثر ۱۰۰ کاراکتر باشد. | yes | string | title |
این فیلد اجباری است. اگر یک نوتیفیکیشن بدنه نداشته باشد ارسال نمیشود. | توضیح یا بدنه نوتیف ارسالی با این فیلد مقدار میگیرد. رشتهای که به این فیلد نسبت داده میشود باید حداکثر ۲۰۰ کاراکتر باشد. | yes | string | body |
در صورتی که این فیلد از سمت شما ارسال نشود به صورت دیفالت برابر با
open-link در نظر گرفته می شود. |
این فیلد مشخص می کند که پس از کلیک روی نوتیف چه اکشنای رخ دهد. این فیلد میتواند یکی از مقادیر زیر را داشته باشد:
Open-link: باز کردن لینکی که در فیلد url داده شده است. Open-sms: باز کردن صفحه sms با شمارهای که در فیلد url داده شده است و با متن پیش فرضی که در فیلد content داده شده است. Open-call: باز کردن صفحه شماره گیر تلفن همراه با شمارهای که در فیلد url داده شده است. Open-app: باز کردن اپلیکیشن شما (همان اپلیکیشنی که sdk را در آن قرار دادهاید. Open-activity: باز کردن اکتیویتیای که در فیلد url داده شده است. Open-telegram-channel: باز کردن کانال تلگرامی که id آن در فیلد url وارد شده است. Join-telegram-channel: اضافه کردن کاربر به کانال تلگرامی که آدرس آن در فیلد url وارد شده است. |
no | string | onclick_action |
این فیلد اجباری است. | این فیلد مقصد نهایی کاربر پس از کلیک روی نوتیف را مشخص میکند. که مثلا میتواند آدرس سایت خود شما باشد. | yes | string | url |
این فیلد تنها زمانی استفاده می شود که شما حالت باز شدن صفحه اس ام اس را انتخاب کرده باشید. و مقدار این فیلد به عنوان نوشته پیش فرض اس ام اس در نظر گرفته میشود. | false | string | content | |
در صورتی که این فیلد ارسال نشود از آیکن وبسایت شما که در پنل ثبت کرده اید استفاده میشود. | این فیلد آدرس url یک فایل عکس است که به عنوان آیکون نوتیفیکیشن تنظیم میشود. که در مثال بالا نمونه آن آورده شده است. | no | string | icon |
این فیلد آدرس url یک فایل عکس است که به عنوان عکس بزرگ نوتیفیکیشن تنظیم میشود. که در مثال بالا نمونه آن آورده شده است. | no | string | image | |
این فیلد زمان ارسال نوتیف را مشخص میکند. و فرمت آن بصورت زیر است و بر اساس ۲۴ ساعت شبانه روز برنامه ریزی میشود:
“2018-12-05T13:00:00” |
yes | string | sent_time | |
لیست شناسه سگمنتهای دربرگرفته شده در این فیلد قرار میگیرند. در صورتی که این فیلد برابر با لیست خالی باشد برای تمام کاربرانی که مستثنی نشده اند ارسال میشود. | no | List of integers | segments_include | |
لیست شناسه سگمنتهای مستثنی شده در این فیلد قرار میگیرند. | no | List of integers | segments_exclude | |
اگر مایل باشید این نوتیف برای کاربران وان سیگنالی خود نیز ارسال شود باید این فیلد را برابر با true قرار دهید. درغیر این صورت مقدار آن را false قرار دهید. | yes | boolean | one_signal_enabled |
در مقاله بعدی در مورد API ارسال نوتیفیکیشن برای کاربران خاص با استفاده از توکن کاربران وبسایت یا اپلیکیشن نوضیح خواهیم داد