Системные API

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (4)

просмотр истории страницы
{toc:maxLevel=3}

{note}При составлении api запросов к биллингу рекомендуется использовать [API REST v2.0|CarbonBilling:API REST v2.0] {note}

1. Необходимо добавить разрешенные IP адреса в список через пробел Настройки->Настройки(в файле)->Network->Список IP для которых разрешено подключаться к системному API и перезапустить веб-сервер в контейнере биллинга выполнив команду:
{code}chroot /app/asr_billing/ service admin_web_server restart{code}
{info}
*Внимание*:адреса должны указываться через пробел.
{info}

2. Узнать пароль для конкретного контекста в /app/asr_billing/cfg/config
{code}network['api.collector.psw']='пароль'{code}

В запросе пароль передаётся в аргументе *psw*, например:
{code}
psw=collectortestpsw
{code}

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


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

h2. Отладка

h3. Логи

API-запросы и ошибки их выполнения логируются в следующие файлы:
{code}/app/asr_billing/var/log/django/error.log
/app/asr_billing/var/log/django/system_api.log{code}

По-умолчанию, уровень логирования установлен в *error*. Для того чтобы логировать все запросы, установите в конфигурационном файле */app/asr_billing/cfg/config* уровень логирования *django* в *info*:
* Откройте конфигурационный файл биллинга в любом удобном текстовом редакторе, например _vim_:
{code}vim /app/asr_billing/cfg/config{code}
* Найдите в файле опцию *app\['django.loglevel'\]=* и установите её в значение *info*:
{code}app['django.loglevel']='info'{code}
* Перезапустите web-сервер биллинга:
{code}chroot /app/asr_billing/ service admin_web_server restart{code}
По окончанию отладки, рекомендуется вернуть уровень логирования в статус *error*.

h3. Отправка запросов из терминала

Отправить запрос к API биллинга в терминале можно командой {{wget}}, например:
{code}
wget -q -O - 'http://169.254.80.82:8082/system_api/?model=FinanceOperations&method1=api_1c_manager.api_1c_get_fin_opers_with_context&arg1={"abonent_id": 1361, "op_type": 2, "sdate": "2023-03-01T00:00:00", "edate": "2023-04-03T00:00:00"}&format=json&context=api_1c&psw=1ctestpsw'
{code}
Опция {{-q}} отключит вывод служебных сообщений wget, опция {{-O -}} выведет ответ API в терминал.