Документація REST API

REST API пошуку маршрутизації LRN

Дізнайтеся номер маршрутизації та доступну інформацію про оператора для телефонного номера в Північній Америці за фіксованою ціною.

Обирайте API та облікові дані разом

Схвалені облікові записи з профілями «Розробники й автоматизація», «Бізнес» і «Постачальники комунікаційних послуг» можуть інтегрувати ввімкнені послуги. Індивідуальному розробникові не потрібно видавати себе за компанію. Для SMS/MMS із застосунків потрібні відповідне погодження надсилання та реєстрація. Послуга «Для приватних осіб і сімей» не має доступного клієнтам API для надсилання повідомлень.

Сімейство APIБазова URL-адресаАвтентифікація та результат
Комунікації v3https://api.multitel.net/v3Схвалені облікові дані Basic; придатні надані токени лише для операцій, які їх підтримують. JSON status і response.
Реєстрація екстрених викликівhttps://api.multi.tel/emergencyСхвалені облікові дані Basic або спеціально наданий доступ за bearer-токеном. JSON code, message і data.
REST-інтеграції порталуХост і операція, указані в довіднику розробника вашого облікового записуВикористовуйте задокументовані для цієї операції облікові дані, області доступу та схему. Запити із сеансу браузера використовують окремий інтерфейс.

Перш ніж використовувати приклади, задайте MULTITEL_API_USERNAME і MULTITEL_API_PASSWORD через конфігурацію секретів вашого сервера. Ніколи не вбудовуйте їх у публічний JavaScript для браузера, URL-адреси чи систему контролю версій. Окремими обліковими даними можна керувати в розділі налаштувань інтеграції API.

Пошук номера

GET /v3/lrn/{number} приймає номер призначення в шляху. Необов’язковий номер абонента, що телефонує, можна вказати як /v3/lrn/{number}/{ani} для інформації, що залежить від джерела виклику. Указуйте північноамериканські телефонні номери лише цифрами, з кодом країни, де це застосовно; у прикладах використано зарезервовані вигадані номери.

curl --fail-with-body \
  --user "$MULTITEL_API_USERNAME:$MULTITEL_API_PASSWORD" \
  --header "Accept: application/json" \
  "https://api.multitel.net/v3/lrn/12025550123"
curl --fail-with-body \
  --user "$MULTITEL_API_USERNAME:$MULTITEL_API_PASSWORD" \
  --header "Accept: application/json" \
  "https://api.multitel.net/v3/lrn/12025550123/12025550124"

Виконання пошуку з дійсними обліковими даними тарифікується. Ціна становить 0,00025 USD за пошук: 0,25 USD за 1 000 або 250 USD за мільйон. Знижок за обсяг немає. Це пошук інформації про маршрутизацію; він не здійснює телефонного виклику.

Читання результату

{
  "status": {
    "code": 200,
    "msg": "Success"
  },
  "response": {
    "lrn": "12025550123",
    "ported": 0,
    "ocn": "",
    "lata": "",
    "rc": "",
    "cost": "$0.00025"
  }
}

Цей вигаданий приклад демонструє лише форму відповіді; це не виміряний результат маршрутизації. Перш ніж використовувати response, перевірте status.code. Поле cost — це рядок із префіксом валюти, а не число JSON.

ПолеЗначення
lrnLocation Routing Number, що використовується для визначення пункту призначення маршрутизації.
portedІндикатор перенесення номера, наданий цим пошуком: зазвичай 0 або 1. Не використовуйте його як доказ володіння чи права на послугу.
ocnOperating Company Number, якщо його надано.
lataLocal Access and Transport Area, якщо її надано.
rcТарифний центр, якщо його надано.
city, state, lec, lectype, jurisdiction, localДодаткові відомості про місцезнаходження, оператора чи походження, якщо вони доступні. Вони можуть бути відсутні або порожні.

Не вимагайте наявності всіх полів маршрутизації. Зокрема, результати для номерів із безкоштовними дзвінками для абонента можуть не містити відомостей про місцевий тарифний центр і код оператора. Повернений LRN не гарантує досяжності в реальному часі та не є перевіркою якості виклику.

Використання пошуків у вашому процесі маршрутизації

  1. Перевірте й нормалізуйте запитуваний номер, перш ніж надсилати його.
  2. Перевіряйте HTTP-статус і статус застосунку. Для усунення несправностей зберігайте запис про номер, час і результат, із якого вилучено конфіденційні дані.
  3. Використовуйте лише ті поля, що стосуються вашого правила маршрутизації, і явно обробляйте відсутні значення.
  4. Обмежуйте повторні спроби після невизначеної відповіді. Повторення пошуку може спричинити ще одне стягнення плати; для цієї кінцевої точки немає задокументованого ключа ідемпотентності.

Дивіться продукт LRN і фіксовану ціну. Шлях у публічному OpenAPI містить сегмент ANI; розгорнута реалізація LRN також приймає коротший запит без ANI. lrninfo — окрема операція, і її не слід підставляти замість цієї кінцевої точки.

Обробка помилок і повторних спроб

Збій автентифікації або дозволів
Перевірте, чи ввімкнено облікові дані API, яку послугу дозволено та які обмеження діють для IP-адреси джерела. Cookie сеансу порталу не є обліковими даними для інтеграції.
Недостатньо коштів або невиконане погодження
Перш ніж повторювати операцію, усуньте проблему з балансом рахунку, погодженням надсилання або вимогою щодо документів.
Немає результату
Сприймайте порожній перелік номерів або відсутнє ім’я абонента як звичайний результат. Не припускайте, що синтаксично коректний номер має всі служби.
Тайм-аут мережі або збій служби
Для читання використовуйте обмежену кількість повторних спроб із затримкою, що зростає. Для купівлі, надсилання або реєстрації спершу перевірте стан операції: повторення прийнятого запиту може продублювати платну дію.

Підтримка ідемпотентності залежить від сімейства API. Emergency API підтримує ключі повторних спроб, але це не робить довільні запити v3 ідемпотентними. Зберігайте для служби підтримки часові позначки, повернуті ідентифікатори та відповіді, з яких вилучено конфіденційні дані.

Продовжте з довідником вашого облікового запису

Довідник після входу фільтрує операції відповідно до ваших дозволів і підключених послуг. Користуйтеся його точним хостом, типом облікових даних, полями запиту та схемою відповіді. Консолі можуть виконувати реальні операції, зокрема покупки та надсилання повідомлень.