=====JSON API=====
Работает с версии: 0.72.65
====Авторизация====
Авторизацию можно пройти несколькими способами
* Авторизация через ключ API_KEY. При данной авторизации к запросу добавляется API_KEY=1523615231263123. Ключ задаётся в [[abills:docs:manual:admin:form_admins|настройка администратора]] где собственно и задаются права доступа к функционалу. Авторизация по ключу работает только при включённой куки авторизации **$conf{AUTH_METHOD}=1**
**Пример**
https://demo.abills.net.ua:9443/admin/index.cgi?get_index=internet_tp&EXPORT_CONTENT=INTERNET_TARIF_PLANS&header=1&json=1&API_KEY=1523615231263123
* HTML авторизация по логину и паролю, если включена опция **$conf{AUTH_METHOD}=1;**
* Basic Auth при отключённой опции **$conf{AUTH_METHOD}=0;**
====Дополнительные параметры====
|&show_columns= | Отображать только заданные колонки. Задаются через запятую без пробелов |
|&PAGE_ROWS=1000000 | Количество результатов вывода. По умолчанию 25 |
|&sort=1 | Номер поля для сортировки |
|&desc=DESC | Производить сортировку в обратном порядке |
====Поиск абонентов====
Поиск абонентов по унивесрсальному ключу
^qindex=7 ||
^search=1 | Включить поиск|
^&type=10 | Тип поиска|
^&header=1 | показать заголовок |
^LOGIN=testuser | Параметр поиска. Поиск осуществляется по всем полям универсального поиска |
^EXPORT_CONTENT=USERS_LIST | Експортировать то только контент поиска |
^&SKIP_FULL_INFO=1 | Отображать информацию в формате таблицы |
Запрос:
https://demo.abills.net.ua:9443/admin/index.cgi?qindex=7&search=1&type=10&header=1&json=1&LOGIN=testuser&EXPORT_CONTENT=USERS_LIST&SKIP_FULL_INFO=1&API_KEY=1523615231263123
====Информация об абоненте====
Информация об абоненте и всех услугах предоставляемых абоненту
Запрос:
https://demo.abills.net.ua:9443/admin/index.cgi?qindex=15&UID=109103&SUMMARY_SHOW=1&EXPORT=1&API_KEY=1523615231263123
^qindex=15 ||
^UID=109058 ||
^SUMMARY_SHOW=1 ||
^MODULE= | Выводить информацию по конкретному модулю |
[
{
"NAME": "MAIN_INFO",
"HEADER": "Пользователь",
"SIZE": "1",
"PROPORTION": 2,
"CONTENT": {
"UID": "109103",
"Кредит": "0.00",
"Логин": "109103",
"Депозит": "633.656666",
"Отключено": "0"
}
},
{
"NAME": "PERSONAL_INFO",
"HEADER": "Информация о пользователе",
"SIZE": "1",
"PROPORTION": 2,
"CONTENT": {
"Телефон": "123123123",
"Комментарии": "",
"e-mail": "",
"ФИО": "new fioo",
"Договор": "YN3535/15"
}
}
]
====Список тарифных планов Internet====
Запрос:
https://demo.abills.net.ua:9443/admin/index.cgi?get_index=dv_tp&EXPORT_CONTENT=DV_TARIF_PLANS&header=1&json=1&PAGE_ROWS=1000000&API_KEY=1523615231263123
Ответ:
{
"CAPTION": "Тарифный план",
"ID": "DV_TARIF_PLANS",
"TITLE": [
"Номер",
"Название",
"Часовой тариф",
"Тарифы трафика",
"Группа",
"Дневная а/п",
"Абонплата за месяц",
"activate_price",
"Изменить",
"Вид оплаты",
"module",
"-",
"-",
"-"
],
"DATA_1": [
{
"id": "10",
"name": "zero",
"time_tarifs": "Нет",
"traf_tarifs": "Нет",
"tp_gid": "0",
"day_fee": "0.00",
"month_fee": "2.00",
"activate_price": "10.00",
"change_price": "0.00",
"payment_type": "Предоплата",
"module": "Dv"
},
{
"id": "100",
"name": "PON 15",
"time_tarifs": "Нет",
"traf_tarifs": "Нет",
"tp_gid": "1",
"day_fee": "40.00",
"month_fee": "100.00",
"activate_price": "1400.00",
"change_price": "20.00",
"payment_type": "Предоплата",
"module": "Dv"
},
]
}
Дополнительные поля
|ABON_DISTRIBUTION|Распределение абонплаты|
|ACTIV_PRICE|Активация|
|ACTIVE_DAY_FEE|Только за активные дни|
|AGE|Время существования с момента активации (Дней)|
|CHANGE_PRICE|Изменить|
|COMMENTS|Описание|
|CREDIT|Кредит|
|CREDIT_TRESSHOLD|Несъёмный минимум|
|DAY_FEE |Дневная а/п|
|DAY_TIME_LIMIT|Лимит времени День|
|DAY_TRAF_LIMIT|Лимит трафика День|
|FEES_METHOD|Снятие денег Тип|
|FILTER_ID|Фильтры|
|FINE|Пеня|
|FIXED_FEES_DAY|Фиксированная дата абон. платы|
|ID |Номер|
|IN_PRICE|Цена Получено|
|IN_SPEED|Скорость Получено|
|INNER_TP_ID|ID|
|INTERVALS|Интервалы|
|LOGINS|Одновременно|
|MAX_SESSION_DURATION|Макc. время сессии (sec.)|
|MIN_SESSION_COST|Минимальная цена сессии|
|MIN_USE|Минимальная денежная наработка|
|MONTH_FEE |Абонплата за месяц|
|MONTH_TIME_LIMIT|Лимит времени Месяц|
|MONTH_TRAF_LIMIT|Лимит трафика Месяц|
|NAME |Название|
|NEG_DEPOSIT_FILTER_ID|Фильтр негативного Депозита|
|NEG_DEPOSIT_IPPOOL|Пул адресов негативного депозита|
|NEXT_TARIF_PLAN|Тарифный план Второй период|
|OCTETS_DIRECTION|Направление трафика|
|OUT_PRICE|Цена Отправлено|
|OUT_SPEED|Скорость Отправлено|
|PAYMENT_TYPE |Вид оплаты|
|PERIOD_ALIGNMENT|Выравнивание месяца|
|POSTPAID_DAY_FEE|Дневная а/п Послеоплата|
|POSTPAID_MONTH_FEE|Абонплата за месяц Послеоплата|
|PREPAID|Предоплата|
|PRIORITY|Приоритет|
|RAD_PAIRS|RADIUS Parameters (,)|
|REDUCTION_FEE|Скидка|
|SMALL_DEPOSIT_ACTION|Действие при недостаточном депозите|
|TIME_TARIFS |Часовой тариф|
|TOTAL_TIME_LIMIT|Лимит времени Всего|
|TOTAL_TRAF_LIMIT|Лимит трафика Всего|
|TP_GID|Группа|
|TRAF_TARIFS |Тарифы трафика|
|TRAFFIC_TRANSFER_PERIOD|Период перехода трафика|
|UPLIMIT|Предупреждение|
|USER_CREDIT_LIMIT|Портал Абонента Кредит|
|WEEK_TIME_LIMIT|Лимит времени Неделя|
|WEEK_TRAF_LIMIT|Лимит трафика Неделя|
====Журнал адресов====
Населённые пункты, районы
Запрос:
https://demo.abills.net.ua:9443/admin/index.cgi?get_index=form_districts&EXPORT_CONTENT=DISTRICTS_LIST&header=1&json=1&PAGE_ROWS=1000000&API_KEY=1523615231263123
Результат
{
"CAPTION": "Районы",
"ID": "DISTRICTS_LIST",
"TITLE": [
"#",
"Название",
"Страна",
"Город",
"Индекс",
"Улицы",
"Карта сети",
"-",
"-"
],
"DATA_1": [
{
"id": "2",
"name": "Новый Район",
"country": "",
"city": "",
"zip": "",
"street_count": "7",
"coordx": "Нет"
},
{
"id": "3",
"name": "Санта Барбара",
"country": "",
"city": "Полтава",
"zip": "78230",
"street_count": "1",
"coordx": "Нет"
}
]
}
===Улицы===
Запрос:
https://demo.abills.net.ua:9443/admin/index.cgi?get_index=form_streets&EXPORT_CONTENT=STREETS_LIST&header=1&json=1&PAGE_ROWS=1000000&API_KEY=1523615231263123
Ответ:
{
"CAPTION": "Улицы",
"ID": "STREETS_LIST",
"TITLE": [
"#",
"Название",
"Районы",
"Дома",
"Пользователи",
"-",
"-"
],
"DATA_1": [
{
"id": "3545",
"street_name": "улица Франка",
"disctrict_name": "Новый Район",
"build_count": "32",
"users_count": "7"
},
{
"id": "3546",
"street_name": "Test Street",
"disctrict_name": "Новый Район",
"build_count": "8",
"users_count": "19"
},
{
"id": "3547",
"street_name": "Улица Свободы",
"disctrict_name": "Новый Район",
"build_count": "9",
"users_count": "17"
},
]
}
====Дома улицы====
|BUILDS=xxx | ID улицы |
Запрос:
https://demo.abills.net.ua:9443/admin/index.cgi?get_index=form_streets&BUILDS=102&EXPORT_CONTENT=BUILDS_LIST&header=1&json=1&PAGE_ROWS=1000000&API_KEY=1523615231263123
Ответ:
{ "CAPTION" : "Дома",
"ID" : "BUILDS_LIST",
"TITLE" : [
"Номер","Этажи","Подъезды","Квартиры","Улицы"," Пользователи","Плотность подключения","Добавлено","Карта сети X","-","-" ],
"DATA_1" : [
{"number" : "2", "flors" : "0", "entrances" : "0", "flats" : "0", "street_name" : "Гоголя", "users_count" : "2", "users_connections" : "", "added" : "2015-10-17", "coordx" : ""},
{"number" : "4", "flors" : "0", "entrances" : "0", "flats" : "0", "street_name" : "Гоголя", "users_count" : "0", "users_connections" : "", "added" : "2015-10-17", "coordx" : ""}
]
}
Список полей
^ ENTRANCES | Подъезды |
^ FLATS | Квартиры |
^ FLORS | Этажи |
^ LOCATION_ID | LOCATION ID точка включения |
^ NUMBER | Номер |
^ STREET_NAME | Улицы |
^ USERS_CONNECTIONS | Плотность подключения |
^ USERS_COUNT | количество абонентов |
====Информационные поля====
Запрос
https://demo.abills.net.ua:9443/admin/index.cgi?get_index=form_info_fields&EXPORT_CONTENT=INFO_FIELDS_USERS&header=1&json=1&API_KEY=1523615231263123
Ответ:
{ "CAPTION" : "Информационные поля - Пользователи",
"ID" : "INFO_FIELDS_USERS",
"TITLE" : [
"Название","SQL field","Тип","Приоритет","Портал Абонента","-" ],
"DATA_1" : [
{"NAME" : "Foto", "SQL" : "_foto", "TYPE" : "PHOTO"},
{"NAME" : "Social Net", "SQL" : "_social_net", "TYPE" : "SOCIAL NETWORK"},
]
}
====Группы абонентов====
Запрос
https://demo.abills.net.ua:9443/admin/index.cgi?get_index=form_groups&EXPORT_CONTENT=GROUPS&header=1&json=1&API_KEY=1523615231263123
Ответ
{ "CAPTION" : "Группы",
"ID" : "GROUPS",
"TITLE" : [
"","Название","Описание","Пользователи","Разрешено Кредит","Отключено Paysys","Отключено Смена тарифного плана пользователем","-","-" ],
"DATA_1" : [
{"gid" : "5", "name" : "Должники Группа 0", "descr" : "Должники Группа 0", "users_count" : "3779", "allow_credit" : "Да", "disable_paysys" : "Нет", "disable_chg_tp" : "Нет"},
{"gid" : "301", "name" : "Новая группа", "descr" : "Описание новой группы", "users_count" : "1", "allow_credit" : "Нет", "disable_paysys" : "Нет", "disable_chg_tp" : "Нет"},
]
}
====Абоненты с подключённой интернет услугой (PPPoE/PPTP)====
Запрос:
https://demo.abills.net.ua:9443/admin/index.cgi?get_index=dv_users_list&EXPORT_CONTENT=INTERNET_USERS_LIST&header=1&json=1&PAGE_ROWS=1000000&API_KEY=1523615231263123
Ответ:
{ "CAPTION" : "Internet - Пользователи",
"ID" : "INTERNET_USERS_LIST",
"TITLE" : [
"Логин","ФИО","Депозит","Кредит","Полный Адрес","Тарифный план","Internet Статус","-","-" ],
"DATA_1" : [
{"login" : "02550603", "fio" : "", "deposit" : "18109.680000", "credit" : "0.00", "address_full" : "test4 2,23", "tp_name" : "PON 30", "dv_status" : "Активно"},
{"login" : "07999565", "fio" : "", "deposit" : "199.000000", "credit" : "0.00", "address_full" : "Льонина 3,21", "tp_name" : "zero", "dv_status" : "Активно"},
]
}
**Дополнительные поля**
^ACTIVATE |Активация |
^ADDRESS_BUILD |Дом |
^ADDRESS_FLAT |Квартира |
^ADDRESS_FULL |Полный Адрес |
^ADDRESS_STREET |Улица |
^BILL_ID |Денежные счета |
^CID |Caller ID. Может быть MAC, телефон, IP для вторичной авторизации абонента |
^CITY |Город |
^COMMENTS |Комментарии |
^COMPANY_ID |Компании ID |
^CONTRACT_ID |Номер контракта |
^CREDIT |Кредит |
^CREDIT_DATE |Кредит Дата |
^DELETED |Удалено |
^DEPOSIT |Депозит |
^DISTRICT_NAME |Районы |
^DOMAIN_ID |DOMAIN ID |
^DV_EXPIRE |Internet Окончание |
^DV_LOGIN |Услуга Логин |
^DV_PASSWORD |Услуга Пароль |
^DV_STATUS |Internet Статус |
^DV_STATUS_DATE |Статус Дата |
^EMAIL |E-Mail |
^EXPIRE |Окончание |
^EXT_DEPOSIT |Дополнительный Депозит |
^FILTER_ID |Filter ID |
^FIO |ФИО |
^GID |Группа |
^GROUP_NAME |Группа Название |
^IP |IP |
^LAST_PAYMENT |Последняя оплата |
^LOGIN |Логин |
^LOGIN_STATUS |Логин Статус |
^MONTH_TRAFFIC_IN |Месяц Получено |
^MONTH_TRAFFIC_OUT |Месяц Отправлено |
^NETMASK |NETMASK |
^ONLINE |Online |
^PASPORT_DATE |Паспорт Дата |
^PASPORT_GRANT |Паспорт Выдано |
^PASPORT_NUM |Паспорт Номер |
^PHONE |Телефон |
^PORT |Порт |
^REDUCTION |Скидка |
^REGISTRATION |Регистрация |
^SPEED |Скорость |
^TP_NAME |Тарифный план |
^UID |UID |
^ZIP |Индекс |
====Информация про Internet услугу ====
https://demo.abills.net.ua:9443/admin/index.cgi?qindex=130&UID=112&sort=1&EXPORT_CONTENT=internet_user&header=1&json=1&API_KEY=1523615231263123
{
"internet_user": {
"STATUS": "5",
"STATUS_COLOR": "#009688",
"STATUS_COLOR_GR_S": "#00b4a3",
"STATUS_COLOR_GR_F": "#00877a",
"ID": "88",
"UID": "112",
"TP_NUM": "1002",
"TP_NAME": "4G Стандарт",
"TP_ID": "25",
"CHANGE_TP_BUTTON": "Изменить",
"IP": "0.0.0.0",
"NETMASK": "255.255.255.255",
"SERVICE_ACTIVATE": "0000-00-00",
"SERVICE_EXPIRE": "0000-00-00",
"FILTER_ID": "RAD:mpd-table-static+=100=%IP%",
"TURBO_MODE_FORM": ",",
"ACTION": "change",
"LNG_ACTION": "Изменить",
"DEL_BUTTON": "Удалить"
}
}
====Абоненты с подключённой интернет услугой (IPoE)====
Запрос:
https://demo.abills.net.ua:9443/admin/index.cgi?get_index=dhcphosts_hosts&EXPORT_CONTENT=DHCP_HOSTS&header=1&json=1&PAGE_ROWS=1000000&API_KEY=1523615231263123
Ответ:
"ID" : "DHCP_HOSTS",
"TITLE" : [
"#","Логин","IP","Hostname","netwirk_name","MAC","DHCP Статус","-","-" ],
"DATA_1" : [
{"id" : "4", "login" : "", "ip" : "192.168.11.23", "hostname" : "test_", "netwirk_name" : "DHCP_NET_5", "mac" : "00:00:00:00:0A:11", "status" : "Активно"},
{"id" : "12", "login" : "109059", "ip" : "192.168.0.47", "hostname" : "Host_109059_1", "netwirk_name" : "DHCP_NET", "mac" : "33:33:33:33:33:11", "status" : "Активно"},
{"id" : "13", "login" : "109059", "ip" : "192.168.0.47", "hostname" : "Host_109059_223", "netwirk_name" : "DHCP_NET", "mac" : "33:33:33:33:33:12", "status" : "Активно"},
{"id" : "67", "login" : "Fedorov", "ip" : "10.11.1.12", "hostname" : "Fedorov1", "netwirk_name" : "DHCP_NET1", "mac" : "00:0c:0c:99:Ac:23", "status" : "Активно"}
]
}
**Дополнительные поля**
^ACTIVATE | Активация |
^ADDRESS_BUILD | Дом |
^ADDRESS_FLAT | Квартира |
^ADDRESS_FULL | Полный Адрес |
^ADDRESS_STREET | Улица |
^BILL_ID | Денежные счета |
^BOOT_FILE | Boot file |
^CITY | Город |
^COMMENTS | Комментарии |
^COMPANY_ID | Компании ID |
^CONTRACT_ID | Номер контракта |
^CREDIT | Кредит |
^CREDIT_DATE | Кредит Дата |
^DELETED | Удалено |
^DEPOSIT | Депозит |
^DISTRICT_NAME | Районы |
^DOMAIN_ID | DOMAIN ID |
^EMAIL | E-Mail |
^EXPIRE | Окончание |
^EXT_DEPOSIT | Дополнительный Депозит |
^FIO | ФИО |
^GID | Группа |
^GROUP_NAME | Группа Название |
^HOSTNAME | Hostname |
^ID | # |
^IP | IP |
^IPN_ACTIVATE | IPN Activate |
^LAST_PAYMENT | Последняя оплата |
^LOGIN | Логин |
^LOGIN_STATUS | Логин Статус |
^MAC | MAC |
^MONTH_TRAFFIC_IN |Месяц Получено |
^MONTH_TRAFFIC_OUT |Месяц Отправлено |
^NAS_ID | NAS ID |
^NAS_IP | NAS IP |
^NAS_NAME | Сервер доступа |
^NETWORK_NAME | Сеть |
^NEXT_SERVER | Next Server |
^OPTION_82 | Option 82 |
^PASPORT_DATE | Паспорт Дата |
^PASPORT_GRANT | Паспорт Выдано |
^PASPORT_NUM | Паспорт Номер |
^PHONE | Телефон |
^PORTS | Порт |
^REDUCTION | Скидка |
^REGISTRATION | Регистрация |
^SERVER_VID | Server VLAN |
^STATUS | DHCP Статус |
^TP_NAME |Тарифный план |
^UID | UID |
^VID | Пользователь VLAN |
^ZIP | Индекс |
также можно подставлять информационные поля \\
функция работает на версии abills 0.77 и ниже
====API information=====
===Billing Version===
Версия биллинга, системное время, ОС
https://demo.abills.net.ua:9443/admin/index.cgi?API_KEY=1523615231263123&API_INFO=system_information&json=1
===API Version===
Версия API
https://demo.abills.net.ua:9443/admin/index.cgi?API_KEY=1523615231263123&API_INFO=api_version&json=1
===API Function===
Доступные функции (Опционально)
https://demo.abills.net.ua:9443/admin/index.cgi?API_KEY=1523615231263123&API_INFO=api_methods&json=1
=====HELP DESK=====
* [[abills:docs:manual:json_api_msgs|Help DESK]]