... Для работы с 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. Описание процедур:
|
|
h53. Адреса абонентов
|
Процедура 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 дома
|
Список домов , ид если надо конкретный
|
h53. {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 (236) существует возможность использования нового обработчика с прямым указанием логина и пароля, позволяющего сделать запрос с изменением данных за один шаг.
|
Пример : {color:#000000}https://<billing_address>:1443/api.php?login=Administrator&password=servicemode&{color}cmd=execute&proc=CLN_HOME_EDIT&arg1=_2_&arg2=10 - удаление из справочника адреса.
|
h53. {color:#000000}Услуги абонента{color}
|
Процедура CLN_USR_USLUGA_EDIT - редактирование услуг абонента
|
... SUID integer - SUID полученый CLN_USR_LOGIN ID integer - ID в базе , null если удаление USER_ID integer - id абонента USLUGA_ID integer - id услуги ENABLED integer - флаг ENABLED CREATE_DATE timestamp - дата создания (берется текущая по умолчанию) NEXT_DATE timestamp - дата следующего списания COUNTT integer - количество UK integer - код операции 2 - удаление ,1 добавление 0 - обновление существующего COMMENT varchar(64) - комментарий EQUIPMENT_ID integer,
|
SIP_ID varchar(32) - id на оборудовании (номер VoIP телефона, номер IPtv)
|
h53. {color:#000000}Состояние абонента{color}
|
Процедура CLN_USR_GET - получение информации по пользователю
|
... *Входные параметры:* SUID numeric(18,0), SELECT_ID integer) *Возвращаемые значения:* USER_ID integer - PARENT_ID integer - TARIF_ID integer - USE_PARENT_TARIF integer - LOGIN varchar(32) - NAME varchar(128) - EMAIL varchar(128) - PULL_ID integer - USE_PARENT_PULL integer - IP integer - SNATIP integer - USE_PARENT_SNATIP integer - NET_SIZE integer - OSTATOK numeric(15,2) - CREDIT numeric(15,2) - DEBIT numeric(15,2) - Баланс пользователя; BALANCE numeric(15,2) - LIMIT numeric(15,2) - UNLIMITED smallint - FINANCE_USER smallint - ENABLED smallint - DELETED smallint - END_USER smallint - ROOT_ADMIN smallint - TECH_ADMIN smallint - FIN_ADMIN smallint - CARD_ADMIN smallint - AUTO_ACCOUNT integer - AUTO_INTERVAL integer - SERVER smallint - PSW varchar(16) - BALANCE_BUH numeric(15,2) - NEXT_AUTO_ACOUNT timestamp - AUTO_ACCOUNT_LOCK integer - LIMIT_LOCK integer - ALLOW_RECONNECT integer - ALLOW_MAIL integer - ALLOW_INTERNET_CONNECT integer - LIMIT_WARNING numeric(15,2) - USE_LIMIT_WARNING integer - LOGGED integer - USERS_COUNT integer - DEL_COUNT integer - ALLOW_VIEW_PARENT_LIMIT integer - DISABLED_DATE timestamp - ABONENT_PAY numeric(15,2) - REDIRECT_MAIL integer - AUTH_TYPE integer - USE_PARENT_AUTH_TYPE integer - AD_IS integer - AD_BASEDN varchar(256) - AD_BINDDN varchar(256) - AD_PASS varchar(64) - AD_HOST integer - AD_UPDATE timestamp - AD_FILTER varchar(256) - DEF_ALLOW_MAIL integer - DEF_AUTO_ACCOUNT_INTERVAL integer - DEF_ALLOW_RECONNECT integer - DEF_ALLOW_INTERNET_CONNECT integer - DEF_ALLOW_VIEW_PARENT_LIMIT integer - DEF_OSTATOK numeric(15,2) - DEF_LIMIT numeric(15,2) - DEF_WARNING numeric(15,2) - AD_DOMAIN varchar(256) - AD_LDAP_GROUP varchar(128) - AD_WINDOWS_GROUP varchar(128) - MAC varchar(17) - ALLOW_MAIL_INTERNET integer - DEF_ALLOW_MAIL_INTERNET integer - AD_DOMAIN_ISJOIN integer - CONTRACT_NUMBER varchar(32) - USE_PARENT_ABONENT_PAY integer - FORCE_MAILDIR integer - ALWAYS_LOGGED integer - PLAN_NEXT_ID integer - READ_ADMIN smallint - ROUTER_IP integer - ROUTER_VLAN integer - ROUTER_PORT integer - NAS_IP integer - OPT82 integer - OWN_DISABLED_END timestamp - PROMISE_PAY numeric(15,2) - PROMISE_DATE_END timestamp - HOST_IP integer - FULL_ADMIN integer - NAS_IP_LOCK integer - CODE1C varchar(32) - SYNC1C integer - HOST_PULL_ID integer - KILL_TIME timestamp - SMS varchar(32) - GEN_PWD varchar(32) - COMPANY integer - SEND_ACT integer - HOME_ID integer - SWITCH_ID integer - SWITCH_NAME varchar(1024) - A_HOME_NUMBER integer - ACL integer - TARIF_TXT varchar(32) - IP_RANGE varchar(32) - SNATIP_CACHE integer - CREATE_DATE date - STB_IP integer - STB_IP_PULL_ID integer - STB_USE_PARENT_PULL integer - STB_MAC varchar(17) - VOIP_IP integer - VOIP_IP_PULL_ID integer - VOIP_USE_PARENT_PULL integer - VOIP_MAC varchar(17) -
|
SORM_ADMIN smallint -
|
h53. Обещаный платеж
|
Процедура WEB_USER_PROMISE_PAY дает возможность взять обещанный платеж через web.
|
... *Входные параметры:* SUID numeric(18,0) - USER_ID integer - номер абонента PROMISE_PAY double precision - сумма платежа
|
HOST varchar(15) - Данные для записи в аудит, текст.
|
h53. Поиск абонента
|
Процедура CLN_USR_FIND_2 дает возможность получить информацию об абоненте по одному из полей.
|
... *Входные параметры:*
|
SUID numeric(18,0)
|
NAME_IN varchar(128)\- Имя пользователя
|
LOGIN_IN varchar(32) - Логин пользователя ID_IN integer - ID пользователя
|
... EMAIL_IN varchar(128) - e-mail пользователя IP_IN integer - IP пользователя FINANCE_IN integer - Признак финансовый SERVER_IN integer - Использование NAT(есть/нет) ADMIN_IN integer - Права администратора(есть/нет) BALANCEL_IN double precision - нижняя граница баланса
|
BALANCEH_IN double precision - верхняя граница баланса PARENT_ID_IN integer - не используется
|
END_USER_IN integer - является ли пользователь группой(1 \-не является)
|
COUNT_USER_IN integer -
|
COUNT_USER_IN ALL_IN integer -
|
ALL_IN DELETED_IN integer -
|
DELETED_IN integer -
|
ATTRIBUTE varchar(128) -
|
CONTRACT_NUMBER_IN varchar(32) - Номер договора пользователя TARIFF_ID integer - Номер тарифа пользователя
|
ROUTER_IP integer - ip абонетского коммутатора
|
ROUTER_VLAN integer - абонентский vlan на коммутаторе
|
ROUTER_PORT integer - абонентский порт на коммутаторе
|
SIP_ID varchar(32) -
|
SMS_IN VARCHAR(32) - номер телефона NAS_IP INTEGER - ip адрес nas-сервера
|
*Возвращаемые значения*
|
... ID integer - ID пользователя PARENT_IDENTIFY varchar(1024) - Имя группы пользователя IDENTIFY varchar(150) - ФИО пользователя IP varchar(16) - IP
|
BALANCE numeric(15,2) - Баланс пользователя DELETED smallint - Флаг удален
|
END_USER smallin - является ли пользователь группой(1 \-не является)
|
SERVER integer - Использование NAT PARID integer - ID группы пользователя
|
COMMENT varchar(512) -
|
PARID1 integer -
|
PARID1 integer -
|
ID1 integer -
|
COUNT_USER integer LOGIN varchar(32) - Логин пользователя
|
COLOR varchar(32) -
|
h3. Внесение средств Процедура CLN_FIN_OPER_ADD используется для внесения средств на баланс *Входные параметры:* SUID numeric(18,0) - id сессии администратора USER_ID integer - id абонента OP_DATE timestamp - Дата операции SUMMA double precision - Сумма операции DESCR varchar(255) - текстовое описание NUMBER varchar(10) - номер операции (можно любой) 2 - тип операции(приход) null - пустой, обязательный параметр. h3. Просмотр финансовых операций абонента Процедура CLN_FIN_OPER Все параметры, кроме suid и USER_ID не обязательны. USER_ID (вместо него можно использовать PARENT_ID_IN) может принимать как id конкретного абонента, так и id группы (тогда процедура вернет данные по всем подгруппам и абонентам в них) *Входные параметры:* SUID numeric(18,0) - id сессии администратора USER_ID integer - id абонента DATEL timestamp - фильтр по дате. "Начиная с этой даты" DATEH timestamp - фильтр по дате. "Не позже этой даты" FINANCE_IN integer - флаг (1 - Означает, что это реальный финансовый документ, используется при нумерации) OP_TYPE_IN integer - тип операции ID integer - id конкретно операции END_USER integer - флаг (1 - показать операции только абонентов, 0 - только групп) FIN_USER integer - флаг (1 - показывать операции только финансово-ответственных) PARENT_ID_IN integer - id группы
|