API REST v2.0

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

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

просмотр истории страницы
{code}
Пароль при этом генерирует биллинг.
# h5. Скрипт для создания абонента и учетной записи. Создаёт абонента в папке "Все" с именем "ФИО1", номером договора TEST_API1, тарифом с id=1, балансом 10, логином abonent2, паролем 1234
{code}
#!/bin/bash
curl -XPOST -d 'method1=objects.create&arg1={"name":"ФИО1", "parent_id":1, "tarif_id":1, "contract_number":"TEST_API1"}&method2=add_payment&arg2={"SUM_IN": "10"}' http://169.254.80.82:8082/rest_api/v2/Abonents/ -D -
sqlexec "set list on; select id from abonents where contract_number='TEST_API1'" | awk ' {print $2} ' | sed '/^$/d' | while read line; do curl -XPOST -d 'method1=objects.create&arg1={"abonent_id":'$line', "login":"abonent2"}&method2=set_password&arg2={"psw":"1234","dontshow":false}' http://169.254.80.82:8082/rest_api/v2/Users/ -D -; done
{code}
# h5. Сделать приход 10 рублей абоненту с номером договора BILL0000021
{code}curl -XPOST -d 'method1=objects.get&arg1={"contract_number": "BILL0000021"}&method2=add_payment&arg2={"SUM_IN": "10"}' 'http://169.254.80.82:8082/rest_api/v2/Abonents/' -D -{code}
curl -XPOST -d 'method1=objects.get&arg1={"id":"101"}&method2=set&arg2={"push_token":"123456"}&method3=save&arg3={}'' http://169.254.80.82:8082/rest_api/v2/Abonents/ -D -
{code}
# h5. Перерасчетать абонента начиная с выбранного периода (обязательно указывать первое число месяца\!)
Перерасчет абонента с ID 1392 с июня 2019 года
{code}curl -XPOST 'http://169.254.80.82:8082/rest_api/v2/Abonents/' -d 'method1=objects.get&arg1={"id":"1392"}&method2=set&arg2={"need_recalc":"2019-06-01"}&method3=save&arg3={}'{code}
# h5. Получение данных об операторе, обслуживающем абонента
{code}curl -XPOST 'http://169.254.80.82:8082/rest_api/v2/Abonents/' -d 'method1=objects.filter&arg1={"id":1111}&fields=["operator"]'{code}

h3. Реквизиты
В примере: массовое удаление [автоматический подключенных обещанных платежей по льготному периоду|CarbonBilling:Льготный период оплаты]
{code}sqlexec "set heading off; select id from users_usluga where comment like 'Автоматический%предоплате%2017-12-31%'" | sed '/^$/d' | sed 's/ *//g' | while read -r uusligaid; do echo "$uusligaid"; curl -XPOST -d 'method1=objects.get&arg1={"id":"$uusligaid"}&method2=delete' http://169.254.80.82:8082/rest_api/v2/UsersUsluga/ -D -; done{code}
# h5. Привязать услугу с id 105 к оператору связи с id 3
{code}
curl -XPOST -d 'method1=objects.get&arg1={"id":"105"}&method2=set&arg2{"operator_id":"3"}&method3=save&arg3={}' 'http://169.254.80.82:8082/rest_api/v2/Usluga/' -D -
{code}
# h5. Назначить новую дату "Cледующего списания" по подключенной услуге 127 на 13.09.2020 у абонента 94
{code}
curl -XPOST -d 'method1=objects.get&arg1={"abonent_id":94, "usluga_id":"127"}&method2=set&arg2={"next_date":"2020-09-13 00:00:00"}&method3=save&arg3={"allow_set_none_manager":true}' http://169.254.80.82:8082/rest_api/v2/UsersUsluga/ -D -;
{code}
# h5. Удалить все версии услуги с ID 167
ID услуги указывается в переменной usluga_id в начале скрипта.
{code}
usluga_id=167; sqlexec -l "select id from usluga_history where usluga_id=$usluga_id" | awk '$2{print $2}' | while read usluga_version_id; do curl -XPOST 'http://169.254.80.82:8082/rest_api/v2/UslugaHistory/' -d 'method1=objects.get&arg1={"id":'$usluga_version_id'}&method2=delete'; done
{code}
# h5. Назначить новую дату списания на 13.09.2020 услуге, которая имеет статус "включена" у абонента с id 9135.
{code}
sqlexec "set list on;select uu.id from users_usluga uu join abonents a on uu.abonent_id=a.id where a.id=9135 and uu.enabled=1 " | awk ' {print $2} ' | sed '/^$/d' | while read line; do curl -XPOST -d 'method1=objects.get&arg1={"id":'$line'}&method2=set&arg2={"next_date":"2020-09-13 00:00:00"}&method3=save&arg3={"allow_set_none_manager":true}' 'http://169.254.80.82:8082/rest_api/v2/UsersUsluga/' -D -; done
{code}


h3. Дома

## [Детализация списаний за период|CarbonBilling:Детализация расхода]
{code}curl -XPOST -d 'method1=objects.filter&arg1={"abonent_id":"1242","change_balance_time__range":["2018-10-01", "2018-11-01"],"storno":0}' http://169.254.80.82:8082/rest_api/v2/ArchAccountStack/ -D -{code}
# h5. Скрипт для создания абонента и учетной записи. Создаёт абонента в папке "Все" с именем "ФИО1", номером договора TEST_API1, тарифом с id=1, балансом 10, логином abonent2, паролем 1234
{code}
#!/bin/bash
curl -XPOST -d 'method1=objects.create&arg1={"name":"ФИО1", "parent_id":1, "tarif_id":1, "contract_number":"TEST_API1"}&method2=add_payment&arg2={"SUM_IN": "10"}' http://169.254.80.82:8082/rest_api/v2/Abonents/ -D -
sqlexec "set list on; select id from abonents where contract_number='TEST_API1'" | awk ' {print $2} ' | sed '/^$/d' | while read line; do curl -XPOST -d 'method1=objects.create&arg1={"abonent_id":'$line', "login":"abonent2"}&method2=set_password&arg2={"psw":"1234","dontshow":false}' http://169.254.80.82:8082/rest_api/v2/Users/ -D -; done
{code}
# h5. Список абонентов блокировкой negbal, выводим логин и IP адерес.
{code}curl -XPOST -d 'method1=objects.filter&arg1={"abonent__deleted": 0, "abonent__abonent_id_abonentsblock__b_negbal": 1 }&method2=distinct&fields=["login", "ip"]' "http://169.254.80.82:8082/rest_api/v2/Users/" -D -{code}
Изменить запись в истории блокировок ID 118, установить время изменения и снятия на 1 июня 2019 года
{code}curl -XPOST 'http://169.254.80.82:8082/rest_api/v2/AbonentsBlockHistory/' -d 'method1=objects.get&arg1={"id":118}&method2=set&arg2={"time_changed":"2019-06-01 00:00:00","time_del":"2019-06-01 00:00:00"}&method3=save'{code}
# h5. Перерасчетать абонента начиная с выбранного периода (обязательно указывать первое число месяца\!)
Перерасчет абонента с ID 1392 с июня 2019 года
{code}curl -XPOST 'http://169.254.80.82:8082/rest_api/v2/Abonents/' -d 'method1=objects.get&arg1={"id":"1392"}&method2=set&arg2={"need_recalc":"2019-06-01"}&method3=save&arg3={}'{code}
# h5. Получение данных об операторе, обслуживающем абонента
{code}curl -XPOST 'http://169.254.80.82:8082/rest_api/v2/Abonents/' -d 'method1=objects.filter&arg1={"id":1111}&fields=["operator"]'{code}
# h5. Привязать услугу с id 105 к оператору связи с id 3
{code}
curl -XPOST -d 'method1=objects.get&arg1={"id":"105"}&method2=set&arg2{"operator_id":"3"}&method3=save&arg3={}' 'http://169.254.80.82:8082/rest_api/v2/Usluga/' -D -
{code}
# h5. Назначить новую дату "Cледующего списания" по подключенной услуге 127 на 13.09.2020 у абонента 94
{code}
curl -XPOST -d 'method1=objects.get&arg1={"abonent_id":94, "usluga_id":"127"}&method2=set&arg2={"next_date":"2020-09-13 00:00:00"}&method3=save&arg3={"allow_set_none_manager":true}' http://169.254.80.82:8082/rest_api/v2/UsersUsluga/ -D -;
{code}
# h5. Удалить все версии услуги с ID 167
ID услуги указывается в переменной usluga_id в начале скрипта.
{code}
usluga_id=167; sqlexec -l "select id from usluga_history where usluga_id=$usluga_id" | awk '$2{print $2}' | while read usluga_version_id; do curl -XPOST 'http://169.254.80.82:8082/rest_api/v2/UslugaHistory/' -d 'method1=objects.get&arg1={"id":'$usluga_version_id'}&method2=delete'; done
{code}
# h5. Назначить новую дату списания на 13.09.2020 услуге, которая имеет статус "включена" у абонента с id 9135.
{code}
sqlexec "set list on;select uu.id from users_usluga uu join abonents a on uu.abonent_id=a.id where a.id=9135 and uu.enabled=1 " | awk ' {print $2} ' | sed '/^$/d' | while read line; do curl -XPOST -d 'method1=objects.get&arg1={"id":'$line'}&method2=set&arg2={"next_date":"2020-09-13 00:00:00"}&method3=save&arg3={"allow_set_none_manager":true}' 'http://169.254.80.82:8082/rest_api/v2/UsersUsluga/' -D -; done
{code}

h2. Отладка