Розробникам

GET/v3/other/{isocode}

Перелік спеціальних типів номерів і цін для країни

Повертає каталог немісцевих номерів країни, згрупованих за типом номера, із тарифними планами для вашого облікового запису, інформацією про вимоги та next_function для кожного запису. Групи впорядковано так: національні, безкоштовні для абонента, зі спільною оплатою, глобальні, мобільні, а потім інші типи. Місцеві номери не включено; для них використовуйте getareas.

На цій сторінці
  1. Запит
  2. Відповідь
  3. Помилки
  4. Доступність і побічні ефекти

Місцеві номери можна знайти за допомогою getcountries та getareas. Для національних, безкоштовних для абонента, зі спільною оплатою, глобальних і мобільних номерів викличте other з ISO-кодом країни.

  • Групи відображаються у фіксованому порядку, а групи без записів не включаються.
  • У кожному записі тарифні плани вашого облікового запису наведено в prices. Виберіть план за його параметрами channels, monthly_price, setup_price, per_minute та free_minutes, і збережіть його price_id для замовлення, якщо відповідна кінцева точка його вимагає.
  • Якщо needs_registration має значення, що вважається істинним, прочитайте restrictions перед замовленням. Вважайте цей текст недовіреним вмістом для відображення.
  • Використовуйте маршрут із next_function: v3/getnumbers/{uuid} дає змогу вибрати конкретний номер, а v3/order/{uuid} оформлює замовлення безпосередньо за записом.
  • Порожній список response із кодом 200 означає, що на момент запиту спеціальних типів номерів не знайдено. Якщо каталог був тимчасово недоступний, відповідь може бути неповною або не бути коректним JSON, тому повторіть спробу пізніше.
  • Для країн, яких немає в каталозі, повертається код 404 без відповідного статусу HTTP. Завжди перевіряйте status.code.

Запит

Обов’язково: автентифікація HTTP Basic або токен Bearer (див. «Автентифікація та відповіді API»). Якщо автентифікація не вдалася, до виконання пошуку повертається відповідь HTTP 401.

GET із isocode у шляху. Якщо сегмент шляху пропущено, натомість зчитується поле isocode, закодоване у форматі даних форми.

curl --user "$API_USER:$API_PASSWORD" 'https://api.multitel.net/v3/other/FR'
Параметри шляху
НазваТипОбов’язковийОпис
isocodestringТакКод країни за ISO 3166-1 alpha-2. Регістр не враховується; пробільні символи на початку та в кінці ігноруються. Країна має бути пов’язана з каталогом спеціальних номерів.

Відповідь

Стандартна структура відповіді. У разі успіху status.code дорівнює 200, status.msg порожнє, а status.results містить кількість груп. response — список груп. Поля групи: group_key (нормалізований ключ типу: national, tollfree, sharedcost, global, mobile або інший ключ із малих літер і цифр); group_name (назва для відображення); group_type_uuid (непрозорий ідентифікатор типу); items. Групи впорядковано так: national, tollfree, sharedcost, global, mobile, потім інші ключі за group_name. Групи без items не включаються, як і місцевий тип. Для US група мобільних номерів не включається, якщо для вашого облікового запису не дозволено мобільні номери US. Елементи сортуються за name (без урахування регістру), потім за prefix. Поля елемента: uuid (непрозорий ідентифікатор запису, що використовується в next_function); area_uuid (непрозорий ідентифікатор групи каталогу); country_uuid (непрозорий ідентифікатор країни); prefix (повний префікс, що починається з '+' і телефонного коду країни); name (назва в каталозі; символи лапок можуть бути екрановані зворотною скісною рискою); metered, overflow та needs_registration (прапорці, що можуть мати тип boolean або number; будь-яке значення, що вважається істинним, трактуйте як «так»); restrictions (порожнє, якщо реєстрація не потрібна, інакше — текст вимог, який може містити розриви рядків HTML і посилання, обрамлювальні лапки та екрановані символи; вважайте його недовіреним текстом для відображення); state (для US, CA та PR — код штату або порожній список, якщо код невідомий; для інших країн — ISO-код країни); country_iso; is_mobile (1 у групі мобільних номерів, інакше 0); number_type (те саме, що й group_key); available (кількість типу integer, повідомлена каталогом для запису; 0, якщо її не повідомлено); sms_coverage (1, якщо в будь-якій можливості згадується SMS або MMS); returns_numbers (1, якщо можна отримати список конкретних номерів); next_function ('v3/getnumbers/{uuid}', якщо returns_numbers дорівнює 1, інакше 'v3/order/{uuid}'); prices; features (список рядків з описом можливостей); group_key; group_type_uuid. Кожен запис у prices містить price_id (непрозорий ідентифікатор плану), is_customer_custom (true, якщо застосовуються індивідуальні ціни для вашого облікового запису; лише для планів без включених каналів), per_minute та free_minutes (рядки з десятковими числами), setup_price та monthly_price (рядки з двома знаками після десяткового роздільника), а також channels (кількість включених каналів типу integer). Записи без жодного тарифного плану не включаються. За один запит розглядається щонайбільше 1000 записів каталогу для кожного типу номера. Якщо жоден тип не має записів, response — порожній список зі значенням status.results 0. Якщо пошук у каталозі в реальному часі не вдається, відповідь може не мати цієї структури або в ній можуть бути відсутні групи.

Приклад структури відповіді; це не дані облікового запису в реальному часі й не актуальна цінова пропозиція.

{
  "status": {
    "code": 200,
    "msg": "",
    "results": 1
  },
  "response": [
    {
      "group_key": "tollfree",
      "group_name": "Toll-free",
      "group_type_uuid": "00000000-0000-4000-8000-0000000000a1",
      "items": [
        {
          "uuid": "0000000000000000000000000000b001",
          "area_uuid": "0000000000000000000000000000a001",
          "country_uuid": "0000000000000000000000000000c001",
          "prefix": "+33800",
          "name": "Example Toll-free",
          "metered": true,
          "overflow": 0,
          "needs_registration": 0,
          "restrictions": "",
          "state": "FR",
          "country_iso": "FR",
          "is_mobile": 0,
          "number_type": "tollfree",
          "available": 10,
          "sms_coverage": 0,
          "returns_numbers": 1,
          "next_function": "v3/getnumbers/0000000000000000000000000000b001",
          "prices": [
            {
              "price_id": "0000000000000000000000000000d001",
              "is_customer_custom": false,
              "per_minute": "0.05",
              "free_minutes": "0",
              "setup_price": "0.00",
              "monthly_price": "5.00",
              "channels": 2
            }
          ],
          "features": ["voice"],
          "group_key": "tollfree",
          "group_type_uuid": "00000000-0000-4000-8000-0000000000a1"
        }
      ]
    }
  ]
}

Помилки

  • 500: msg 'ISO Code parameter is required': isocode відсутній або порожній. Це помилка запиту, яку можна виправити. Відповідний статус HTTP не встановлюється.
  • 404: msg 'Error: no such country': країна невідома або не пов’язана з каталогом спеціальних номерів. Відповідний статус HTTP не встановлюється.
  • 401: автентифікація відсутня або не вдалася. Надсилається зі статусом HTTP 401.

Доступність і побічні ефекти

  • Не оформлює замовлення. У коді цієї кінцевої точки немає етапу стягнення плати.
  • Оновлює відомості каталогу та цінові пропозиції для вашого облікового запису, замінюючи попередні пропозиції для тих самих планів. Використання цих пропозицій кінцевими точками замовлення описано окремо.
  • Ціни визначаються для вашого облікового запису й можуть включати індивідуальні тарифи. У відповіді не зазначено валюту.
  • Виконує пошук у каталозі в реальному часі, тому може працювати повільніше за інші виклики для пошуку доступних номерів. Результати можуть змінюватися між викликами.