Общая информация
В данный момент находится в процессе активной разработки
API может (и будет) дополняться и изменяться в будущем
Версия
Доступно с версии 0.84 и выше
Предупреждение
Для включения $conf{API_ENABLE} в файле config.pl
Подключение
Прописать $conf{API_ENABLE} = 1;
в config.pl
Конфигурация
В системе реализован 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