Для работы с API используется web-интерфейс кассира
Для его включения необходимо:
1. Зайти в Меню \-> Конфигурирование сервера \-> Платежные системы и доп услуги...
\- Поставить галочку "Включить SSL WEB-сервер для платежей" (после этого появятся дополнительные пункты меню).
\- Указать адрес на котором будет находится веб-интерфейс кассира, можно указать либо локальный либо внешний IP-адрес
\- Порт на котором будет находится веб-интерфейс, по-умолчанию порт 1443
\- Указать разрешенные IP-адреса клиентов, если не указаны, то можно всем
\- Указать домен - можно вымышленный, можно локальный, можно реальный, если он есть. нужен для создания сертификата, строгой роли не играет
\- Поставить галочку "Требовать и проверять клиентский сертификат" - при включении веб-интерфейса кассира эту галочку надо обязательно поставить
2. Далее необходимо создать клиентский сертификат:
\- В том же пункте меню где включается веб-интерфейс кассира необходимо выбрать пункт "Создать клиентский сертификат"
\- Для задания имени клиентского сертификата CN можно использовать латинские буквы и цифры
\- Пароль для клиентского сертификата можно оставить пустым, либо задать его используя только латинские буквы и цифры
\- Созданный сертификат будет сохранен в директорию /var/lib/usrcert, откуда его можно скачать используя, например, программу WinSCP
\- Для каждого кассира нужно создать отдельный клиентский сертификат
3. Установить клиентский сертификат на компьютер с которого будет осуществляться доступ к веб-интерфейсу кассира:
\- Скачать сертификат \*.pfx (имя файла совпадает с именем клиентского сертификата CN) из папки /var/lib/usrcert на компьютер
\- Для IE при импорте сертификата выбрать тип хранилища - Автоматический
\- Для Firefox можно импортировать сертификат следующим образом:
Настройки > Дополнительные > Шифрование > Просмотр сертификатов > Ваши сертификаты > Импортировать, далее выбираем \*.pfx файл
4. Настоятельно рекомендуется завести специального администратора для работы через API. Это также позволит легко отделить административные, выполненные через API.
h4. {color:#ff0000}Важно:{color}
{color:#000000}В api.php используется значение текущей версии базы. Если при выполнении команды в браузере вы увидели следующее:{color}
!1.png|border=1!
это значит, что изменение прошло успешно.
h4. {color:#000000}Примеры:{color}
{color:#000000}Для внесения изменений необходимо в GET-запросе необходимо указать название процедуры и задать необходимые значения полям.{color}
{color:#000000}Пример использования (удаление дома из справочника) выполняется в 2 шага:{color}
{color:#000000}https://<billing\_{color}{color:#000000}address{color}{color:#000000}>:1443/api.php?{color}cmd=execute&proc=CLN_AUTH_LOGIN&arg1=Administrator&arg2=servicemode&arg3=0 - логин администратора с получением SUID.
{color:#000000}https://<billing\_{color}{color:#000000}address{color}{color:#000000}>:1443/api.php?{color}cmd=execute&proc=CLN_HOME_EDIT&arg1=<SUID>&arg2=2&arg3=10 - удаление из справочника адреса с использованием ранее полученного SUID.
Описание процедур:
h5. Адреса абонентов
Процедура CLN_HOME_EDIT - изменяет адрес дома подключения абонентов
SUID INTEGER - SUID из CLN_LOGIN
P_OP INTEGER - операция : 2 удаление 1 - Добавление 0 изменение
ID INTEGER - ID дома
PULL_ID \- ID IP-пула
CONNECT_DATE TIMESTAMP - дата подключения
ZIP_CODE VARCHAR(10) - индекс
COUNTRY VARCHAR(256) - страна
CITY VARCHAR(256) - город
REGION VARCHAR(256) - область
STREET VARCHAR(256) - улица
S_NUMBER INTEGER - номер дома
S_LITER VARCHAR(32) - литера дома
PROCEDURE CLN_HOME_LIST
SUID INTEGER - SUID из CLN_LOGIN
P_ID INTEGER - ID дома
Список домов , ид если надо конкретный
h5. {color:#000000}Коммутаторы{color}
Редактирование свича
Процедура CLN_SWITCH_EDIT - редактирование коммутаторов
P_SUID INTEGER - SUID полученый CLN_USR_LOGIN
P_OP INTEGER - код операции 2 - удаление ,1 добавление 0 - обновление существующего
ID INTEGER - ID в базе , null если удаление
NAME VARCHAR(1024) - Название
IP INTEGER - IP адрес
SWITCH_TYPE VARCHAR(256) - строка содержащие название типа свича
PSW_SNMP VARCHAR(40) - SNMP пароль
PSW_SSH VARCHAR(40) - SSH пароль
PSW_TELNET VARCHAR(40) - TELNET пароль
HOME_ID INTEGER - ID дома
PORTS_CNT INTEGER - количество портов
UPDATE_HOME_FLAG INTEGER - Если "1" Ставим всем пользователям дома этого дома.
После выполнения процедуры происходит перезапуск dhcpd
Процедура CLN_SWITCH_LIST - вывод списка коммутаторов
P_SUID INTEGER - SUID полученый CLN_USR_LOGIN
P_ID INTEGER - ID Свича (не обязательно )
P_HOME_ID INTEGER - ID дома (не обязательно )
Начиная с версии 3.9.7 существует возможность использования нового обработчика api2.php, позволяющего сделать запрос с изменением данных за один шаг.
Пример : {color:#000000}https://<billing_address>:1443/api.php?login=Administrator&password=servicemode&{color}cmd=execute&proc=CLN_HOME_EDIT&arg1=<SUID>&arg2=2&arg3=10 - удаление из справочника адреса.
Для его включения необходимо:
1. Зайти в Меню \-> Конфигурирование сервера \-> Платежные системы и доп услуги...
\- Поставить галочку "Включить SSL WEB-сервер для платежей" (после этого появятся дополнительные пункты меню).
\- Указать адрес на котором будет находится веб-интерфейс кассира, можно указать либо локальный либо внешний IP-адрес
\- Порт на котором будет находится веб-интерфейс, по-умолчанию порт 1443
\- Указать разрешенные IP-адреса клиентов, если не указаны, то можно всем
\- Указать домен - можно вымышленный, можно локальный, можно реальный, если он есть. нужен для создания сертификата, строгой роли не играет
\- Поставить галочку "Требовать и проверять клиентский сертификат" - при включении веб-интерфейса кассира эту галочку надо обязательно поставить
2. Далее необходимо создать клиентский сертификат:
\- В том же пункте меню где включается веб-интерфейс кассира необходимо выбрать пункт "Создать клиентский сертификат"
\- Для задания имени клиентского сертификата CN можно использовать латинские буквы и цифры
\- Пароль для клиентского сертификата можно оставить пустым, либо задать его используя только латинские буквы и цифры
\- Созданный сертификат будет сохранен в директорию /var/lib/usrcert, откуда его можно скачать используя, например, программу WinSCP
\- Для каждого кассира нужно создать отдельный клиентский сертификат
3. Установить клиентский сертификат на компьютер с которого будет осуществляться доступ к веб-интерфейсу кассира:
\- Скачать сертификат \*.pfx (имя файла совпадает с именем клиентского сертификата CN) из папки /var/lib/usrcert на компьютер
\- Для IE при импорте сертификата выбрать тип хранилища - Автоматический
\- Для Firefox можно импортировать сертификат следующим образом:
Настройки > Дополнительные > Шифрование > Просмотр сертификатов > Ваши сертификаты > Импортировать, далее выбираем \*.pfx файл
4. Настоятельно рекомендуется завести специального администратора для работы через API. Это также позволит легко отделить административные, выполненные через API.
h4. {color:#ff0000}Важно:{color}
{color:#000000}В api.php используется значение текущей версии базы. Если при выполнении команды в браузере вы увидели следующее:{color}
!1.png|border=1!
это значит, что изменение прошло успешно.
h4. {color:#000000}Примеры:{color}
{color:#000000}Для внесения изменений необходимо в GET-запросе необходимо указать название процедуры и задать необходимые значения полям.{color}
{color:#000000}Пример использования (удаление дома из справочника) выполняется в 2 шага:{color}
{color:#000000}https://<billing\_{color}{color:#000000}address{color}{color:#000000}>:1443/api.php?{color}cmd=execute&proc=CLN_AUTH_LOGIN&arg1=Administrator&arg2=servicemode&arg3=0 - логин администратора с получением SUID.
{color:#000000}https://<billing\_{color}{color:#000000}address{color}{color:#000000}>:1443/api.php?{color}cmd=execute&proc=CLN_HOME_EDIT&arg1=<SUID>&arg2=2&arg3=10 - удаление из справочника адреса с использованием ранее полученного SUID.
Описание процедур:
h5. Адреса абонентов
Процедура CLN_HOME_EDIT - изменяет адрес дома подключения абонентов
SUID INTEGER - SUID из CLN_LOGIN
P_OP INTEGER - операция : 2 удаление 1 - Добавление 0 изменение
ID INTEGER - ID дома
PULL_ID \- ID IP-пула
CONNECT_DATE TIMESTAMP - дата подключения
ZIP_CODE VARCHAR(10) - индекс
COUNTRY VARCHAR(256) - страна
CITY VARCHAR(256) - город
REGION VARCHAR(256) - область
STREET VARCHAR(256) - улица
S_NUMBER INTEGER - номер дома
S_LITER VARCHAR(32) - литера дома
PROCEDURE CLN_HOME_LIST
SUID INTEGER - SUID из CLN_LOGIN
P_ID INTEGER - ID дома
Список домов , ид если надо конкретный
h5. {color:#000000}Коммутаторы{color}
Редактирование свича
Процедура CLN_SWITCH_EDIT - редактирование коммутаторов
P_SUID INTEGER - SUID полученый CLN_USR_LOGIN
P_OP INTEGER - код операции 2 - удаление ,1 добавление 0 - обновление существующего
ID INTEGER - ID в базе , null если удаление
NAME VARCHAR(1024) - Название
IP INTEGER - IP адрес
SWITCH_TYPE VARCHAR(256) - строка содержащие название типа свича
PSW_SNMP VARCHAR(40) - SNMP пароль
PSW_SSH VARCHAR(40) - SSH пароль
PSW_TELNET VARCHAR(40) - TELNET пароль
HOME_ID INTEGER - ID дома
PORTS_CNT INTEGER - количество портов
UPDATE_HOME_FLAG INTEGER - Если "1" Ставим всем пользователям дома этого дома.
После выполнения процедуры происходит перезапуск dhcpd
Процедура CLN_SWITCH_LIST - вывод списка коммутаторов
P_SUID INTEGER - SUID полученый CLN_USR_LOGIN
P_ID INTEGER - ID Свича (не обязательно )
P_HOME_ID INTEGER - ID дома (не обязательно )
Начиная с версии 3.9.7 существует возможность использования нового обработчика api2.php, позволяющего сделать запрос с изменением данных за один шаг.
Пример : {color:#000000}https://<billing_address>:1443/api.php?login=Administrator&password=servicemode&{color}cmd=execute&proc=CLN_HOME_EDIT&arg1=<SUID>&arg2=2&arg3=10 - удаление из справочника адреса.