مقدمه

این مستندات راهنمای کامل وب‌سرویس پیامک سامانه پیامک (نسخه ۳ – REST) است. درخواست‌ها از طریق POST (با بدنه JSON) انجام می‌شوند و پاسخ‌ها به صورت JSON بازگردانده می‌شوند.

آدرس پایه
https://api-payamak.com/api/v3/rest/

برای احراز هویت از هدرهای Authorization یا Token استفاده کنید. تمام متدها با متد POST فراخوانی می‌شوند.

احراز هویت

برای احراز هویت، API-KEY خود را از طریق هدرهای زیر ارسال کنید:

Authorization: YOUR_API_KEY
Token: YOUR_API_KEY
یا با Bearer پیشوند:
Authorization: Bearer YOUR_API_KEY
یا به‌جای توکن، از username/password استفاده کنید:
Username: YOUR_USERNAME
Password: YOUR_PASSWORD

سرویس پیامک

ارسال پیامک POST

POST https://api-payamak.com/api/v3/rest/sms/send

ارسال پیامک به یک یا چند گیرنده (حداکثر ۲۰۰ گیرنده در هر فراخوانی).

پارامترهای ورودی (بدنه JSON)
پارامترنوعاجباریتوضیح
fromStringاجباریشماره فرستنده
recipientsArray of Stringاجباریلیست گیرندگان
messageStringاجباریمتن پیام (حداکثر ۹۰۰ کاراکتر)
typeIntegerاختیارینوع پیام (۰=معمولی، ۱=فلش) – پیش‌فرض ۰
📤 مثال درخواست
POST https://api-payamak.com/api/v3/rest/sms/send
Headers: Authorization: YOUR_API_KEY
Content-Type: application/json

{
    "from": "21xxxxxxxx",
    "recipients": ["09123456789", "09123456789"],
    "message": "خدمات پیام کوتاه",
    "type": 0
}
📤 مثال پاسخ
{
    "return": {
        "status": 200,
        "message": "پیام با موفقیت در صف ارسال قرار گرفت"
    },
    "data": {
        "messageid": 8792343,
        "message": "خدمات پیام کوتاه",
        "state": "فعال",
        "from": "21xxxxxxxx",
        "date": 1786619709
    }
}
در صورت ارسال پیام به بیش از ۲۰۰ گیرنده، خطای 414 بازگردانده می‌شود.

ارسال گروهی (چند پیام) POST

POST https://api-payamak.com/api/v3/rest/sms/multiple-send

ارسال چندین پیام متفاوت به گیرنده‌های مختلف با شماره‌های فرستنده متفاوت. تعداد آرایه‌ها باید برابر باشد.

پارامترنوعاجباریتوضیح
fromArrayArray of Stringاجباریشماره‌های فرستنده
recipientsArray of Stringاجباریشماره‌های گیرنده
messageArrayArray of Stringاجباریمتن پیام‌ها
typeArrayArray of Integerاجبارینوع هر پیام (۰ یا ۱)
تعداد آرایه‌ها باید برابر باشد. در صورت عدم برابری، خطای 419 بازگردانده می‌شود.
📤 مثال درخواست
POST https://api-payamak.com/api/v3/rest/sms/multiple-send
Headers: Authorization: YOUR_API_KEY
Content-Type: application/json

{
    "fromArray": ["21xxxx", "21xxxx"],
    "recipients": ["09123456789", "09123456789"],
    "messageArray": ["پیام", "پیام"],
    "typeArray": [0, 0]
}
📤 مثال پاسخ
{
    "return": {
        "status": 200,
        "message": "پیام‌های گروهی با موفقیت در صف ارسال قرار گرفتند"
    },
    "entries": [
        {
            "index": 0,
            "messageid": 8792343,
            "message": "پیام",
            "state": "فعال",
            "from": "21xxxx",
            "to": "09123456789",
            "date": 1786619709
        },
        {
            "index": 1,
            "messageid": 8792344,
            "message": "پیام",
            "state": "فعال",
            "from": "21xxxx",
            "to": "09123456789",
            "date": 1786619709
        }
    ]
}

ارسال پیامک با الگو (Pattern) POST

POST https://api-payamak.com/api/v3/rest/sms/pattern-send

ارسال پیامک با استفاده از الگوهای از پیش تعریف‌شده در پنل کاربری. با ارسال شناسه الگو و پارامترهای مورد نظر، پیامک به‌صورت خودکار با متن نهایی ارسال می‌شود.

پارامتر نوع اجباری توضیح
from String اجباری شماره فرستنده (خط اختصاصی)
recipients Array of String اجباری لیست شماره گیرندگان
message JSON String اجباری پارامترهای الگو به‌صورت JSON
pattern_id Integer اجباری شناسه الگو در پنل کاربری
type Integer اختیاری ۰=معمولی، ۱=فلش (پیش‌فرض: ۰)
پارامتر message باید به‌صورت JSON string ارسال شود. کلیدهای موجود در آن باید با پارامترهای تعریف‌شده در الگو (پنل) مطابقت داشته باشند.
📤 مثال درخواست
POST https://api-payamak.com/api/v3/rest/sms/pattern-send
Headers: Authorization: YOUR_API_KEY
Content-Type: application/json

{
    "from": "1000xxxx",
    "recipients": ["09123456789"],
    "message": {"name":"محمدرضا"},
    "pattern_id": 100,
    "type": 0
}
📤 مثال پاسخ
{
    "return": {
        "status": 200,
        "message": "پیام با موفقیت در صف ارسال قرار گرفت"
    },
    "data": {
        "messageid": 222910475,
        "message": "مشترک گرامی، محمدرضا عزیز خوش آمدید.",
        "state": "فعال",
        "from": "+981000xxxx",
        "date": "1787466576"
    }
}
❌ مثال پاسخ خطا
{
    "status": 404,
    "message": "الگوی مورد نظر یافت نشد"
}

کنترل وضعیت پیامک POST

POST https://api-payamak.com/api/v3/rest/sms/status

دریافت وضعیت پیام‌های ارسال شده (حداکثر ۵۰ شناسه در هر فراخوانی).

پارامترنوعاجباریتوضیح
messageidArray of Longاجباریشناسه‌های پیام
📤 مثال درخواست
POST https://api-payamak.com/api/v3/rest/sms/status
Headers: Authorization: YOUR_API_KEY
Content-Type: application/json

{
    "messageid": [8792343, 8792344]
}
📤 مثال پاسخ
{
    "return": {
        "status": 200,
        "message": "وضعیت پیام‌ها"
    },
    "entries": [
        {
            "messageid": 8792343,
            "from": "21xxxx",
            "number": "09123456789",
            "state": 10,
            "status": "رسیده به گیرنده"
        },
        {
            "messageid": 8792344,
            "from": "21xxxx",
            "number": "09123456789",
            "state": 4,
            "status": "ارسال به مخابرات"
        }
    ]
}

جزئیات پیامک POST

POST https://api-payamak.com/api/v3/rest/sms/select

مشابه Status اما با اطلاعات کامل‌تر (متن پیام، شماره فرستنده، تاریخ).

پارامترنوعاجباریتوضیح
messageidArray of Longاجباریشناسه‌های پیام
📤 مثال درخواست
POST https://api-payamak.com/api/v3/rest/sms/select
Headers: Authorization: YOUR_API_KEY
Content-Type: application/json

{
    "messageid": [8792343]
}
📤 مثال پاسخ
{
    "return": {
        "status": 200,
        "message": "جزئیات پیام"
    },
    "entries": [
        {
            "messageid": 8792343,
            "message": "خدمات پیام کوتاه",
            "number": "09123456789",
            "state": 10,
            "status": "رسیده به گیرنده",
            "from": "21xxxx",
            "date": 1786619709
        }
    ]
}

لیست ارسال‌ها POST

POST https://api-payamak.com/api/v3/rest/sms/selectoutbox

دریافت لیست پیام‌های ارسال شده در بازه زمانی (حداکثر ۱ روز).

پارامترنوعاجباریتوضیح
startdateUnixTimeاجباریتاریخ شروع
enddateUnixTimeاجباریتاریخ پایان
📤 مثال درخواست
POST https://api-payamak.com/api/v3/rest/sms/selectoutbox
Headers: Authorization: YOUR_API_KEY
Content-Type: application/json

{
    "startdate": 1759533200,
    "enddate": 1809619600
}
📤 مثال پاسخ
{
    "return": {
        "status": 200,
        "message": "لیست ارسال‌ها"
    },
    "entries": [
        {
            "messageid": 8792343,
            "message": "test",
            "number": "09123456789",
            "from": "21xxxx",
            "state": 10,
            "status": "رسیده به گیرنده",
            "date": 1786619709
        }
    ]
}

آخرین وضعیت پیام POST

POST https://api-payamak.com/api/v3/rest/sms/latest

دریافت آخرین پیام ارسال‌شده (آخرین رکورد بر اساس شناسه) همراه با جزئیات کامل.

این متد نیازی به پارامتر ورودی ندارد.

📤 مثال درخواست
POST https://api-payamak.com/api/v3/rest/sms/latest
Headers: Authorization: YOUR_API_KEY
📤 مثال پاسخ
{
    "return": {
        "status": 200,
        "message": "آخرین وضعیت پیام"
    },
    "data": {
        "messageid": 8792340,
        "message": "خدمات پیام کوتاه",
        "recipients_count": 2,
        "recipients": ["09123456789", "09123456789"],
        "from": "21xxxxxxxx",
        "state": 10,
        "date": 1786619709
    }
}

آخرین ارسال‌ها POST

POST https://api-payamak.com/api/v3/rest/sms/latestoutbox

دریافت آخرین پیام‌های ارسال شده (حداکثر ۲۰۰ مورد).

پارامترنوعاجباریتوضیح
pagesizeIntegerاختیاریتعداد نتایج (پیش‌فرض ۲۰۰)
📤 مثال درخواست
POST https://api-payamak.com/api/v3/rest/sms/latestoutbox
Headers: Authorization: YOUR_API_KEY
Content-Type: application/json

{
    "pagesize": 50
}
📤 مثال پاسخ
{
    "return": {
        "status": 200,
        "message": "تایید شد"
    },
    "entries": [
        {
            "messageid": 8792343,
            "from": "21xxxx",
            "to": "09123456789",
            "message": "test",
            "state": 10,
            "status": "رسیده به گیرنده",
            "date": 1786619709
        }
    ]
}

تعداد ارسال‌ها POST

POST https://api-payamak.com/api/v3/rest/sms/countoutbox

تعداد، پارتیشن‌ها و هزینه کل ارسال‌ها در بازه زمانی.

پارامترنوعاجباریتوضیح
startdateUnixTimeاجباریتاریخ شروع
enddateUnixTimeاجباریتاریخ پایان
📤 مثال درخواست
POST https://api-payamak.com/api/v3/rest/sms/countoutbox
Headers: Authorization: YOUR_API_KEY
Content-Type: application/json

{
    "startdate": 1759533200,
    "enddate": 1789619600
}
📤 مثال پاسخ
{
    "return": {
        "status": 200,
        "message": "تایید شد"
    },
    "data": {
        "startdate": 1759533200,
        "enddate": 1789619600,
        "sumpart": 10,
        "sumcount": 10,
        "cost": 50
    }
}

تعداد دریافت‌ها POST

POST https://api-payamak.com/api/v3/rest/sms/countinbox

تعداد پیام‌های دریافت شده با فیلتر شماره و وضعیت خوانده‌شدن.

پارامترنوعاجباریتوضیح
startdateUnixTimeاجباریتاریخ شروع
enddateUnixTimeاجباریتاریخ پایان
numberStringاختیاریشماره خط گیرنده
isreadIntegerاختیاری۰=نخوانده، ۱=خوانده
📤 مثال درخواست
POST https://api-payamak.com/api/v3/rest/sms/countinbox
Headers: Authorization: YOUR_API_KEY
Content-Type: application/json

{
    "startdate": 1759533200,
    "enddate": 1789619600,
    "number": "1000xxxx",
    "isread": 0
}
📤 مثال پاسخ
{
    "return": {
        "status": 200,
        "message": "تایید شد"
    },
    "data": {
        "startdate": 1759533200,
        "enddate": 1789619600,
        "isread": 0,
        "count": 5
    }
}

دریافت پیام‌های دریافتی POST

POST https://api-payamak.com/api/v3/rest/sms/inbox

دریافت لیست پیام‌های دریافتی کاربر با قابلیت تعیین تعداد و offset (صفحه‌بندی ساده).

پارامترنوعاجباریتوضیح
countIntegerاختیاریتعداد پیام‌های مورد نظر (پیش‌فرض ۵۰)
offsetIntegerاختیاریمیزان offset (پیش‌فرض ۰)
📤 مثال درخواست
POST https://api-payamak.com/api/v3/rest/sms/inbox
Headers: Authorization: YOUR_API_KEY
Content-Type: application/json

{
    "count": 50,
    "offset": 0
}
📤 مثال پاسخ
{
    "return": {
        "status": 200,
        "message": "لیست پیام‌های دریافتی"
    },
    "entries": [
        {
            "messageid": 35850015,
            "message": "خدمات پیام کوتاه",
            "to": "1000xxxx",
            "from": "09123456789",
            "date": 1789619600
        }
    ]
}

دریافت پیامک (صفحه‌بندی) POST

POST https://api-payamak.com/api/v3/rest/sms/inboxpaged

دریافت پیام‌های دریافتی با صفحه‌بندی (تا ۵۰۰ مورد در هر صفحه).

پارامترنوعاجباریتوضیح
numberStringاختیاریشماره خط
isreadIntegerاختیاری۰=نخوانده، ۱=خوانده
pageIntegerاختیاریشماره صفحه (پیش‌فرض ۱)
pagesizeIntegerاختیاریتعداد در هر صفحه (پیش‌فرض ۲۰۰، حداکثر ۵۰۰)
📤 مثال درخواست
POST https://api-payamak.com/api/v3/rest/sms/inboxpaged
Headers: Authorization: YOUR_API_KEY
Content-Type: application/json

{
    "number": "1000xxxx",
    "isread": 0,
    "page": 1,
    "pagesize": 200
}
📤 مثال پاسخ
{
    "return": {
        "status": 200,
        "message": "تایید شد"
    },
    "entries": [
        {
            "messageid": 35850015,
            "message": "خدمات پیام کوتاه",
            "from": "09123456789",
            "to": "1000xxxx",
            "date": 1357206241
        }
    ],
    "current": {
        "totalcount": "1",
        "currentpage": "1",
        "totalpages": "1",
        "pagesize": "200"
    }
}

دریافت پیامک POST

POST https://api-payamak.com/api/v3/rest/sms/receive

دریافت حداکثر ۵۰ پیام خوانده‌نشده و بروزرسانی خودکار وضعیت به خوانده‌شده.

پارامترنوعاجباریتوضیح
numberStringاختیاریشماره خط
isreadIntegerاختیاری۰=نخوانده (پیش‌فرض)، ۱=خوانده
📤 مثال درخواست
POST https://api-payamak.com/api/v3/rest/sms/receive
Headers: Authorization: YOUR_API_KEY
Content-Type: application/json

{
    "number": "1000xxxx",
    "isread": 0
}
📤 مثال پاسخ
{
    "return": {
        "status": 200,
        "message": "تایید شد"
    },
    "entries": [
        {
            "messageid": 35850015,
            "message": "خدمات پیام کوتاه",
            "from": "09123456789",
            "to": "1000xxxx",
            "date": 1787206241
        }
    ]
}

کنترل وضعیت با شماره POST

POST https://api-payamak.com/api/v3/rest/sms/statusbynumber

دریافت وضعیت پیام‌های ارسال شده به یک شماره خاص از تاریخ شروع تا حال.

پارامترنوعاجباریتوضیح
numberStringاجباریشماره موبایل گیرنده
startdateUnixTimeاجباریتاریخ شروع
pagesizeIntegerاختیاریتعداد نتایج (پیش‌فرض 50، حداکثر 50)
📤 مثال درخواست
POST https://api-payamak.com/api/v3/rest/sms/statusbynumber
Headers: Authorization: YOUR_API_KEY
Content-Type: application/json

{
    "number": "09123456789",
    "startdate": 1785677000,
    "pagesize": 50
}
📤 مثال پاسخ
{
    "return": {
        "status": 200,
        "message": "تایید شد"
    },
    "entries": [
        {
            "messageid": 8792343,
            "message": "خدمات پیام کوتاه",
            "to": "09123456789",
            "status": 10,
            "statustext": "رسیده به گیرنده",
            "date": 1785677000
        }
    ]
}

سرویس کاربر

اعتبار کاربر POST

POST https://api-payamak.com/api/v3/rest/my/credit

دریافت اعتبار باقی‌مانده حساب کاربری (ریال).

📤 مثال درخواست
POST https://api-payamak.com/api/v3/rest/my/credit
Headers: Authorization: YOUR_API_KEY
📤 مثال پاسخ
{
    "return": {
        "status": 200,
        "message": "اعتبار کاربر"
    },
    "data": {
        "credit": 1500000
    }
}

اطلاعات کاربر POST

POST https://api-payamak.com/api/v3/rest/my

دریافت مشخصات کامل کاربر شامل نام، شرکت، اعتبار، تعرفه و ...

📤 مثال درخواست
POST https://api-payamak.com/api/v3/rest/my
Headers: Authorization: YOUR_API_KEY
📤 مثال پاسخ
{
    "return": {
        "status": 200,
        "message": "اطلاعات کاربر"
    },
    "data": {
        "fullname": "محمدرضا راه‌پیما",
        "mellicode": "001xxxxxxx",
        "shenasname": "001xxxxxxx",
        "date": "1375/11/22",
        "postcode": "1234567890",
        "addr": "تهران _ تهران _ پايتخت",
        "expire_time": "1900000000",
        "credit": "10000000.000",
        "tarrif": "2400",
        "type": "نماینده"
    }
}

ثبت‌نام کاربر POST

POST https://api-payamak.com/api/v3/rest/user/register

ایجاد حساب کاربری جدید در سامانه. (هر مدیر در روز حداکثر ۲ کاربر ثبت‌نام می‌کند.)

پارامترهای ورودی (بدنه JSON)
پارامترنوعاجباریتوضیح
unameStringاجبارینام کاربری (فقط حروف و اعداد انگلیسی، بدون فاصله و کاراکتر خاص)
passwdStringاجباریرمز عبور
passwd_repeatStringاجباریتکرار رمز عبور (باید با passwd یکسان باشد)
parentStringاجبارینام کاربری مدیر (کسی که کاربر جدید زیرمجموعه او ثبت می‌شود)
mobileStringاجباریشماره موبایل (با فرمت 0912... یا 98912+...)
melli_codeStringاجباریکد ملی 10 رقمی، یکتا در سامانه
packageIntegerاجباریشناسه پکیج (بسته تعرفه‌ای که کاربر انتخاب می‌کند)
resellerIntegerاجباریوضعیت نمایندگی (0 = نیست یا 1 = هست)
در صورت ارسال نام کاربری تکراری یا شماره موبایل نامعتبر، خطای مناسب بازگردانده می‌شود.
📤 مثال درخواست
POST https://api-payamak.com/api/v3/rest/user/register
Headers: Authorization: YOUR_API_KEY
Content-Type: application/json

{
    "uname": "amirreza",
    "passwd": "123456",
    "passwd_repeat": "123456",
    "parent": "admin",
    "mobile": "09121234567",
    "melli_code": "1234567890",
    "package": 1,
    "reseller": 1
}
📤 مثال پاسخ موفق
{
    "return": {
        "status": 200,
        "message": "ثبت نام با موفقیت انجام شد"
    }
}
📤 مثال پاسخ خطا (محدودیت روزانه)
{
    "return": {
        "status": 429,
        "message": "امکان ثبت‌نام بیش از ۲ کاربر در یک روز برای این مدیر وجود ندارد"
    }
}

دفترچه تلفن

لیست دفترچه‌های تلفن POST

POST https://api-payamak.com/api/v3/rest/my/phonebook

دریافت لیست تمام دفترچه‌های تلفن کاربر.

پارامترنوعاجباریتوضیح
nameStringاختیاریفیلتر بر اساس نام دفترچه
📤 مثال درخواست
POST https://api-payamak.com/api/v3/rest/my/phonebook
Headers: Authorization: YOUR_API_KEY
Content-Type: application/json

{
    "name": "مشتریان"
}
📤 مثال پاسخ
{
    "return": {
        "status": 200,
        "message": "لیست دفترچه‌ها"
    },
    "entries": [
        {
            "book_id": 123,
            "uname": "user",
            "title": "مشتریان",
            "count": 45
        }
    ]
}

شماره‌های دفترچه POST

POST https://api-payamak.com/api/v3/rest/phonebook/number

دریافت لیست شماره‌های یک دفترچه تلفن.

پارامترنوعاجباریتوضیح
bookIdIntegerاجباریشناسه دفترچه
📤 مثال درخواست
POST https://api-payamak.com/api/v3/rest/phonebook/number
Headers: Authorization: YOUR_API_KEY
Content-Type: application/json

{
    "book_id": 123
}
📤 مثال پاسخ
{
    "return": {
        "status": 200,
        "message": "شماره‌های دفترچه"
    },
    "entries": [
        {
            "number_id": 1,
            "number": "09123456789"
        }
    ]
}

ایجاد دفترچه تلفن POST

POST https://api-payamak.com/api/v3/rest/phonebook/new

ایجاد دفترچه تلفن جدید با لیست شماره‌ها.

پارامترهای ورودی (بدنه JSON)
پارامترنوعاجباریتوضیح
nameStringاجباریعنوان دفترچه تلفن (یکتا برای هر کاربر)
numbersArray of Stringاجباریلیست شماره‌های موبایل (حداقل یک شماره)
flagStringاجباریبرچسب یکتا برای دفترچه (مثلاً "vip" یا "customers")
در صورت تکراری بودن عنوان یا flag، خطای مناسب بازگردانده می‌شود.
📤 مثال درخواست
POST https://api-payamak.com/api/v3/rest/phonebook/new
Headers: Authorization: YOUR_API_KEY
Content-Type: application/json

{
    "name": "مشتریان ویژه",
    "numbers": ["09123456789", "09123456788"],
    "flag": "vip_customers"
}
📤 مثال پاسخ موفق
{
    "return": {
        "status": 200,
        "message": "دفترچه تلفن با موفقیت ایجاد شد"
    },
    "data": {
        "id": 123
    }
}

حذف دفترچه تلفن DELETE

DELETE https://api-payamak.com/api/v3/rest/phonebook/delete

حذف یک دفترچه تلفن و تمام شماره‌های موجود در آن. فقط کاربر مالک می‌تواند حذف کند.

پارامترهای ورودی (بدنه JSON یا کوئری)
پارامترنوعاجباریتوضیح
book_idIntegerاجباریشناسه دفترچه تلفن
در صورت عدم وجود دفترچه یا عدم مالکیت، خطای 400 بازگردانده می‌شود.
📤 مثال درخواست (JSON)
DELETE https://api-payamak.com/api/v3/rest/phonebook/delete
Headers: Authorization: YOUR_API_KEY
Content-Type: application/json

{
    "book_id": 123
}
📤 مثال پاسخ موفق
{
    "return": {
        "status": 200,
        "message": "دفترچه تلفن با موفقیت حذف شد"
    }
}

افزودن شماره به دفترچه تلفن POST

POST https://api-payamak.com/api/v3/rest/phonebook/number/add

افزودن یک یا چند شماره موبایل به دفترچه تلفن موجود. فقط کاربر مالک می‌تواند شماره اضافه کند.

پارامترهای ورودی (بدنه JSON)
پارامترنوعاجباریتوضیح
book_idIntegerاجباریشناسه دفترچه تلفن
numbersArray of Stringاجباریلیست شماره‌های موبایل (حداقل یک شماره)
flagStringاختیاریبرچسب (کاربردی ندارد)
در صورت عدم وجود دفترچه یا عدم مالکیت، خطای 400 بازگردانده می‌شود.
📤 مثال درخواست
POST https://api-payamak.com/api/v3/rest/phonebook/number/add
Headers: Authorization: YOUR_API_KEY
Content-Type: application/json

{
    "book_id": 123,
    "numbers": ["09123456789", "09123456788"]
}
📤 مثال پاسخ موفق
{
    "return": {
        "status": 200,
        "message": "شماره‌ها با موفقیت به دفترچه تلفن اضافه شدند"
    }
}

حذف شماره از دفترچه تلفن DELETE

DELETE https://api-payamak.com/api/v3/rest/phonebook/number/delete

حذف یک یا چند شماره موبایل از دفترچه تلفن. فقط کاربر مالک می‌تواند شماره حذف کند.

پارامترهای ورودی (بدنه JSON یا کوئری)
پارامترنوعاجباریتوضیح
book_idIntegerاجباریشناسه دفترچه تلفن
numbersArray of Stringاجباریلیست شماره‌های موبایل برای حذف (حداقل یک شماره)
flagStringاختیاریبرچسب (کاربردی ندارد)
در صورت عدم وجود دفترچه یا عدم مالکیت یا عدم وجود شماره‌ها، خطای 400 بازگردانده می‌شود.
📤 مثال درخواست (JSON)
DELETE https://api-payamak.com/api/v3/rest/phonebook/number/delete
Headers: Authorization: YOUR_API_KEY
Content-Type: application/json

{
    "book_id": 123,
    "numbers": ["09123456789", "09123456788"]
}
📤 مثال پاسخ موفق
{
    "return": {
        "status": 200,
        "message": "شماره‌ها با موفقیت از دفترچه تلفن حذف شدند"
    }
}

لیست سیاه

لیست سیاه POST

POST https://api-payamak.com/api/v3/rest/line/blocked/list

دریافت لیست شماره‌های مسدود شده برای یک خط.

پارامترنوعاجباریتوضیح
numberStringاجباریشماره خط
startdateUnixTimeاختیاریتاریخ شروع
pageIntegerاختیاریشماره صفحه
pagesizeIntegerاختیاریتعداد در هر صفحه
📤 مثال درخواست
POST https://api-payamak.com/api/v3/rest/line/blocked/list
Headers: Authorization: YOUR_API_KEY
Content-Type: application/json

{
    "number": "1000xxxx",
    "page": 1,
    "pagesize": 200
}
📤 مثال پاسخ
{
    "return": {
        "status": 200,
        "message": "تایید شد"
    },
    "entries": [
        {
            "number": "1000xxxx",
            "to": "09123456789",
            "user": "username",
            "setter": "system"
        }
    ],
    "current": {
        "totalcount": "1",
        "currentpage": "1",
        "totalpages": "1",
        "pagesize": "200"
    }
}

افزودن شماره به لیست سیاه POST

POST https://api-payamak.com/api/v3/rest/line/blocked/add

افزودن یک یا چند شماره موبایل به لیست سیاه یک خط مشخص. (فقط شماره‌هایی که کاربر به آن‌ها دسترسی دارد قابل افزودن هستند.)

پارامترنوعاجباریتوضیح
numberStringاجباریشماره خط (خطی که می‌خواهید شماره را برای آن مسدود کنید)
toArray of Stringاجباریشماره موبایل(های) مورد نظر برای مسدودسازی
شماره‌های تکراری و شماره‌هایی که قبلاً در لیست سیاه موجود هستند، با وضعیت تکراری برگردانده می‌شوند. حداکثر ۲۰۰ شماره در هر فراخوانی.
📤 مثال درخواست
POST https://api-payamak.com/api/v3/rest/line/blocked/add
Headers: Authorization: YOUR_API_KEY
Content-Type: application/json

{
    "number": "21xxxxxxxx",
    "to": ["09123456789", "09123456789"]
}
📤 مثال پاسخ
{
    "return": {
        "status": 200,
        "message": "تایید شد"
    },
    "entries": [
        {
            "number": "21xxxxxxxx",
            "to": "+989123456789",
            "status": "افزوده شد"
        },
        {
            "number": "21xxxxxxxx",
            "to": "+989123456789",
            "status": "تکراری"
        }
    ]
}
کدهای خطا
  • 400 – پارامترهای number یا to ارسال نشده‌اند.
  • 400 – حداقل یک شماره موبایل برای افزودن وجود ندارد.
  • 400 – خطا در افزودن شماره به لیست سیاه.
  • 401 – حساب کاربری غیرفعال یا توکن نامعتبر.

حذف شماره از لیست سیاه POST

POST https://api-payamak.com/api/v3/rest/line/blocked/remove

حذف یک شماره موبایل از لیست سیاه یک خط مشخص. (فقط شماره‌هایی که متعلق به کاربر هستند قابل حذف می‌باشند.)

پارامترنوعاجباریتوضیح
numberStringاجباریشماره خط (خطی که می‌خواهید شماره را از لیست سیاه آن حذف کنید)
toStringاجباریشماره موبایلی که می‌خواهید از لیست سیاه حذف شود
در صورت عدم وجود شماره در لیست سیاه، خطای 400 با پیام "شماره مورد نظر در لیست سیاه یافت نشد" بازگردانده می‌شود.
📤 مثال درخواست
POST https://api-payamak.com/api/v3/rest/line/blocked/remove
Headers: Authorization: YOUR_API_KEY
Content-Type: application/json

{
    "number": "21xxxxxxxx",
    "to": "09123456789"
}
📤 مثال پاسخ
{
    "return": {
        "status": 200,
        "message": "شماره با موفقیت از لیست سیاه حذف شد"
    }
}
کدهای خطا
  • 400 – پارامترهای number یا to ارسال نشده‌اند.
  • 400 – شماره مورد نظر در لیست سیاه یافت نشد.
  • 400 – خطا در حذف شماره از لیست سیاه.
  • 401 – حساب کاربری غیرفعال یا توکن نامعتبر.

بررسی وجود در لیست سیاه POST

POST https://api-payamak.com/api/v3/rest/line/blocked/exists

بررسی اینکه آیا یک شماره در لیست سیاه خط مورد نظر وجود دارد یا خیر.

پارامترنوعاجباریتوضیح
numberStringاجباریشماره خط
toArray of Stringاجباریشماره موبایل (چندتا)
📤 مثال درخواست
POST https://api-payamak.com/api/v3/rest/line/blocked/exists
Headers: Authorization: YOUR_API_KEY
Content-Type: application/json

{
    "number": "1000xxxx",
    "to": ["09123456789"]
}
📤 مثال پاسخ
{
    "return": {
        "status": 200,
        "message": "تایید شد"
    },
    "entries": [
        {
            "number": "1000xxxx",
            "to": "09123456789",
            "status": "فعال"
        }
    ]
}

کدهای برگشتی

وضعیت‌های کاربر

این کدها در پاسخ وب‌سرویس‌هایی که جزئیات حساب کاربری را برمی‌گردانند برگشت داده می‌شوند.

کدتوضیح
0کاربر در وضعیت فعال قرار دارد.
1کاربر مورد بررسی یافت نشد.
2کاربر آزمایشی (جهت تست وب‌سرویس).
3کاربر قفل شده است.
4عضویت کاربر منقضی شده است.
5کاربر هنوز تأیید نشده است.
6دسترسی به وب‌سرویس برای کاربر تعریف نشده است.
وضعیت‌های ثبت کاربر جدید
کدتوضیح
0ثبت‌نام با موفقیت انجام شد.
10نام کاربری نامعتبر است.
11شماره موبایل نامعتبر است.
12کد ملی نامعتبر است.
13ایمیل نامعتبر است.
14مدیر کاربر دسترسی کافی ندارد.
15نام کاربری قبلاً ثبت شده است.
16پکیج درخواستی اشتباه است.
17رمز عبور و تکرار آن هماهنگ نیست.
18محدودیت ثبت‌نام (بیش از ۲ کاربر در روز).
19کد ملی نامعتبر است.
وضعیت‌های ارسال پیامک
کدتوضیح
0ارسال با موفقیت انجام شد.
21تعداد گیرنده‌ها از حد مجاز بیشتر است.
22اعتبار کاربر کافی نیست.
23شماره فرستنده نامعتبر است.
24متن پیام خالی است.
25هیچ گیرنده‌ای انتخاب نشده است.
26زمان ارسال اشتباه تنظیم شده است.
27خطای نامشخص در ارسال (اپراتور).
28داده‌های ارسالی مغایرت دارد.
29الگوی انتخاب‌شده فعال نیست.
وضعیت گزارش‌های پیامکی
کدتوضیح
0گزارش با موفقیت ایجاد شد.
30هیچ پیامکی انتخاب نشده است.
31هیچ گزارشی موجود نیست.
32تعداد شناسه‌ها از حد مجاز فراتر رفته است.
وضعیت دلیوری (رسید) پیامک
کدتوضیح
1ارسال شده به مخابرات
2نرسیده به مخابرات
3رسیده به مخابرات
4رسیده به گوشی
5نرسیده به گوشی
6برگشتی
7خطای مخابراتی
8خطای نامشخص
9نامشخص
10لیست سیاه
11ارسال شد به مخابرات
12در صف ارسال
13لغو شده
14REJECTED
15REJECTD
16FAILED
17UNDELIV
18EXPIRED
19خطا در پردازش متن پیام
20شماره مقصد در لیست سیاه
21شماره فرستنده نامعتبر
22نقض قوانین و مقررات
23فرمت پیام نامعتبر
24سایر خطاهای غیرمنتظره
وضعیت دفترچه تلفن
کدتوضیح
0عملیات با موفقیت انجام شد.
40رکوردی با این اطلاعات وجود ندارد.
41دفترچه تلفن با این اطلاعات قبلاً وجود دارد.
42شماره‌ای ارسال نشده است.
43عملیات شکست خورد.
44فیلد flag خالی ارسال شده است.
45flag تکراری است.
سایر کدهای وضعیت
کدتوضیح
1000اشکال در پایگاه داده.
2000اشکال در سرور.