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

Все запросы выполняются по протоколу HTTPS. В описании делее Домен и АТС идентичные понятия и обозначают выделенное виртуальное Если поле является обязательным, то в имени добавляется * Модели всех объектов содержат поле числовое поле ID. В примерах используются переменные, обозначенные как {{ Переменная }}:

Используемые переменные:

ПеременнаяОписание
v2_hostАдрес личного кабинета платформы
usernameЛогин пользователя
passwordПароль пользователя
auth_tokenКлюч, полученные в результате выполнения Авторизация

Пользователи операторского типа могут работь с объектами и мотодами клиентов, При этом в запросах необходимо передовать domain_id. Пример получения списка номеров домена, если авторизация была выполнена учетной записью оператора платформы.POST http://{{v2_host}}/api/ Content-Type: application/json Authorization: Bearer {{auth_token}} { «action»: «list», «obj»: «DomainUser», «action_id»: «123», «params»: { «domain_id»: 3 }}

Как правило, для всех объектов доступен следующий набор методов:

ДействиеОписание
listПолучение списка объектов.
getПолучение объекта.
appendДобавление объекта.
updateОбновление объекта.
deleteУдаление объекта.

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

Коды ошибок:

msg_idОписание
100Не типизированная ошибка, описание в поле text.
10000Не найдено поле domain_id для поиска домена. Возникает только в объектах Домена.
10001Не удалось найти домена по его id.
10002Не удалось найти побъект по указанным параметрам. Парметры в поле filter.
10003Ошибка проверки уникальности. fields и values содержат значения для проверки.
10004Запрашиваемое действие не доступно для объекта.
10005Ошибка в значении поля. Коды ошибок.
10006Ошибка связанности объектов. К примеру запрашивают объект из чужого Домена.
10007Обибка связанности объекто на уровне базы данных.
10008Ошибка конвертации аудио файла.
10009Ошибка выполнения действия над объектом, связанная с его содержимом.
10010Параметры запроса конфликтуют с другими данными.
10011Ошибка действий на выключенным объектом.
10012Ошибка ограничения количества объектов.
10013Ошибка параметров элементов диалплана.
10014Ошибка данных, передаваемых в диалплане.
10015Ошибка, связанная с тарифными ограничениями.
10016Ошибка, связанная с ограничениями лицензии на платформу.
10017Ошибка изменения режима работы домена. Домен содержит элементы большего режима.
10018Ошибка тестирования интеграций
10019Попытка доступа к интеграции, не доступной в Домене.
10020Ошибка, связанная с запретом дейтсвия над объектов.

Справочник кодов ошибок 10005:

msg_idОписание
1Значение должно быть из списка разрешенных.
2Поле обязательное для заполнения.
3Значение поля должно быть в формате UUID.
4Слишком длинное значение строки.
5Слишком короткое значение строки.
6Строка не соответствует формату.
7Формат данных не соответствует UTF-8.
8Значение должно быть больше или равно установленного значения.
9Значение должно быть меньше или равно установленного значения.
10Некорректное значение хеша.
11Значение не может быть хешем.
12Не могу распарсить значение.
13Данные не соответствуют формату URL.
14Данные не соответствуют формату email.
15Значение не является числом.
16Необходимо более одного значения.
17Не могу распарсить значение как список.

Типы данных:

ТипОписание
StringTypeСтрока произвольной длинны.
IntTypeЦелое число.
DictTypeJson формат вида {«Ключ»: «Значение», ….}.
ListTypeJson формат вида [1, 2, 4, …].
EmailTypeСтрока соответствующая RFC 5322.
ModelTypeJson формат, включающий модель объекта.
IPv4TypeСтрока содержащая IP адрес RFC1918.

Статусы объектов:

IDОписание
1Объект включен.
0Объект выключен.