مفاهیم
همهی وبسرویسهای REST ورودی خود را به صورت یک ساختار json که در body درخواست POST ارسال شده دریافت میکنند. خروجی نیز به صورت یک ساختار json برگردانده میشود. هر خروجی یک ساختار به شکل زیر دارد. در صورتی که مقدار status برابر 200 باشد میتوانید از شکل ساختاری قسمت دوم مطمئن شوید. در این صورت قسمت دوم یک ساختار با نام result است. در غیر این صورت قسمت دوم شامل کلید message است که حاوی خطاهای پیش آمده است.
{
"status": ...,
...
}
برای مثال یک مقدار برگشتی صحیح برای وبسرویس درخواست اعتبار کاربر به صورت زیر است:
{
"status": 200,
"result": {
"status": 0,
"value": 1234
}
}
همچنین مقدار برگشتی زیر نیز یک مقدار درست است که به صورت صحیح یک خطای پیش آمده را نشان میدهد:
{
"status": 200,
"result": {
"status": 1,
"value": 0
}
}
اما مثال زیر یک پاسخ دارای خطا را نشان میدهد:
{
"status": 500,
"message": "خطا در سرور"
}
احراز هویت
جهت احراز هویت میتوانید از توکن ایجاد شده در پنل کاربری سامانه یا نام کاربری و رمز عبور استفاده کنید. در حالتی که مایل به استفاده از توکن هستید، در هدر درخواستهای ارسالی token را با مقدار مشخص ارسال کنید. در صورتی که مایل به استفاده از نام کاربری و رمز عبور هستید در هدر درخواستهای ارسالی username و password را با مقادیر درست ارسال کنید.
آدرس پایه
https://ws.panel-payamak.com/api/v1/rest
مقادیر
وضعیتهای کاربر
کدهای با مقادیر صحیح که در پاسخ بعضی از وبسرویسها برگشت داده میشود.
- 0 - کاربر در وضعیت فعال قرار دارد.
- 1 - کاربر مورد بررسی یافت نشده است.
- 2 - کاربر آزمایشی.
- 3 - کاربر قفل شده.
- 4 - کاربر منقضی شده.
- 5 - کاربر تایید نشده.
- 6 - عدم دسترسی به وبسرویس.
وضعیتهای درخواست ثبت کاربر جدید
- 0 - ثبتنام کاربر با موفقیت انجام شده است.
- 10 - نام کاربری ارسال شده نامعتبر است.
- 11 - موبایل ارسال شده نامعتبر است.
- 12 - کد ملی ارسال شده نامعتبر است.
- 13 - ایمیل ارسال شده نامعتبر است.
- 14 - مدیر کاربر درخواستی دسترسی کافی ندارد.
- 15 - نام کاربری ارسال شده قبلا ثبت شده است.
- 16 - پکیج درخواستی اشتباه است.
- 17 - رمزعبور و تکرار آن هماهنگ نیست.
وضعیتهای ارسال پیامک
- 0 - ارسال پیامک با موفقیت انجام شده است.
- 21 - تعداد دریافتکنندهها از مقدار مجاز بیشتر است.
- 22 - کاربر اعتبار کافی برای ارسال پیامک ندارد.
- 23 - شماره اشتباه برای ارسال انتخاب شده است.
- 24 - پیام ارسال شده خالی است.
- 25 - هیچ گیرندهای انتخاب نشده است.
- 26 - زمان ارسال اشتباه تنظیم شده است.
- 27 - خطای نامشخص در ارسال برای اپراتور.
- 28 - دادههای ارسالی مغایرت دارد.
- 29 - الگوی انتخاب شده فعال نیست.
وضعیت گزارشهای پیامکی
- 0 - گزارش با موفقیت ایجاد شد.
- 30 - هیچ پیامکی انتخاب نشده است.
- 31 - هیچ گزارشی موجود نیست.
- 32 - تعداد پیامها از حد مجاز فراتر رفته است.
وضعیت دلیوری
sms/status : این متد وب سرویس جهت گزارش دلیوری ارسال پیامک می باشد.
- 0 - ارسال شده به مخابرات (از اپراتور گزارش دریافت نشده)
- 1 - ارسال شده به مخابرات
- 2 - نرسیده به مخابرات
- 3 - رسیده به مخابرات
- 4 - رسیده به گوشی
- 5 - نرسیده به گوشی
- 6 - برگشتی
- 14 - کد وضعیت نامعتبر است
وضعیت دفترچه تلفن
- 0 - عملیات با موفقیت انجام شد.
- 40 - رکوردی با این اطلاعات وجود ندارد.
- 41 - دفترچه تلفن با این اطلاعات در حال حاضر موجود است.
- 42 - شمارهای ارسال نشده است.
- 43 - عملیات شکست خورد.
سایر کدهای وضعیت
- 1000 - اشکال در پایگاه داده.
- 2000 - اشکال در سرور.
وبسرویسهای کاربری
دریافت اعتبار کاربر
GET https://ws.panel-payamak.com/api/v1/rest/my/credit
{
"status": 200,
"result": { "status": 0, "value": 125000 }
}
کلید status اولیه مشخص میکند که پاسخ صحیح است. کلید result خود حاوی دو کلید status (وضعیت کاربر) و value (مقدار اعتبار) است.
دریافت جزئیات کاربر
GET https://ws.panel-payamak.com/api/v1/rest/my
{
"status": 200,
"result": {
"status": 0,
"details": {
"fullname": "...",
"company": "...",
"date": "...",
"fax": "...",
"mellicode": "...",
"shenasname": "...",
"addr": "...",
"postcode": "..."
}
}
}
ثبت کاربر جدید
POST https://ws.panel-payamak.com/api/v1/rest/user/register
بدنه درخواست (حداقل فیلدها):
{
"username": "...",
"password": "...",
"repeatPassword": "..."
}
برای ثبت کاربر حقیقی (اختیاری):
{
"register_personality": "حقیقی",
"first_name": "...",
"last_name": "...",
"father": "...",
"gender": "...",
"username": "...",
"password": "...",
"password_repeat": "...",
"parent": "...",
"date": "...",
"shenasname": "...",
"melli_code": "...",
"email": "...",
"mobile": "...",
"tel": "...",
"fax": "...",
"post_code": "...",
"addr": "...",
"referrer": "...",
"package": "...",
"reseller": "..."
}
برای ثبت کاربر حقوقی:
{
"register_personality": "حقوقی",
"company": "...",
"company_reg_number": "...",
"company_eco_code": "...",
"company_melli_id": "...",
"company_type": "...",
... // سایر فیلدها مشابه کاربر حقیقی
}
وبسرویسهای ارسال پیامک
ارسال پیامک (Send)
POST https://ws.panel-payamak.com/api/v1/rest/sms/send
نوع ارسال (type): معمولی=0، فلش=1
{
"from": "...",
"recipients": ["...", "..."],
"message": "...",
"type": 0
}
ارسال پیامک در آینده (Future Send)
POST https://ws.panel-payamak.com/api/v1/rest/sms/future-send
{
"from": "...",
"recipients": ["...", "..."],
"message": "...",
"sendDate": "...",
"prtrys": "...",
"sentPeriod": "..."
}
ارسال پیامک مبتنی بر الگوی تعریف شده (Pattern Send)
POST https://ws.panel-payamak.com/api/v1/rest/sms/pattern-send
{
"from": "...",
"recipients": ["...", "..."],
"message": { "var1": "...", "var2": "..." },
"patternId": ...,
"type": 0
}
ارسال پیامک به شمارههای دفترچه تلفن (Phonebook Send)
POST https://ws.panel-payamak.com/api/v1/rest/sms/phonebook-send
{
"from": "...",
"recipients": ["...", "..."],
"bookId": ...,
"message": "...",
"type": 0
}
ارسال همزمان چندین پیامک مختلف (Multiple Send)
POST https://ws.panel-payamak.com/api/v1/rest/sms/multiple-send
توجه: تعداد آرایهها باید برابر باشد.
{
"fromArray": ["...", "..."],
"recipients": ["...", "..."],
"messageArray": ["...", "..."],
"typeArray": [0, 0]
}
وبسرویسهای گزارشگیری
دریافت جزئیات آخرین پیامک ارسال شده (Latest)
GET https://ws.panel-payamak.com/api/v1/rest/sms/latest
{
"status": 200,
"result": {
"status": 0,
"details": {
"id": ...,
"message": "...",
"recipients": [...],
"from": "...",
"state": ...,
"now": "...",
"time": "..."
}
}
}
دریافت وضعیت پیامک (Status)
POST https://ws.panel-payamak.com/api/v1/rest/sms/status
{
"idArray": [..., ..., ...]
}
وبسرویسهای دفترچه تلفن
مشاهدهی فهرست دفترچههای تلفن
GET https://ws.panel-payamak.com/api/v1/rest/my/phonebook
پارامتر name اختیاری است.
{
"status": 200,
"result": {
"status": 0,
"result": [
{ "book_id": ..., "uname": "...", "title": "...", "count": ... }
]
}
}
مشاهدهی جزئیات یک دفترچه تلفن مشخص
GET https://ws.panel-payamak.com/api/v1/rest/my/phonebook/{name}
ساخت یک دفترچه تلفن جدید
POST https://ws.panel-payamak.com/api/v1/rest/phonebook
{
"name": "...",
"numbers": ["...", "...", "..."],
"flag": "..."
}
حذف یک دفترچه تلفن
DELETE https://ws.panel-payamak.com/api/v1/rest/phonebook/{id}
مدیریت شمارههای دفترچه تلفن
دریافت شمارهها: GET https://ws.panel-payamak.com/api/v1/rest/phonebook/{id}/number
افزودن شماره: POST https://ws.panel-payamak.com/api/v1/rest/phonebook/{id}/number با body:
{
"numbers": ["...", "...", "..."],
"flag": "..."
}
حذف شماره: DELETE https://ws.panel-payamak.com/api/v1/rest/phonebook/{id}/number با body مشابه
نمونه کدها
کدهای آماده اتصال به وب سرویس در بخش کدهای آماده و کتابخانههای رسمی در بخش کتابخانهها قابل دریافت است.
مستندات وب سرویس REST پیامکی پیشرو پیامک - نسخه 1.0.0