API REST v2.0

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

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

просмотр истории страницы

h5. IP в запросе
В API запросах описаныых в статье указан внутренний IP контейнера биллинга *169.254.80.82*. Доступ к нему есть только внутри сервера биллинга. Соответсвенно запросы необходимо выполнятб с выполнять из консоли.
Если вы хотите сделать запрос со стороннего ПК, то настройте доступ к API по [статье|API#Настройка доступа к API].


h3. Как удобно выполнить большой запрос из консоли?
Подробно выполнение sql запроа в скрпитах описано в [статье|Конструктор отчетов#Выполнение запроса для использования в скриптах].
# Создайте *bash* скрипт
{code}
#!/bin/bash

chroot /app/asr_billing/ /usr/local/bin/sqlexec "set list on; select id from abonents where parent_id=1354" \
| awk ' {print $2} ' | sed '/^$/d' | \
while read line; do curl -XPOST -d 'method1=objects.get&arg1={"id": '$line'}&method2=set_object_status&arg2={"status_id": "26"}' 'http://169.254.80.82:8082/rest_api/v2/Abonents/' -D -; done
# h5. Установить опцию "Привязать пользователей к этому NAS" для учетных записей абонентов, находящихся в папке с id 1358
{code}
sqlexec "set list on; select id from users where abonent_id in (SELECT abonent_id FROM GLN_RECURSIVE_ABONENTS_GET(1358))" | awk ' {print $2} ' | sed '/^$/d' | while read line; do curl -XPOST -d 'method1=objects.get&arg1={"id":'$line'}&method2=set&arg2={"nas_ip_lock":"1"}&method3=save&arg3={}' 'method1=objects.get&arg1={"id":'$line'}&method2=set&arg2={"nas_ip_lock": 1}&method3=save&arg3={}' http://169.254.80.82:8082/rest_api/v2/Users/ -D -; done
{code}
# h5. Отправить на оборудование актуальные состояния учетных записей:
h3. Отчёты

# h5. Выполнение [отчёта|Конструктор отчетов] 1003 с параметром phone="+79222222222"
{code}
curl -XPOST -d 'method1=objects.get&arg1={"id":1003}&method2=get_data&arg2={"phone":"+79222222222"}' http://169.254.80.82:8082/rest_api/v2/AdminCustomReports/ -D -
{code}
# h5. Выполнение [отчёта|Конструктор отчетов] 250081 с параметрами даты за январь 2022 года
{code}
curl -XPOST -d 'method1=objects.get&arg1={"id":250081}&method2=get_data&arg2={"start":"2022-01-01 00:00:00.0000", "end":"2022-01-31 23:59:59.0000"} ' http://169.254.80.82:8082/rest_api/v2/AdminCustomReports/ -D -
{code}
* В отчёте [переменные|Конструктор отчетов#Фильтры данных (параметры полей формы)] должны быть объявлены на латинице.
* [Переменные|Конструктор отчетов#Фильтры данных (параметры полей формы)] должны быть произвольного типа.
{code}
':start$'