API REST v2.0

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

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

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

h2. Описание формата
h3. Учётные записи

# h5. Получить данные по учетным записям абонента с id 1234
{code}
curl -XPOST -d 'method1=objects.filter&arg1={"abonent__pk":"1234"}' 'http://169.254.80.82:8082/rest_api/v2/Users/' -D -
{code}
# h5. Установить абоненту с номером учетной записи 1361 коммутатор с IP 1.1.1.1
1. Получаем id коммутатора по IP
{code}
sqlexec -l "select id from users u where u.deleted=0 and u.ip is not null and u.auth_type=1" | awk '$2{print $2}' | while read user_id; do curl -ss -XPOST -d 'method1=objects.get&arg1={"id":'$user_id'}&method2=set&arg2={"auth_type":6}&method3=save&arg3={}' http://169.254.80.82:8082/rest_api/v2/Users/ -D -; done
{code}

h3. Блокировки абонента

# 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}
# h5. Работа с блокировками абонентов и их историей
Получить ID текущих блокировок по балансу абонента с ID 1392
{code}curl -XPOST 'http://169.254.80.82:8082/rest_api/v2/AbonentsBlock/' -d 'method1=objects.filter&arg1={"abonent_id":1392,"b_negbal":1}&fields=["id"]'{code}
Снять блокировку с ID 243068
{code}curl -XPOST 'http://169.254.80.82:8082/rest_api/v2/AbonentsBlock/' -d 'method1=objects.get&arg1={"id":243068}&method2=delete'{code}
Получить ID блокировок абонента ID 1392 измененных с 1 по 30 июня 2019 года
{code}curl -XPOST 'http://169.254.80.82:8082/rest_api/v2/AbonentsBlockHistory/' -d 'method1=objects.filter&arg1={"abonent_id":1392,"b_negbal":1,"time_changed__range":["2019-06-01", "2019-06-30"]}&fields=["id"]'{code}
Получить ID блокировок абонента ID 1392 снятых с 1 по 30 июня 2019 года
{code}curl -XPOST 'http://169.254.80.82:8082/rest_api/v2/AbonentsBlockHistory/' -d 'method1=objects.filter&arg1={"abonent_id":1392,"b_negbal":1,"time_del__range":["2019-06-01", "2019-06-30"]}&fields=["id"]'{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}

h3. Лицевой счёт

{code}curl -XPOST -d 'method1=objects.create&arg1={"abonent_id": "1313", "admin_msg_id": "1", "ttype_id": "1"}' 'http://169.254.80.82:8082/rest_api/v2/MsgStack/' -D -{code}

h3. Прочее Отчёты

# h5. Выполнение отчёта 1003 с параметром phone="+79222222222"
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. Получить данные по учетным записям абонента
# h5. Выполнение отчёта 250081 с параметрами даты за январь 2022 года
{code}
curl -XPOST -d 'method1=objects.filter&arg1={"abonent__pk":"1234"}' 'http://169.254.80.82:8082/rest_api/v2/Users/' -D -
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}
{note}
В отчёте переменные должны быть объявлены на латинице.
{note}

h3. Прочее

# h5. Получить логин, ip адрес, название атрибута в тарифе абонента, значение атрибута в тарифе абонента по незаблокированным абонентам
{code}
{code}
# h5. Получить полный лог звонков абонентов за указанный период (включая обе даты)
{code}
{code}curl curl -XPOST -d 'method1=objects.filter&arg1={"s_time__gt":"2017-11-20", "s_time__lte":"2017-12-01"}' http://168.254.80.82:8082/rest_api/v2/VoipLog/ -D -{code} -
# h5. Добавить всем абонентам с блокировкой по отрицательному балансу и балансом меньше, чем '-1' приход 600 рублей
{code}sqlexec "set list on; select distinct a.id from ABONENTS A left join ADMIN_ACCOUNTS AA on AA.ID=A.ACCOUNT_ID left join abonents_block ab on ab.abonent_id=a.id where A.IS_FOLDER=0 and a.deleted=0 and ab.B_NEGBAL=1 and round((aa.ostatok+aa.debit-aa.credit) / cast((10000000000) as numeric(18,5)), 2)<-1" | awk ' {print $2} ' | sed '/^$/d' | while read line; do curl -XPOST -d 'method1=objects.get&arg1={"id": '$line'}&method2=add_payment&arg2={"SUM_IN": "600"}' 'http://169.254.80.82:8082/rest_api/v2/Abonents/' -D -; done{code}
{code}
# h5. Получить детальную информацию по расходам абонента на интернет, телефонию и другие услуги за определённый период времени
## [Вкладка "Расход", таблица "Расход"|CarbonBilling:Счетчики услуг. Вкладка "Расход".]
{code}
{code}curl curl -XPOST -d 'method1=objects.filter&arg1={"abonent_id":"1242","s_date__range":["2018-10-01", "2018-11-01"]}' http://169.254.80.82:8082/rest_api/v2/Counters/ -D -{code} -
{code}
## [Детализация списаний за период|CarbonBilling:Детализация расхода]
{code}
{code}curl 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. Список абонентов блокировкой 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}
# h5. Работа с блокировками абонентов и их историей
Получить ID текущих блокировок по балансу абонента с ID 1392
{code}curl -XPOST 'http://169.254.80.82:8082/rest_api/v2/AbonentsBlock/' -d 'method1=objects.filter&arg1={"abonent_id":1392,"b_negbal":1}&fields=["id"]'{code}
Снять блокировку с ID 243068
{code}curl -XPOST 'http://169.254.80.82:8082/rest_api/v2/AbonentsBlock/' -d 'method1=objects.get&arg1={"id":243068}&method2=delete'{code}
Получить ID блокировок абонента ID 1392 измененных с 1 по 30 июня 2019 года
{code}curl -XPOST 'http://169.254.80.82:8082/rest_api/v2/AbonentsBlockHistory/' -d 'method1=objects.filter&arg1={"abonent_id":1392,"b_negbal":1,"time_changed__range":["2019-06-01", "2019-06-30"]}&fields=["id"]'{code}
Получить ID блокировок абонента ID 1392 снятых с 1 по 30 июня 2019 года
{code}curl -XPOST 'http://169.254.80.82:8082/rest_api/v2/AbonentsBlockHistory/' -d 'method1=objects.filter&arg1={"abonent_id":1392,"b_negbal":1,"time_del__range":["2019-06-01", "2019-06-30"]}&fields=["id"]'{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}
{code}
# h5. Переименование каталогов.
В данном примере отбираем из таблицы Abonents записи о каталогах(is_folder=1) и те которые находятся в корзине(deleted=1), далее, назначаем им новое название "do_not_use"
{code}sqlexec "set list on; select distinct id from abonents a where a.is_folder=1 and a.deleted=1" | awk ' {print $2} ' | sed '/^$/d' | while read line; do curl -XPOST -d 'method1=objects.get&arg1={"id":'$line'}&method2=set&arg2={"name":"do_not_use"}&method3=save&arg3={}' http://169.254.80.82:8082/rest_api/v2/Abonents/ -D - ; done
{code}
sqlexec "set list on; select distinct id from abonents a where a.is_folder=1 and a.deleted=1" | awk ' {print $2} ' | sed '/^$/d' | while read line; do curl -XPOST -d 'method1=objects.get&arg1={"id":'$line'}&method2=set&arg2={"name":"do_not_use"}&method3=save&arg3={}' http://169.254.80.82:8082/rest_api/v2/Abonents/ -D - ; done
{code}

h2. Отладка