Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Доступно с версии 0.84

Table of Contents


Warning

В данный момент находится в процессе активной разработки

API может (и будет) дополняться и изменяться в будущем

Общая информация

Подключение

Code Block
$conf{API_ENABLE} = 1;

Конфигурация

В системе реализован RESTful интерфейс управления услугами и абонентами. Интерфейс находит по адресу /api.cgi.
Отправка, получение данных производится по протоколу HTTP POST/GET/PUT/DELETE. Все взаимодействие по интерфейсу выполняется по принципам REST (ресурс определяться по средствам задания имени в URL).

Для сохранение совместимости с стандартом REST все ключи автоматически переводятся в camelCase, но поскольку несоответствие названий в базе данных может усложнить разработку – существует возможность отключить такое превращение используя несколько вариантов:

  1. Параметр $conf{API_FILDS_CAMELIZE} в конфигурационном файле
  2. Задать в заголовках запроса CAMELIZE в соответствующие значение (имеет приоритет над значением в конфигурационном файле)
ЗначениеРезультат
1Все ключи превращаются в camelCase
0Ключи в исходном виде, как в базе данных (snake_case)


Авторизация

Для подтверждения личности при выполнении запросов, некоторые пути требуют соответствующий привилегии:

  • Авторизация администратора выполняется через API_KEY (можно задать в веб-интерфейсе). Ключ нужно передать в заголовке запроса KEY в значении API_KEY.
  • Пользователям нужно использовать идентификатор сессии (sid), передавая его значение в заголовке USERSID. Для получения sid можно воспользоваться авторизацией через API используя маршрут авторизация абонента (/users/login).

Тестирование

Логирование запросов


Запуск на nginx

Чтобы включить поддержку nginx нужно