API REST SOAP

Skip to end of metadata
Go to start of metadata

Для работы с 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.

Важно:

В api.php используется значение текущей версии базы. Если при выполнении команды в браузере вы увидели следующее:

это значит, что изменение прошло успешно.

Примеры:

Для внесения изменений в GET-запросе необходимо указать название процедуры и задать необходимые значения полям.

Пример использования (удаление дома из справочника) выполняется в 2 шага:

https://<billing_address>:1443/api.php?cmd=execute&proc=CLN_AUTH_LOGIN&arg1=Administrator&arg2=servicemode&arg3=0 - логин администратора с получением SUID.

https://<billing_address>:1443/api.php?cmd=execute&proc=CLN_HOME_EDIT&arg1=<SUID>&arg2=2&arg3=10 - удаление из справочника адреса с использованием ранее полученного  SUID.

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

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

Процедура 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 дома

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

Коммутаторы

Редактирование свича
Процедура 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) существует возможность использования нового обработчика с прямым указанием логина и пароля, позволяющего сделать запрос с изменением данных за один шаг.

Пример : https://<billing_address>:1443/api.php?login=Administrator&password=servicemode&cmd=execute&proc=CLN_HOME_EDIT&arg1=2&arg2=10 - удаление из справочника адреса.

Услуги абонента

Процедура 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)

Состояние абонента

Процедура 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 -

Обещаный платеж

Процедура WEB_USER_PROMISE_PAY дает возможность взять обещанный платеж через web.

Входные параметры:

SUID numeric(18,0) -
USER_ID integer - номер абонента
PROMISE_PAY double precision - сумма платежа
HOST varchar(15) - Данные для записи в аудит, текст.

Поиск абонента

Процедура 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 -
ALL_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 -
ID1 integer -
COUNT_USER integer
LOGIN varchar(32) - Логин пользователя
COLOR varchar(32) -

Внесение средств

Процедура 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 - пустой, обязательный параметр.

Просмотр финансовых операций абонента

Процедура 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 группы

Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.