Системные API

Skip to end of metadata
Go to start of metadata
Вы просматриваете старую версию данной страницы. Смотрите текущую версию. Сравнить с текущим  |   просмотр истории страницы
При составлении api запросов к биллингу рекомендуется использовать API REST v2.0

Настройка

1. Необходимо добавить разрешенные IP адреса в список через пробел Настройки->Настройки(в файле)>Network>Список IP для которых разрешено подключаться к системному API и перезапустить веб-сервер в контейнере биллинга выполнив команду:

chroot /app/asr_billing/ service admin_web_server restart
Внимание:адреса должны указываться через пробел.

2. Узнать пароль для конкретного контекста в /app/asr_billing/cfg/config

Например для collector будет: 

network['api.collector.psw']='пароль'

Примеры запросов

  1. Список заблокированных по балансу абонентов по Nas IP 10.0.0.1, используя пароль приложения Collector
    http://169.254.80.82:8082/system_api/?model=Abonents&method1=collector_manager.users_negbal&arg1={"nas_ip":"10.0.0.1"}&context=collector&psw=collectortestpsw
  2. Список заблокированных администратором абонентов по Nas IP 10.0.0.1
    http://169.254.80.82:8082/system_api/?model=Abonents&method1=collector_manager.users_blocked&arg1={"nas_ip":"10.0.0.1"}&context=collector&psw=collectortestpsw
  3. Список авторизованных абонентов по Nas IP 10.0.0.1
    http://169.254.80.82:8082/system_api/?model=Abonents&method1=collector_manager.users_logged&arg1={"nas_ip":"10.0.0.1"}&context=collector&psw=collectortestpsw

Ответ у всех 3 запросов в виде текста где в каждой строке:

'%(ip)s %(login)s %(snatip)s %(mac)s %(logged)s %(negbal)s %(blocked)s %(rate_in)s %(ceil_in)s %(burst_in)s  %(rate_out)s %(ceil_out)s %(burst_out)s %(nas_ip)s %(cburst_in)s %(cburst_out)s'

API платежных систем

Провести платеж абоненту на 100р по номеру договора (можно так же подставить логин или IP-адрес) BILL0000003 от имени оператора SBERBANK_OSMP, ID платежа 100

http://169.254.80.82:8082/system_api/?model=Abonents&method1=asr_fiscal_manager.act_pay&arg1={"contract_number":"BILL0000003","sum_in":"100","pay_operator":"SBERBANK_OSMP","pay_id_str":"1238989213892","act":"PAY"}&context=asr_fiscal&psw=fiscalpsw123

API 1С

  1. Получить не синхронизированных абонентов
    Данные тоько абонентов группы с ID 1225
    http://169.254.80.82:8082/system_api/?model=Abonents&method1=api_1c_manager.api_1c_get_abonents&arg1={"parent_id":"1225"}&context=api_1c&psw=1ctestpsw
  2. Получить детали финансовой операции
    ID финансовой операции 54894
    http://169.254.80.82:8082/system_api/?model=FinanceOperations&method1=api_1c_manager.api_1c_get_fin_detail&arg1={"op_id":"54894"}&context=api_1c&psw=1ctestpsw
  3. Создать абонента с кодом 1С
    Абонент с именем "Иванов Иван Иванович", код 1C: code1c_589895403
    http://169.254.80.82:8082/system_api/?model=Abonents&method1=api_1c_manager.api_1c_create_abonent&arg1={"code1c":"code1c_589895403","name":"Иванов Иван Иванович"}&context=api_1c&psw=1ctestpsw

API личного кабинета

Работает только с разрешенного IP

  1. Авторизация по логину и паролю учетной записи
    Логин testlogin, пароль testpsw
    http://http://169.254.80.82:8082/system_api/?format=json&context=web&model=users&method1=web_cabinet.login&arg1={"login":"testlogin","passwd":"testpsw"}&
    
  2. Авторизация по IP
    IP с которого производится авторизация - 10.20.30.41
    http://http://169.254.80.82:8082/system_api/?format=json&context=web&model=users&method1=web_cabinet.try_auto_login&arg1={"src_ip":"10.20.30.41"}&
    
  3. Получить информацию об абоненте
    После авторизации будет получен уникальный ID сессии по которому возможно авторизовать все прочие запросы на получение данных и изменение абонента, например Вы получили ID 54ds34jklji8ufds8u945jkl
    http://http://169.254.80.82:8082/system_api/?format=json&context=web&model=users&method1=web_cabinet.user_info&arg1={"suid":"54ds34jklji8ufds8u945jkl"}&
    

Ошибка Context=$x is not defined

При запросах к api возвращается ошибка, например:

Context=asr_fiscal is not defined
Context=asr_cabinet is not defined
Context=collector is not defined

Решение:

Добавить необходимый context в /app/asr_billing/cfg/config в параметр network['api.context']

network['api.context']='web cabinet collector api_1c base webcash asr_fiscal'

И перезапустить (/app/asr_billing/service restart) биллинг, чтобы изменения применились.

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