ارسال پیامک

ارسال گروهی متفاوت

در یک درخواست، به هر گیرنده متن و خط فرستنده مخصوص خودش را می‌فرستد. سه آرایه receptor، sender و message هم‌طول هستند و عضو nام هر کدام یک پیام را می‌سازد.

POST
https://api.payamras.ir/v1/YOUR_API_KEY/sms/sendarray.json
  • فقط با متد POST کار می‌کند؛ درخواست GET خطای 405 می‌گیرد.
  • آرایه‌ها را به‌صورت رشته JSON بفرستید، مثلا ["09121234567","09351234567"].
  • حداکثر ۲۰۰ پیام در هر درخواست.

پارامترها

نامنوعتوضیح
receptor الزامی Array<String> آرایه شماره گیرنده‌ها.
sender الزامی Array<String> آرایه خط فرستنده هر پیام.
message الزامی Array<String> آرایه متن هر پیام.
date اختیاری UnixTime زمان ارسال زمان‌بندی‌شده برای همه پیام‌ها.
type اختیاری Array<Integer> نوع نمایش هر پیام. فقط برای خطوط ۳۰۰۰.
localmessageids اختیاری Array<Long> شناسه محلی هر پیام برای جلوگیری از ارسال تکراری.
hide اختیاری Byte مقدار 1 شماره گیرنده‌ها را در گزارش‌ها پنهان می‌کند.
tag اختیاری String برچسب دسته‌بندی گزارش.
policy اختیاری String نام سیاست ارسال.
mediaid اختیاری Guid شناسه فایل چندرسانه‌ای. فقط برای خطوط پیام‌رسان داخلی.

نمونه درخواست

curl -X POST "https://api.payamras.ir/v1/YOUR_API_KEY/sms/sendarray.json" \
  --data-urlencode "receptor=[\"09121234567\",\"09351234567\"]" \
  --data-urlencode "sender=[\"10004346\",\"10004346\"]" \
  --data-urlencode "message=[\"سلام علی، سفارش شما ارسال شد\",\"سلام مریم، سفارش شما ارسال شد\"]"

پاسخ

فیلدهای هر ردیف entries:

فیلدنوعتوضیح
messageid Long شناسه یکتای پیام؛ برای پیگیری وضعیت ذخیره کنید.
message String متن پیام.
status Integer وضعیت پیام (صفحه وضعیت پیام‌ها).
statustext String شرح وضعیت.
sender String خط فرستنده.
receptor String شماره گیرنده.
date UnixTime زمان ثبت یا زمان‌بندی ارسال.
cost Integer هزینه پیام به ریال.
response.json
{
    "return": {
        "status": 200,
        "message": "تایید شد"
    },
    "entries": [
        {
            "messageid": 8792350,
            "message": "سلام علی، سفارش شما ارسال شد",
            "status": 1,
            "statustext": "در صف ارسال",
            "sender": "10004346",
            "receptor": "09121234567",
            "date": 1760337000,
            "cost": 1200
        },
        {
            "messageid": 8792351,
            "message": "سلام مریم، سفارش شما ارسال شد",
            "status": 1,
            "statustext": "در صف ارسال",
            "sender": "10004346",
            "receptor": "09351234567",
            "date": 1760337000,
            "cost": 1200
        }
    ]
}

خطاهای رایج

علاوه بر خطاهای عمومی مثل 403 و 418، این متد ممکن است این کدها را در return.status برگرداند:

  • 405 متد HTTP اشتباه است (GET به جای POST یا برعکس).
  • 412 فرستنده نامعتبر است، یا تعداد آیتم‌ها از سقف مجاز بیشتر است.
  • 417 تاریخ نامعتبر است یا فرمت آن اشتباه است.
  • 418 اعتبار حساب کافی نیست.
  • 419 طول آرایه‌های متن، گیرنده و فرستنده برابر نیست.
  • 607 نام برچسب (tag) نامعتبر است.