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

GET/v3/inventory/{number}

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

Получение сохранённых настроек и состояния приобретённых номеров с возможностью фильтрации по телефонному номеру.

На этой странице
  1. Запрос
  2. Ответ
  3. Фильтрация и постраничная выдача
  4. Нет подходящих номеров
  5. Следующие шаги

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

Запрос

Используйте учётные данные API на стороне сервера и передавайте их по HTTPS. В примерах учётные данные считываются из переменных окружения; действующих учётных данных в них нет. Проверяйте status.code в теле JSON, а также статус HTTP. Эти устаревшие обработчики не всегда устанавливают статус ошибки HTTP при ошибке приложения.

curl --user "$MULTITEL_API_USER:$MULTITEL_API_PASSWORD" \
  "https://api.multitel.net/v3/inventory"

Для фильтрации по одному сохранённому телефонному номеру используйте необязательный вариант пути:

curl --user "$MULTITEL_API_USER:$MULTITEL_API_PASSWORD" \
  "https://api.multitel.net/v3/inventory/12025550100"

Указывайте сохранённый телефонный номер в международном формате цифрами, включая код страны. Не передавайте вместо него добавочный номер АТС, UUID номера, идентификатор зоны или идентификатор префикса. Указанный номер служит для выбора существующей записи; его передача не приводит к покупке или настройке номера.

Ответ

Поле response при успешном выполнении всегда содержит массив, в том числе при использовании пути с одним номером. status.results — длина массива.

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

{
  "status": {
    "code": 200,
    "msg": "",
    "results": 1
  },
  "response": [
    {
      "number": "12025550100",
      "uuid": "NUMBER_UUID",
      "description": "Main reception",
      "isocode": "US",
      "config": {
        "uri": "sip:reception@example.com",
        "uri2": "",
        "uri3": "",
        "forward_destination": "",
        "sms_uri": "",
        "sms_forward_destination": ""
      },
      "features": {
        "voice": "1",
        "sms": "1",
        "mms": "0"
      },
      "status": {
        "capacity": {
          "assigned_channels": "2",
          "used_channels": "0",
          "overflow": "0",
          "overage_charge": "0.01"
        },
        "origination": {
          "origination_trunk_id": "ORIGINATION_ID",
          "origination_trunk_name": "ORIGINATION_NAME",
          "origination_country_iso": "US",
          "origination_continent_iso": "NA",
          "origination_continent_name": "North America"
        },
        "service_active": "1",
        "force_codec": "",
        "force_dtmf": ""
      },
      "billing": {
        "cnam": "0",
        "overflow": "0",
        "autorenew": "1",
        "persistent": "0",
        "date_created": "2026-01-01 00:00:00"
      },
      "price": {
        "setup_price": "0.00",
        "monthly_price": "1.00",
        "per_minute": "0.01",
        "free_minutes": "0",
        "remaining_minutes": "0"
      }
    }
  ]
}
Возвращаемые поля номера
ПолеЗначение
number, uuid, description, isocodeСохранённый телефонный номер, непрозрачный идентификатор номера, описание и код страны.
configСохранённые поля направлений голосовых вызовов, внешней переадресации, направления SMS и переадресации SMS. Этот метод API не изменяет их.
featuresСохранённые флаги поддержки голосовых вызовов, SMS и MMS. Не гарантируется, что сохранённые флаги устаревшего формата имеют логический тип JSON.
status.capacityКоличество выделенных и используемых каналов, настройка переполнения и сохранённая плата за превышение лимита. Это сохранённые метаданные, а не актуальное предложение по ёмкости или результат проверки реальным звонком.
status.originationСохранённые метаданные источника вызовов. Рассматривайте идентификаторы как непрозрачные значения; не стройте логику приложения на основе внутренних названий.
status.service_active, force_codec, force_dtmfСохранённые поля активации и настроек медиапотоков. Сам по себе флаг не подтверждает успешное прохождение входящего вызова.
billingСохранённые значения CNAM, переполнения, продления, постоянного сохранения и создания. Их чтение не изменяет настройки продления или другие настройки оплаты.
priceСохранённые цены за подключение, за месяц и за минуту, а также лимиты минут. Обработчик не предоставляет поле валюты или актуальное ценовое предложение. Не определяйте валюту по значениям из примера и не используйте их как актуальное ценовое предложение на покупку.

Фильтрация и постраничная выдача

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

Нет подходящих номеров

Если в учётной записи нет подходящих неаннулированных записей, в теле JSON поле status.code имеет значение 404, а сообщение содержит no numbers found. Пустой массив с признаком успешного выполнения не возвращается. Сообщение содержит суффикс со ссылкой на исходный код, который клиентам не следует разбирать как стабильный идентификатор.

Следующие шаги

Используйте numberinfo для получения дополнительных полей регистрации и ссылочных данных номера из устаревшего формата для одного номера. Проверьте направления голосовых вызовов и сообщений, прежде чем изменять какой-либо маршрут отдельной операцией настройки.