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

گزارش پیامک‌های ارسالی در یک بازه زمانی

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

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

لیست پیامک‌های ارسالی حساب را در یک بازه‌ی زمانی مشخص برمی‌گرداند. startdate اجباری و به‌صورت timestamp یونیکس (ثانیه) است و نباید بیش از ۶۰ روز قبل باشد؛ اگر enddate داده نشود، به‌طور خودکار برابر startdate + 86400 (۲۴ ساعت بعد) در نظر گرفته می‌شود و در هر حال باید بزرگ‌تر از startdate باشد. با پارامتر اختیاری sender می‌توانید نتایج را به یک سرشماره‌ی اختصاصی متعلق به حساب خود محدود کنید. نتایج بر اساس تاریخ نزولی مرتب می‌شوند و تعداد رکوردهای بازگشتی همیشه حداکثر ۵۰۰ است (این اندپوینت پارامتر صفحه‌بندی ندارد). پارامترها در هر دو روش GET و POST از query string خوانده می‌شوند.

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

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

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

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

کلید API حساب کاربری که به‌صورت بخشی از مسیر URL ارسال می‌شود.

نمونه3A6B4C2D1E0F9A8B7C6D5E4F

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

۳
نامنوعالزامیتوضیح
startdate*
integerالزامی

زمان شروع بازه‌ی گزارش‌گیری به‌صورت timestamp یونیکس. — زمان شروع بازه‌ی گزارش‌گیری به‌صورت timestamp یونیکس.

محدودیت: عدد صحیح ۶۴ بیتی؛ باید کوچک‌تر از enddate باشد و نباید قدیمی‌تر از ۶۰ روز گذشته باشد (startDate >= now - 60243600). در غیر این صورت خطای 417.

نمونه1757059200
enddate
integerاختیاری

زمان پایان بازه‌ی گزارش‌گیری. در صورت ارسال نشدن، ۲۴ ساعت پس از startdate در نظر گرفته می‌شود. — زمان پایان بازه‌ی گزارش‌گیری. در صورت ارسال نشدن، ۲۴ ساعت پس از startdate در نظر گرفته می‌شود.

محدودیت: عدد صحیح ۶۴ بیتی و اکیداً بزرگ‌تر از startdate؛ در غیر این صورت خطای 417. برای این پارامتر سقف بالایی بررسی نمی‌شود.

پیش‌فرضstartdate + 86400نمونه1757145600
sender
stringاختیاری

سرشماره‌ای که می‌خواهید گزارش فقط برای آن برگردانده شود. — سرشماره‌ای که می‌خواهید گزارش فقط برای آن برگردانده شود.

محدودیت: اگر مقدار داده شود باید یکی از خطوط حساب شما و از نوع اختصاصی (private) باشد؛ در غیر این صورت خطای 412. اگر خالی یا ارسال‌نشده باشد، فیلتر سرشماره اعمال نمی‌شود.

نمونه3000505

پاسخ‌ها

ساختار پاسخ

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

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

status*
integerالزامی

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

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

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

نمونهدرخواست تایید شد.
entries
array<SelectMessageResponse>اختیاری

جزئیات کامل یک پیامک (dto.SelectMessageResponse).

messageid
integer· int64اختیاری

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

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

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

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

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

نمونهرسیده به گیرنده
message
stringاختیاری

متن پیامک.

sender
stringاختیاری

سرشمارهٔ ارسال.

نمونه3000505
receptor
stringاختیاری

شمارهٔ گیرنده.

نمونه09121234567
date
integer· int64اختیاری

زمان ارسال (unix، ثانیه).

نمونه1757145600قالبint64
cost
number· floatاختیاری

هزینه به ریال.

نمونه700قالبfloat

نمونهٔ پاسخ

{
"return": {
"status": 200,
"message": "درخواست تایید شد."
},
"entries": [
{
"messageid": 8792350,
"status": 10,
"statustext": "رسیده به گیرنده",
"message": "سفارش شما ثبت شد.",
"sender": "3000505",
"receptor": "09121234567",
"date": 1757142000,
"cost": 1200
},
{
"messageid": 8792349,
"status": 6,
"statustext": "خطا در ارسال پیام به سرشماره مشخص شده",
"message": "سفارش شما ثبت شد.",
"sender": "3000505",
"receptor": "09351234567",
"date": 1757141900,
"cost": 1200
}
]
}