رفتن به محتوای اصلی
گزارش و وضعیت (نسخهٔ ۱)

استعلام وضعیت پیامک با شناسه پیامک

post
https://sms.najva.com/v1/{apiKey}/sms/status.json

احراز هویت: این سرویس کلید API را از مسیر URL می‌خواند (/v1/{apiKey}/...) و هدر احراز هویتی ندارد. درخواست فقط از آی‌پی‌های وایت‌لیست‌شده پذیرفته می‌شود. به احراز هویت و وایت‌لیست IP نگاه کنید.

وضعیت تحویل یک یا چند پیامک را بر اساس شناسه‌ی پیامک (messageid) که هنگام ارسال دریافت کرده‌اید برمی‌گرداند. شناسه‌ها به‌صورت رشته‌ای از اعداد صحیح جداشده با کاما ارسال می‌شوند؛ شناسه‌های تکراری حذف می‌شوند و در هر فراخوانی حداکثر ۵۰۰ شناسه‌ی یکتا پذیرفته می‌شود. پارامترها همیشه از query string خوانده می‌شوند (ctx.Query)، بنابراین در روش POST هم باید در انتهای URL قرار بگیرند و بدنه‌ی فرم خوانده نمی‌شود. برای هر شناسه دقیقاً یک رکورد و به همان ترتیب درخواست بازگردانده می‌شود؛ اگر شناسه‌ای وجود نداشته باشد یا متعلق به حساب شما نباشد، وضعیت 100 با متن «شناسه پیامک نامعتبر است» برمی‌گردد و اگر پیامک ثبت شده ولی هنوز رویدادی برای آن ثبت نشده باشد، وضعیت 1 («در صف ارسال») گزارش می‌شود.

نکتهٔ مهم: تمام پارامترها از query string خوانده می‌شوند. این مسیر برای POST هم ثبت شده، ولی حتی در POST هم باید پارامترها در انتهای نشانی بیایند؛ بدنهٔ form-urlencoded یا JSON خوانده نمی‌شود.

این مسیر با متد GET هم ثبت شده و رفتار یکسانی دارد؛ در مستندات فقط شکل POST نشان داده شده است.

پارامترهای مسیر

۱
نامنوعالزامیتوضیح
apiKey*
stringالزامی

کلید API حساب کاربری که به‌صورت بخشی از مسیر URL ارسال می‌شود (نه هدر). اعتبارسنجی آن در AuthTokenMiddleware انجام می‌گیرد.

نمونه3A6B4C2D1E0F9A8B7C6D5E4F

پارامترهای کوئری

۱
نامنوعالزامیتوضیح
messageid*
stringالزامی

شناسه‌های پیامک که می‌خواهید وضعیتشان را استعلام کنید، جداشده با کاما. — شناسه‌های پیامک که می‌خواهید وضعیتشان را استعلام کنید، جداشده با کاما.

محدودیت: هر عنصر باید uint64 معتبر باشد؛ پس از حذف تکراری‌ها حداکثر ۵۰۰ شناسه (مقدار پیکربندی REQUESTANDRESPONSE_LIMIT با پیش‌فرض 500). مقدار خالی یا غیرعددی باعث خطای 400 می‌شود.

نمونه8792343,8792344,8792345

پاسخ‌ها

ساختار پاسخ

نامنوعالزامیتوضیح
return
ApiStatusاختیاری

وضعیت پاسخ. مقدار status با کد وضعیت HTTP پاسخ یکسان است.

status*
integerالزامی

کد وضعیت — همان کد وضعیت HTTP پاسخ.

نمونه200
message*
stringالزامی

پیام فارسی قابل نمایش به کاربر.

نمونهدرخواست تایید شد.
entries
array<GetStatusResponse>اختیاری
messageid
integer· int64اختیاری

شناسهٔ پیامک.

نمونه18392011قالبint64
status
integerاختیاری

وضعیت پیامک: ۰ دریافت کننده نامعتبر · ۱ در صف ارسال · ۲ زمان‌بندی شده · ۴ ارسال شده به مخابرات · ۶ خطا در ارسال · ۱۰ رسیده به گیرنده · ۱۱ مشکل در رسیدن پیام · ۱۳ لغو شده · ۱۴ بلاک شده · ۱۵ شماره تکراری · ۱۰۰ شناسه نامعتبر.

مقادیر مجاز012461011131415100نمونه1
statustext
stringاختیاری

متن فارسی وضعیت.

نمونهرسیده به گیرنده

نمونهٔ پاسخ

{
"return": {
"status": 200,
"message": "درخواست تایید شد."
},
"entries": [
{
"messageid": 8792343,
"status": 10,
"statustext": "رسیده به گیرنده"
},
{
"messageid": 8792344,
"status": 1,
"statustext": "در صف ارسال"
},
{
"messageid": 8792345,
"status": 100,
"statustext": "شناسه پیامک نامعتبر است"
}
]
}