Розробникам

GET/v3/lnp/project/{uniqueid}/status

Перевірте стан проєкту перенесення номерів

Перегляньте зведення проєкту та кількість номерів за кожним станом без отримання облікових даних для доступу до білінгу.

На цій сторінці
  1. Доступ до облікового запису та проєкту
  2. Запит
  3. Відповідь
  4. Зведення не є результатом для всіх номерів
  5. Тлумачення стану перенесення
  6. Помилки та обмеження
  7. Наслідки виклику

Доступ до облікового запису та проєкту

Використовуйте активований обліковий запис 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.

Тлумачення стану перенесення

Відомі значення стану номера
ЗначенняНазва
0Pending
1In Progress
2Completed
9Rejected

Зберігайте числовий стан і передбачайте обробку невідомих значень. Якщо назва стану невідома, замість неї використовується збережене значення; нова назва не гарантується. Самі по собі збережений стан завершення чи запланована дата не перевіряють маршрутизацію вхідних викликів або всі послуги, пов’язані з номером.

Помилки та обмеження

Перевіряйте як відповідь HTTP, так і status.code/status.msg. Якщо проєкт відсутній, видалений або не належить обліковому запису, повертається код API 404 із повідомленням, що проєкт не знайдено. Також застосовуються автентифікація та обмеження за IP-адресою джерела. Приклади не надсилають реального запиту, а успішна відповідь не доводить, що оператор прийняв або завершив перенесення.

Наслідки виклику

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