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

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

Чтение событий проекта переноса номеров

Получение сохранённой истории проекта и обработка исходных данных событий, в том числе данных с некорректным форматом.

На этой странице
  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/events"

Ответ

Вымышленный пример ответа.

{
  "status": {
    "code": 200,
    "msg": "Project Events",
    "results": 1
  },
  "response": [
    {
      "id": 31,
      "subject": "Example project update",
      "event": "{\"type\":\"comment\",\"value\":\"Example update\",\"source\":\"Example source\"}",
      "type": "comment",
      "value": "Example update",
      "source": "Example source",
      "date_created": "2026-10-23 12:00:00"
    }
  ]
}

Для существующего проекта без событий возвращаются код API 200, пустой список и значение status.results, равное 0. Результаты запрашиваются в порядке убывания времени создания; дополнительная сортировка при совпадении времени, разбиение на страницы, курсор и фильтр по дате отсутствуют.

Внимательно изучайте данные события

id — числовой идентификатор строки события, subject — сохранённая тема события, а date_created — сохранённое значение даты и времени события. Конечная точка сохраняет исходную строку event и также пытается декодировать содержащиеся в ней поля type, value и source. Если данные не являются объектом JSON или свойство отсутствует, соответствующее поле после разбора представляет собой пустую строку.

Данные события не ограничены фиксированным набором значений и не имеют гарантированной схемы обычного текста. Не считайте текст источника подтверждённым удостоверением личности и не отображайте содержимое события как HTML. Обрабатывайте исходные события только в серверных процессах с контролем доступа и показывайте авторизованным пользователям лишь допустимый для них текст. У этой конечной точки нет отдельного фильтра видимости событий для сотрудников и клиентов или механизма скрытия содержимого.

История не гарантирует доставку

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

Ошибки и ограничения

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

Последствия вызова

Проверенный обработчик читает сохранённые события и не изменяет проект, не запускает перенос и не списывает средства с учётной записи. Проверка видимости событий, создаваемых компонентами записи, и тестирование учётной записи с аутентификацией остаются частью предстоящей проверки контракта API.