Просмотр Исходного

Для работы с 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 - удаление из справочника адреса с использованием ранее полученного&nbsp; SUID.

Описание процедур:


h5. Адреса абонентов

Процедура CLN_HOME_EDIT&nbsp; - изменяет адрес дома подключения абонентов
&nbsp;&nbsp;&nbsp; SUID INTEGER - SUID из CLN_LOGIN
&nbsp;&nbsp;&nbsp; P_OP INTEGER - операция : 2 удаление 1 - Добавление 0 изменение
&nbsp;&nbsp;&nbsp; ID INTEGER - ID дома
&nbsp;&nbsp;&nbsp; PULL_ID \-&nbsp; ID IP-пула
&nbsp;&nbsp;&nbsp; CONNECT_DATE TIMESTAMP - дата подключения
&nbsp;&nbsp;&nbsp; ZIP_CODE VARCHAR(10) - индекс
&nbsp;&nbsp;&nbsp; COUNTRY VARCHAR(256) - страна
&nbsp;&nbsp;&nbsp; CITY VARCHAR(256) - город
&nbsp;&nbsp;&nbsp; REGION VARCHAR(256) - область
&nbsp;&nbsp;&nbsp; STREET VARCHAR(256) - улица
&nbsp;&nbsp;&nbsp; S_NUMBER INTEGER - номер дома
&nbsp;&nbsp;&nbsp; S_LITER VARCHAR(32) - литера дома


PROCEDURE CLN_HOME_LIST
&nbsp;&nbsp;&nbsp; SUID INTEGER - SUID из CLN_LOGIN
&nbsp;&nbsp;&nbsp; P_ID INTEGER&nbsp; - ID дома

Список домов , ид если надо конкретный

h5. {color:#000000}Коммутаторы{color}

Редактирование свича
Процедура CLN_SWITCH_EDIT&nbsp; - редактирование коммутаторов
&nbsp;&nbsp;&nbsp; P_SUID INTEGER - SUID полученый CLN_USR_LOGIN
&nbsp;&nbsp;&nbsp; P_OP INTEGER - код операции 2 - удаление ,1 добавление 0 - обновление существующего
&nbsp;&nbsp;&nbsp; ID INTEGER - ID в базе , null если удаление
&nbsp;&nbsp;&nbsp; NAME VARCHAR(1024) - Название
&nbsp;&nbsp;&nbsp; IP INTEGER - IP адрес
&nbsp;&nbsp;&nbsp; SWITCH_TYPE VARCHAR(256) - строка содержащие название типа свича
&nbsp;&nbsp;&nbsp; PSW_SNMP VARCHAR(40)&nbsp; - SNMP пароль
&nbsp;&nbsp;&nbsp; PSW_SSH VARCHAR(40) - SSH пароль
&nbsp;&nbsp;&nbsp; PSW_TELNET VARCHAR(40)&nbsp; - TELNET пароль&nbsp;
&nbsp;&nbsp;&nbsp; HOME_ID INTEGER - ID дома
&nbsp;&nbsp;&nbsp; PORTS_CNT INTEGER - количество портов
&nbsp;&nbsp;&nbsp; UPDATE_HOME_FLAG INTEGER - Если "1" Ставим всем пользователям дома этого дома.

После выполнения процедуры происходит перезапуск dhcpd

&nbsp; Процедура CLN_SWITCH_LIST - вывод списка коммутаторов
&nbsp;&nbsp;&nbsp; P_SUID INTEGER - SUID полученый CLN_USR_LOGIN
&nbsp;&nbsp;&nbsp; P_ID INTEGER - ID Свича (не обязательно )
&nbsp;&nbsp;&nbsp; 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 - удаление из справочника адреса.