Доступно с версии 0.84
В данный момент находится в процессе активной разработки
API может (и будет) дополняться и изменяться в будущем
Общая информация
Подключение
$conf{API_ENABLE} = 1;
Конфигурация
В системе реализован RESTful интерфейс управления услугами и абонентами. Интерфейс находит по адресу /api.cgi
.
Отправка, получение данных производится по протоколу HTTP POST/GET/PUT/DELETE
. Все взаимодействие по интерфейсу выполняется по принципам REST (ресурс определяться по средствам задания имени в URL).
Для сохранение совместимости с стандартом REST все ключи автоматически переводятся в camelCase, но поскольку несоответствие названий в базе данных может усложнить разработку – существует возможность отключить такое превращение используя несколько вариантов:
- Параметр
$conf{API_FILDS_CAMELIZE}
в конфигурационном файле - Задать в заголовках запроса
CAMELIZE
в соответствующие значение (имеет приоритет над значением в конфигурационном файле)
Значение | Результат |
---|---|
1 | Все ключи превращаются в camelCase |
0 | Ключи в исходном виде, как в базе данных (snake_case ) |
Авторизация
Для подтверждения личности при выполнении запросов, некоторые пути требуют соответствующий привилегии:
- Авторизация администратора выполняется через API_KEY (можно задать в веб-интерфейсе). Ключ нужно передать в заголовке запроса KEY в значении API_KEY.
- Пользователям нужно использовать идентификатор сессии (sid), передавая его значение в заголовке USERSID. Для получения sid можно
воспользоваться авторизацией через API используя маршрут авторизация абонента (/users/login).
Тестирование
Логирование запросов
Запуск на nginx
Чтобы включить поддержку nginx нужно
- прописать в config.pl: $conf{API_NGINX}=1;
- Отредактировать ваш конфигурационный файл nginx