Доступно с версии 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