مستندات REST API

به مستندات REST API شیزنامبر خوش آمدید. این مستندات برای توسعه‌دهندگانی ارائه شده است که می‌خواهند با سرویس شیزنامبر ارتباط برقرار کرده و از قابلیت‌های ارائه شده در آن بهره ببرند. شیزنامبر یک سرویس فراهم کننده شماره‌های مجازی و کد تائیدیه جهت ورود به سرویس های مختلفی از جمله تلگرام، واتس‌اپ، توییتر و... می باشد.

احزاز هویت

جهت استفاده از خدمات وبسرویس شیزنامبر در ابتدا باید کلید وبسرویس خود را از همین صفحه دریافت کنید سپس قبل از ارسال درخواست به اندپوینت مورد نظر کلید خود را در هدر X-API-KEY درج نمائید

جهت دریافت کلید API خود در ابتدا باید وارد شوید

دامنه ی API

دامنه ی تمامی اندپوینت های وبسرویس به شرح زیر می باشد:

api.shiznumber.com/api/

ارسال درخواست

جهت ارسال درخواست مراحل احزاز هویت را انجام دهید سپس اطمینان حاصل فرمائید که در هدر Accept گزینه ی application/json قرار گرفته شده باشد

مثال:

GET https://api.shiznumber.com/api/user HTTP/1.1
Content-Type: application/json
Accept: application/json
X-API-KEY: YOUR API KEY

ارور های احتمالی

کد HTTPپیام
404کلید API یافت نشد
403کلید API اشتباه می باشد

دریافت اطلاعات کاربری

GETapi.shiznumber.com/api/user
{
  "user": {
    "id": 2,
    "mobile": "09000000000",
    "created_at": "2022-01-09 19:17:35",
    "balance": 27200
  }
}

دریافت شماره ها

GETapi.shiznumber.com/api/numbers
[
  {
    "id": 57172,
    "count": 3,
    "price": 64400,
    "operator": "shiz62",
    "icon": "thumbs-up|star",
    "badges": [
      { "key": "thumbs-up", "label": "پیشنهادی", "note": "...", "tone": "good" },
      { "key": "star", "label": "پرطرفدار", "note": "...", "tone": "good" }
    ],
    "country": {
      "name": "Turkey",
      "fa_name": "ترکیه",
      "slug": "turkey",
      "iso_code": "TR",
      "dialing_code": "+90",
      "flag": "..."
    },
    "service": {
      "name": "Facebook",
      "slug": "facebook",
      "fa_name": "فیسبوک",
      "img": "..."
    }
  },
  {
    "id": 57237,
    "count": 4606,
    "price": 42000,
    "operator": null,
    "icon": null,
    "badges": [],
    "country": {
      "name": "Afghanistan",
      "fa_name": "افغانستان",
      "slug": "afghanistan",
      "iso_code": "AF",
      "dialing_code": "+93",
      "flag": "..."
    },
    "service": {
      "name": "Telegram",
      "slug": "telegram",
      "fa_name": "تلگرام",
      "img": "..."
    }
  },
  ...
]

نشان‌های کیفیت شماره

هر شماره دو فیلد اضافه دارد: icon همان مقدار خام و با | جدا شده، و badges که آرایه‌ای از { key, label, note, tone } است. برای نمایش، label را بنویسید و رنگ را از tone بگیرید — این‌طور نشان تازه‌ای که بعداً اضافه شود هم بدون تغییر کد شما درست نمایش داده می‌شود.

keyعنوانمعنیtone
thumbs-upپیشنهادیسرویس‌های پیشنهادی، تحویل کد معمولاً سریع.good
starپرطرفدارسرویس‌های بدون ریپورت و پرطرفدار.good
repeatکد مجددامکان دریافت کد مجدد پس از چند ساعت یا چند روز.good
dollar-signبازگشت وجهگارانتی بازگشت وجه در صورت خرابی شماره (به پشتیبانی پیام دهید).good
cameraبازگشت وجه با فیلمبازگشت وجه در صورت خرابی شماره، به شرط فیلم‌برداری از صفحه هنگام خرید که خطا را نشان دهد.info
videoبازگشت وجه با فیلمبازگشت وجه در صورت خرابی شماره، به شرط فیلم‌برداری از صفحه هنگام خرید که خطا را نشان دهد.info
lockنیاز به احراز هویتبرای خرید این شماره باید پروفایل شما تأیید شده باشد.warn
shield-checkسالم بدون ریپورتشماره‌ای که پیش‌تر هرگز در تلگرام ریپورت نشده است.good
reportاحتمال ریپورتارزان‌تر، ولی ممکن است قبلاً در تلگرام ریپورت شده باشد؛ احتمال محدودیت اکانت بیشتر است و بازگشت وجه برای ریپورت ندارد.warn
alert-triangleتست نشدهتست نشده یا نارضایتی بالا، بدون بازگشت وجه در صورت خرابی یا ریپورت. برای سفارش حجیم اول تست کنید.bad
lock یعنی خرید این شماره فقط با پروفایل تأیید‌شده ممکن است؛ سفارش آن با حساب تأییدنشده رد می‌شود. repeat هم یعنی همان شماره بعد از تکمیل شدن سفارش می‌تواند دوباره کد بگیرد (بخش «دریافت کد مجدد» پایین همین صفحه).

دریافت اطلاعات یک شماره

دریافت اطلاعات یک شماره با استفاده از id شماره

GETapi.shiznumber.com/api/numbers/{id}

مثال:

api.shiznumber.com/api/numbers/57172
{
  "id": 57172,
  "count": 3,
  "price": 64400,
  "operator": "shiz62",
  "icon": "thumbs-up|star",
  "badges": [
    { "key": "thumbs-up", "label": "پیشنهادی", "note": "...", "tone": "good" },
    { "key": "star", "label": "پرطرفدار", "note": "...", "tone": "good" }
  ],
  "country": {
    "name": "Turkey",
    "fa_name": "ترکیه",
    "slug": "turkey",
    "iso_code": "TR",
    "dialing_code": "+90",
    "flag": "..."
  },
  "service": {
    "name": "Facebook",
    "slug": "facebook",
    "fa_name": "فیسبوک",
    "img": "..."
  }
}

سفارش شماره مجازی

دریافت شماره و ثبت سفارش با استفاده از id

دریافت شماره از کیف پول شما کسر خواهد کرد
POSTapi.shiznumber.com/api/numbers/{id}

مثال:

api.shiznumber.com/api/numbers/57172
{
  "message": "شماره مورد نظر با موفقیت سفارش داده شد",
  "order": {
    "id": 34,
    "ordered_number": "923255262",
    "amount": 19500,
    "sms_code": 21341,
    "sms_code_str": "Your account verification code is 21341",
    "code": "SO-XDHJZSO",
    "number": {
      "id": 56107,
      "count": 0,
      "price": 100800,
      "operator": "shiz44",
      "country": {
        "name": "Vietnam",
        "fa_name": "ویتنام",
        "slug": "vietnam",
        "iso_code": "VN",
        "dialing_code": "+84",
        "flag": "..."
      },
      "service": {
        "name": "Telegram",
        "slug": "telegram",
        "fa_name": "تلگرام",
        "img": "..."
      }
    },
    "status": {
      "name": "waiting",
      "fa_name": "در حال انجام",
    },
    "created_at": "1402/06/28 00:27:21",
    "updated_at": "1402/06/28 00:27:52"
  }
}

ریسپانس سفارش

ریسپانس شامل اطلاعات سفارش، شماره، سرویس و کشور می باشد

فیلدتوضیحات
IDآیدی سفارش
ordered_numberشماره دریافت شده برای سفارش
amountهزینه ی سفارش
sms_codeکد وریفیکیشن سرویس برای شماره
sms_code_strمتن وریفیکیشن سرویس برای شماره
codeکد سفارش
number { ... }اطلاعات شماره سفارش داده شده
status { ... }وضعیت سفارش
created_atتاریخ سفارش
updated_atتاریخ آپدیت شدن سفارش

ارور های احتمالی

کد HTTPپیامتوضیحات
422این شماره را نمیتوان سفارش داددر صورتی که شماره غیرفعال باشد
404شماره یافت نشد
402اعتبار کیف پول شما کافی نیست
500Internal Server Error

دریافت کد وریفیکیشن سفارش

دریافت کد وریفیکیشن سفارش با استفاده از id سفارش

GETapi.shiznumber.com/api/orders/{id}

مثال:

api.shiznumber.com/api/orders/50
{
  "id": 34,
  "ordered_number": "923255262",
  "amount": 19500,
  "sms_code": 21341,
  "sms_code_str": "Your account verification code is 21341",
  "code": "SO-XDHJZSO",
  "number": {
    "id": 56107,
    "count": 0,
    "price": 100800,
    "operator": "shiz44",
    "country": {
      "name": "Vietnam",
      "fa_name": "ویتنام",
      "slug": "vietnam",
      "iso_code": "VN",
      "dialing_code": "+84",
      "flag": "..."
    },
    "service": {
      "name": "Telegram",
      "slug": "telegram",
      "fa_name": "تلگرام",
      "img": "..."
    }
  },
  "status": {
    "name": "waiting",
    "fa_name": "در حال انجام",
  },
  "created_at": "1402/06/28 00:27:21",
  "updated_at": "1402/06/28 00:27:52"
}

ارور های احتمالی

کد HTTPپیام
404 کاربر فاقد سفارش مورد نظر می باشد
422سفارش مورد نظر شما به اتمام رسیده است

کنسل کردن سفارش

در صورتی که عملیات کنسل سفارش شما موفقیت آمیز باشد، هزینه ی آن به کیف پول شما عودت خواهد یافت
توجه: فقط در صورتی میتوانید سفارشی را کنسل کنید که کدی دریافت نکرده باشد

کنسل کردن سفارش با استفاده از id سفارش

PUTapi.shiznumber.com/api/orders/{id}/cancel
api.shiznumber.com/api/orders/50/cancel
{
  "message": "سفارش با موفقیت لغو و مبلغ آن به کیف پول پس داده شد"
}
کد HTTPپیام
404 کاربر فاقد سفارش مورد نظر میباشد
422 سفارش را فقط پس از گذر X ثانیه میتوان کنسل کرد
422 سفارش مورد نظر شما به اتمام رسیده است

گزارش دادن سفارش

در صورتی که عملیات گزارش سفارش شما موفقیت آمیز باشد، هزینه ی آن به کیف پول شما عودت خواهد یافت
توجه: فقط در صورتی میتوانید سفارش را گزارش دهید که کدی دریافت کرده باشید

گزارش دادن سفارش با استفاده از id سفارش در صورتی که کد دریافت شده غلط باشد

PUTapi.shiznumber.com/api/orders/{id}/report
api.shiznumber.com/api/orders/50/report
{
  "message": "سفارش با موفقیت گزارش و مبلغ آن به کیف پول پس داده شد"
}
کد HTTPپیام
404 کاربر فاقد سفارش مورد نظر میباشد
422 سفارش را فقط پس از گذر X ثانیه میتوان گزارش داد
422 سفارش مورد نظر شما به اتمام رسیده است
422 گزارش دادن سفارش مورد نظر شکست خورد

دریافت کد مجدد برای سفارش تکمیل‌شده (شماره‌های shiz1)

شماره‌های اپراتور shiz1 تا مدتی پس از تکمیل سفارش، نشستِ حساب را نگه می‌دارند؛ بنابراین می‌توانید دوباره با همان شماره در برنامه درخواست ورود بدهید و کد تازه را از این مسیر بخوانید. این عملیات رایگان است.
ترتیب مهم است: اول در برنامه با همان شماره «ورود» بزنید، سپس این درخواست را بفرستید. تا یک سال پس از سفارش و فقط تا زمانی که نشست حساب زنده باشد (اگر نشست‌های دیگر حساب را ببندید، دسترسی از بین می‌رود). سفارش‌هایی که این امکان را دارند در پاسخ‌ها "can_recode": true دارند.
PUTapi.shiznumber.com/api/orders/{id}/recode
api.shiznumber.com/api/orders/50/recode
{
  "message": "کد جدید دریافت شد",
  "fresh": true,
  "code": "23647",
  "order": { "id": 50, "number": "18457802932", "sms_code": "11741", "sms_code_str": "11741
23647", "can_recode": true, "...": "..." }
}

fresh یعنی کد با کدهای قبلی فرق دارد؛ اگر false باشد، همان کد قبلی برگشته و هنوز کد تازه‌ای صادر نشده است.

کد HTTPپیام
409هنوز کد جدیدی برای این شماره نرسیده است — ابتدا در برنامه درخواست ورود بدهید و چند ثانیه بعد دوباره امتحان کنید
410دسترسی به این حساب دیگر ممکن نیست (نشست حساب پایان یافته)
422دریافت کد مجدد فقط برای سفارش‌های تکمیل‌شده ممکن است / این سفارش دیگر قابلیت دریافت کد مجدد ندارد
422TOO_EARLY تعداد درخواست‌های بیش از حد — این مسیر برای هر کاربر هر ۴ ثانیه یک درخواست را می‌پذیرد. این خطا موقتی است؛ کمی صبر کنید و دوباره بفرستید (سفارش سالم است).

لیست سفارشات

GETapi.shiznumber.com/api/orders
[
  {
    "message": "شماره مورد نظر با موفقیت سفارش داده شد",
    "order": {
      "id": 34,
      "ordered_number": "923255262",
      "amount": 19500,
      "sms_code": 21341,
      "sms_code_str": "Your account verification code is 21341",
      "code": "SO-XDHJZSO",
      "number": {
        "id": 56107,
        "count": 0,
        "price": 100800,
        "operator": "shiz44",
        "country": {
          "name": "Vietnam",
          "fa_name": "ویتنام",
          "slug": "vietnam",
          "iso_code": "VN",
          "dialing_code": "+84",
          "flag": "..."
        },
        "service": {
          "name": "Telegram",
          "slug": "telegram",
          "fa_name": "تلگرام",
          "img": "..."
        }
      },
      "status": {
        "name": "waiting",
        "fa_name": "در حال انجام",
      },
      "created_at": "1402/06/28 00:27:21",
      "updated_at": "1402/06/28 00:27:52"
    }
  },
  ...
]

دریافت یک سفارش

دریافت یک سفارش با استفاده از id سفارش

GETapi.shiznumber.com/api/orders/{id}
api.shiznumber.com/api/orders/34
{
  "id": 34,
  "ordered_number": "923255262",
  "amount": 19500,
  "sms_code": 21341,
  "sms_code_str": "Your account verification code is 21341",
  "code": "SO-XDHJZSO",
  "number": {
    "id": 56107,
    "count": 0,
    "price": 100800,
    "operator": "shiz44",
    "country": {
      "name": "Vietnam",
      "fa_name": "ویتنام",
      "slug": "vietnam",
      "iso_code": "VN",
      "dialing_code": "+84",
      "flag": "..."
    },
    "service": {
      "name": "Telegram",
      "slug": "telegram",
      "fa_name": "تلگرام",
      "img": "..."
    }
  },
  "status": {
    "name": "waiting",
    "fa_name": "در حال انجام",
  },
  "created_at": "1402/06/28 00:27:21",
  "updated_at": "1402/06/28 00:27:52"
}

لیست سرویس ها

دریافت لیست سرویس های فعال

GETapi.shiznumber.com/api/services
[
  {
    "name": "Facebook",
    "slug": "facebook",
    "fa_name": "فیسبوک",
    "img": "..."
  },
  {
    "name": "Telegram",
    "slug": "telegram",
    "fa_name": "تلگرام",
    "img": "..."
  },
  {
    "name": "Microsoft",
    "slug": "microsoft",
    "fa_name": "مایکروسافت",
    "img": "..."
  },
  ...
]

دریافت اطلاعات یک سرویس

دریافت اطلاعات یک سرویس با استفاده از slug سرویس

GETapi.shiznumber.com/api/services/{slug}

مثال:

api.shiznumber.com/api/services/telegram
{
  "name": "Telegram",
  "slug": "telegram",
  "fa_name": "تلگرام",
  "img": "..."
}

دریافت شماره های یک سرویس

دریافت شماره های یک سرویس با استفاده از slug سرویس

GETapi.shiznumber.com/api/services/{slug}/numbers

لیست کشور ها

دریافت لیست کشور های فعال

GETapi.shiznumber.com/api/countries
[
  {
    "name": "Afghanistan",
    "fa_name": "افغانستان",
    "slug": "afghanistan",
    "iso_code": "AF",
    "dialing_code": "+93",
    "flag": "..."
  },
  {
    "name": "Angola",
    "fa_name": "آنگولا",
    "slug": "angola",
    "iso_code": "AO",
    "dialing_code": "+244",
    "flag": "..."
  },
  {
    "name": "Argentina",
    "fa_name": "آرژانتین",
    "slug": "argentina",
    "iso_code": "AR",
    "dialing_code": "+54",
    "flag": "..."
  },
  ...
]

دریافت اطلاعات یک کشور

دریافت اطلاعات یک کشور با استفاده از slug کشور

GETapi.shiznumber.com/api/countries/{slug}

مثال:

api.shiznumber.com/api/countries/telegram
  {
    "name": "Afghanistan",
    "fa_name": "افغانستان",
    "slug": "afghanistan",
    "iso_code": "AF",
    "dialing_code": "+93",
    "flag": "..."
},

دریافت شماره های یک کشور

دریافت شماره های یک کشور با استفاده از slug کشور

GETapi.shiznumber.com/api/countries/{slug}/numbers