=====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]]