Доступ до облікового запису та проєкту
Використовуйте активований обліковий запис API через HTTPS з дозволеної IP-адреси. Проєкт має належати цьому обліковому запису й не має бути видаленим. Використовуйте унікальний ідентифікатор проєкту з процесу оформлення замовлення на перенесення, а не його числовий ідентифікатор у базі даних чи номер телефону. Під час формування запиту закодуйте ідентифікатор проєкту за правилами URL-кодування.
Запит
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
"https://api.multitel.net/v3/lnp/project/$PROJECT_ID/status"Ця кінцева точка не зчитує тіло запиту, параметри розбиття на сторінки чи фільтр за датою.
Відповідь
Вигаданий приклад відповіді.
{
"status": {
"code": 200,
"msg": "Project Status"
},
"response": {
"uniqueid": "PROJECT_EXAMPLE",
"status": 2,
"status_str": "Completed",
"counts": {
"total": 2,
"pending": 0,
"in_progress": 0,
"completed": 1,
"rejected": 1
}
}
}Зовнішнє поле status.code повідомляє результат API. Окреме поле response.status містить зведений стан перенесення, обчислений на основі даних проєкту. Не плутайте ці два поля.
Зведення не є результатом для всіх номерів
Для зведення вибирається In Progress, якщо хоча б один номер має цей стан; інакше — Pending, потім — Completed, потім — Rejected. Якщо жодного відповідного відомого стану немає, за замовчуванням вибирається Pending. Тому для проєкту, що містить як номери із завершеним перенесенням, так і відхилені номери, повертається Completed, хоча в ньому досі є відхилені номери.
Перш ніж вирішити, що весь проєкт завершено, завжди перевіряйте лічильники та список окремих номерів. counts.total враховує кожен запис номера в проєкті; інші лічильники охоплюють лише чотири відомі значення стану, тому за наявності інших значень їхня сума може не збігатися із загальною кількістю. Для проєкту без номерів усі лічильники дорівнюють нулю, а зведений стан — Pending.
Тлумачення стану перенесення
| Значення | Назва |
|---|---|
| 0 | Pending |
| 1 | In Progress |
| 2 | Completed |
| 9 | Rejected |
Зберігайте числовий стан і передбачайте обробку невідомих значень. Якщо назва стану невідома, замість неї використовується збережене значення; нова назва не гарантується. Самі по собі збережений стан завершення чи запланована дата не перевіряють маршрутизацію вхідних викликів або всі послуги, пов’язані з номером.
Помилки та обмеження
Перевіряйте як відповідь HTTP, так і status.code/status.msg. Якщо проєкт відсутній, видалений або не належить обліковому запису, повертається код API 404 із повідомленням, що проєкт не знайдено. Також застосовуються автентифікація та обмеження за IP-адресою джерела. Приклади не надсилають реального запиту, а успішна відповідь не доводить, що оператор прийняв або завершив перенесення.
Наслідки виклику
Ця кінцева точка зчитує збережені лічильники проєкту. У перевіреному обробнику вона не подає заявку на перенесення, не змінює стан, не ініціює виклик і не списує кошти з облікового запису. Вона не надає опитування оператора в реальному часі чи підписки на сповіщення через вебхуки.