نقطهٔ اتصال (webhook) مخصوص سرویس WebEngage؛ بدنهٔ درخواست با قرارداد WebEngage (smsData) دریافت میشود و پیام همزمان از مسیر پیامک و پیامرسانها ارسال میگردد. خط پیامکی از smsData.fromNumber خوانده میشود و خطوط روبیکا/بله از پارامترهای کوئری rubika و bale (حداقل یکی الزامی است). این اندپوینت پوشش پاسخ استاندارد نجوا را نادیده میگیرد و بهجای آن قالب موردانتظار WebEngage یعنی {"status": ...} / {"status","statuscode","message"} را برمیگرداند. توجه: خطاهای میانافزار احراز هویت پیش از رسیدن به این کنترلر رخ میدهند و همچنان با قالب استاندارد return/entries بازگردانده میشوند.
احراز هویت
bearerAuthکلید API را در هدر Authorization با پیشوند Bearer بفرستید:
``` Authorization: Bearer YOURAPIKEY ```
این روش برای سرویسهای نسخهٔ ۲، نسخهٔ ۳ و بارگذاری فایل به کار میرود. سرویسهای نسخهٔ ۱ کلید را از مسیر URL میگیرند و هدری نمیخواهند.
Authorization: Bearer YOUR_ACCESS_TOKENکلید خود را کجا پیدا کنم؟
اطلاعات ورود را از پنل کاربری خود بگیرید و توکن را فقط روی سرور و در یک متغیر محیطی نگه دارید؛ هرگز آن را در کد سمت کاربر قرار ندهید.
پارامترهای کوئری
۲| نام | نوع | الزامی | توضیح |
|---|---|---|---|
rubika | string | اختیاری | شناسهٔ خط روبیکا. اگر خالی باشد ارسال روی روبیکا انجام نمیشود. حداقل یکی از نمونه najva_service |
bale | string | اختیاری | شناسهٔ خط بله. اگر خالی باشد ارسال روی بله انجام نمیشود. حداقل یکی از نمونه najva_service |
بدنهٔ درخواست
application/jsonالزامیبدنهٔ JSON با ساختار وبهوک WebEngage.
| نام | نوع | الزامی | توضیح |
|---|---|---|---|
version | string | اختیاری | نسخهٔ قرارداد WebEngage. سرویس این فیلد را میپذیرد ولی در هیچ منطقی از آن استفاده نمیکند. نمونه 1.0 |
smsData* | object | الزامی | اطلاعات پیامک. |
toNumber* | string | الزامی | شمارهٔ موبایل گیرنده؛ به شکل 09xxxxxxxxx نرمالسازی میشود. نمونه 09121234567 |
fromNumber* | string | الزامی | شمارهٔ خط پیامکی فرستنده؛ باید متعلق به حساب و دارای مجوز ارسال متن تراکنشی باشد. نمونه 3000123456 |
body* | string | الزامی | متن پیام. در صورت نبود عبارت انصراف، نمونه سلام، سفارش شما ثبت شد. |
نمونهٔ درخواست
{ "version": "1.0", "smsData": { "toNumber": "09121234567", "fromNumber": "3000123456", "body": "سلام، سفارش شما ثبت شد." }}پاسخها
ساختار پاسخ
| نام | نوع | الزامی | توضیح |
|---|---|---|---|
status | string | اختیاری | نتیجه: نمونه sms_accepted |
statuscode | integer | اختیاری | کد خطای WebEngage (فقط در حالت رد). نمونه 2000 |
message | string | اختیاری | شرح خطا (فقط در حالت رد). |
نمونهٔ پاسخ
{ "status": "sms_accepted"}