Разработчикам

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-адресу. Примеры не выполняют реальный запрос, а успешный ответ не доказывает, что оператор принял заявку на перенос или завершил перенос.

Результаты выполнения

Эта конечная точка считывает сохраненные счетчики проекта. В проверенном обработчике она не отправляет заявку на перенос, не изменяет статус, не инициирует вызов и не списывает средства с учетной записи. Она не предоставляет опрос оператора в реальном времени или подписку на вебхуки.