Показать исходный текстСсылки сюдаНаверх Содержание Этап 1. API Userside 1.1. Выгрузка абонентов 1.1.1 Выгрузка одного абонента Этап 2 Справочники и информация 2.1 Авторизация в АСР MikBiLL 2.2. Справочник финансовых категорий 2.2.1 Типы начислений ( снятия абонплат с абонента) 2.3 Справочника субпровайдеров Этап 3 - регулярная выгрузка информации 3.1 Получение финансовых операции за период времени 3.2. Получение истории платежей по абоненту Интеграция с 1С Для начала рекомендую делать интеграцию на тестовом 1с сервере. Это важно. Все взаимодействие с АСР MikBiLL построено на POST вызовах и json ответах Интеграция с 1С делается в 3 этапа: Этап 1. API Userside 1.1. Выгрузка абонентов Документация по вызову и полное описание всех полей данных по ссылке https://wiki.userside.eu/API_-_usm_billing_-_get_user_list краткие выдержки из документации: 'flag_corporate' => флаг – юридическое лицо 'agreement' => array( - договора с клиентом [] => array( - вложенный массив 'number' => номер 'date' => дата ) ) Учитывая объем около 100 000 учетных записей , время выгрузки примерно 15 минут. 1.1.1 Выгрузка одного абонента Для тестирования обработки или других нужд будет удобно получить данные только одного абонента, для этого есть подвызов Запрос: GET /api/index/api?key=12345&request=get_user_list&customer_id=7 Параметры GET: customer_id=7 - id абонента Ответ: { "7": { "id": 7, "customer_id": 7, "state_id": 1, "login": "router", "password": "12345", "full_name": "Тестовый Роутер Павлович", "flag_corporate": 0, "tariff": { "current": [ { "id": 18 } ] }, "agreement": [ { "number": "1121050", "date": "2012-08-12" } ], "comment": "10:1F:74:F8:DE:DD\nмаленький бук: \n00:22:15:AE:57:74", "balance": "12678.700000", "credit": "4059.23", "date_create": "2012-08-12", "date_connect": "2012-08-12", "traffic": { "month": { "up": 0, "down": 0 } }, "discount": 0, "address": [ { "type": "connect", "house_id": 4, "apartment": { "full_name": "1", "number": "1" }, "entrance": 0, "floor": 0 } ], "phone": [ { "number": "2", "flag_main": 1 }, { "number": "+79117446255", "flag_main": 0 }, { "number": "1", "flag_main": 0 } ], "email": [ { "address": "info@mikbill.ru", "flag_main": 1 } ], "ip_mac": { "167776020": { "ip": "", "mac": "002215ae57a1", "ip_net": "255.255.255.255", "local_ip": 167776020 } }, "additional_data": { "1": { "id": 1, "value": "333" }, "2": { "id": 2, "value": "выа333" }, "4": { "id": 4, "value": "0000-00-00" } }, "service": { "8": [ { "cost": "100", "date_add": "2016-05-28", "comment": "Устройство id: 88" }, { "cost": "30", "date_add": "2016-08-17", "comment": "Устройство id: 90" } ], "9": [ { "cost": "5.000000", "date_add": "", "comment": "Реальный IP" } ] } } } Этап 2 Справочники и информация Все взаимодействие с АСР MikBiLL построено на POST вызовах и json ответах. Необходимо хранить куки и использовать в дальнейших запросах 2.1 Авторизация в АСР MikBiLL Запрос: POST /json/index/auth Данные POST: login - логин password - пароль Ответ: { "success": true, "jwt": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.ImZhZTY5ZDg5ZjdmNmE1ZGE2ZTE5M2NkOWE5M2IwOGIwIg.Psz2MUbDVf7Vlz7PDnIhjdz2uF_wxunJJcW5rdAWYQQcSVfFJacvgJoAhmFy_BnifspkEDoDO0xKwDkERYXGRQ", "data": { "enable": true, "ue": "руб", "result": 1, ……… } } Описание: Необходимо хранить куки и использовать в дальнейших запросах. jwt - токен рекомендуется сохранить для дальнейшего взаимодействия "data": { "enable": true, - означает что вас авторизовало «success»: true, - означает что запрос выполнен успешно - если в любом запросе будет false - это критическая ошибка и парсить ответ дальше безсмысленно 2.2. Справочник финансовых категорий 2.2.1 Типы начислений ( снятия абонплат с абонента) Разбивка по группам: Название группы Список bughtypeid все 1,2,7,9,20,21,22,23,25,26,27,28,29,30,32,33,34,35,36,42,46,48,51,64,65,72,74,79,99,104,105,120 только интернет 1,2,7,20,21,22,42 ТВ и другие доп услуги 79 Оборудование абонента 64,65, Подключение 27,30,46 Другие сервисы 9,26,29,32,33,34,35,48,48,120 Описание справочника bughtypeid: bughtypeid Описание 1 Абонентская плата за текущий месяц 2 Абонентская плата за текущий день 7 Снятие со счета 9 Оплата аренды внешнего IP адреса 20 Блокировка интернета в связи с окончанием средств 21Остаточная абонплата за месяц 22 Остаточная Абонентская плата за текущий месяц 23 Изменение пакета с нового месяца 25 Ремонт 26 Изменение тарифного пакета 27 Подключение 29 % за пользование кредитом 30 Создание второй учетной записи 32 Услуга Real IP 33 Активация Акционного тарифа 34 Услуга «Турбо» 35 Активация услуги Кредит 36 Активация услуги Кредит с % 42 Отключение по задолженности 46 Активация учетки абонента 48 Оплата Разморозки 51 Абонентская плата заморозки 64 Плата за покупку устройства 65 Плата за аренду устройства 72 Перевод средств абоненту 74 Комиссия за перевод средств абоненту 79 Дополнительные услуги - списание с абонента 99 Корректировка 104 Пеня 105 Отмена Безналичного платежа 120 Подписка Rentsoft 2.3 Справочника субпровайдеров Запрос: POST json/options/usersgroupslist Ответ: { "success": true, "totalCount": 1, "data": [ { "usersgroupid": "1", "usersgroupname": "Иванов", "description": "", "archived": "0", "share": "10.00", "ext_do_liqpay_terminal": "1", "ext_easysoft_purpose_vat": "0", "ext_liqpay_v3": "1", "ext_merchant_id": "12345", "ext_merc_sign": "123", "ext_merc_sign_other": "123", "ext_payberry_legal_code": "1", "ext_payberry_login": "1", "ext_payberry_numdogovor": "1", "ext_payberry_on": "1", "ext_payberry_uid": "1", "ext_phone_pay": "123", "ext_show_company_name": "1", "ext_show_company_name_text": "Моя компания" } ] } Описание: «usersgroupid»: «1» - Идентификатор субпровайдера, этапе 3.1 «usersgroupname»: «Иванов» - Название субпровайдера внутри системы Этап 3 - регулярная выгрузка информации Запрос: POST /json/bugh/paymentsreport Данные POST: reportname: paymentsbycategoriesreport from_date: 2014-08-01 - дата начала год-месяц-день to_date: 2014-08-31 - дата окончания год-месяц-день settlementid: -1 - все населенные пункты sectorid: -1 - все сегменты usersgroupid: 0 - все субпровайдеры categories_list: 1,2,5,6,7,9,10,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,142 тут из пп 2.2 данного документа указываются категории, в примере указаны практически все категории , хотя вы можете выбирать какие вам нужно выгружать. например: categories_list: 79 - выдаст список всех списаний Абонплаты за доп услуги Ответ: { "success": true, "data": [ { "date": "2020-02-17 20:19:55", "before_billing": "12728.7", "summa": "50", "comment": "HD Кино", "typename": "Дополнительные услуги - списание с абонента", "stuffid": "", "bughtypeid": "79", "plategid": "406328", "user": "router", "fio": "Тестовый Роутер Павлович", "phone": "+79117446255", "speed_rate": "5000", "speed_burst": "5000", "mob_tel": "2", "sms_tel": "1", "gid": "18", "sectorid": "37", "login": "System", "useruid": "7", "address": "Переяславка, Октябрьская 92/1" }, { "date": "2020-02-18 18:59:55", "before_billing": "-758.62", "summa": "0", "comment": "test22", "typename": "Дополнительные услуги - списание с абонента", "stuffid": "", "bughtypeid": "79", "plategid": "406330", "user": "0000018134", "fio": "", "phone": "", "speed_rate": "0", "speed_burst": "0", "mob_tel": "", "sms_tel": "", "gid": "3", "sectorid": "28", "login": "System", "useruid": "18134", "address": "Переяславка, пер. Ульянова 60" }, { "date": "2020-02-18 19:07:51", "before_billing": "-758.62", "summa": "0", "comment": "test22", "typename": "Дополнительные услуги - списание с абонента", "stuffid": "", "bughtypeid": "79", "plategid": "406332", "user": "0000018135", "fio": "", "phone": "", "speed_rate": "0", "speed_burst": "0", "mob_tel": "", "sms_tel": "", "gid": "3", "sectorid": "32", "login": "System", "useruid": "18135", "address": "Переяславка, пер. Ульянова 60" }, { "date": "2020-02-18 19:10:30", "before_billing": "-758.62", "summa": "0", "comment": "test22", "typename": "Дополнительные услуги - списание с абонента", "stuffid": "", "bughtypeid": "79", "plategid": "406334", "user": "0000018136", "fio": "", "phone": "", "speed_rate": "0", "speed_burst": "0", "mob_tel": "", "sms_tel": "", "gid": "3", "sectorid": "28", "login": "System", "useruid": "18136", "address": "Могилевка, Тестовая улица 3 55" }, { "date": "2020-02-18 19:37:43", "before_billing": "-758.62", "summa": "0", "comment": "test22", "typename": "Дополнительные услуги - списание с абонента", "stuffid": "", "bughtypeid": "79", "plategid": "406336", "user": "0000018137", "fio": "", "phone": "", "speed_rate": "0", "speed_burst": "0", "mob_tel": "", "sms_tel": "", "gid": "3", "sectorid": "28", "login": "System", "useruid": "18137", "address": "Могилевка, тестовая улица 4 555" } ], "error": 0 } 3.1 Получение финансовых операции за период времени Запрос: POST /json/bugh/paymentsreport Данные POST: reportname: paymentsbycategoriesreport from_date: 2014-08-01 - дата начала год-месяц-день to_date: 2014-08-31 - дата окончания год-месяц-день settlementid: -1 - все населенные пункты sectorid: -1 - все сегменты usersgroupid: 0 - все субпровайдеры categories_list: 1,2,5,6,7,9,10,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,142 тут из пп 2.2 данного документа указываются категории, в примере указаны практически все категории , хотя вы можете выбирать какие вам нужно выгружать. например categories_list: 79 - выдаст список всех списаний Абонплаты за доп услуги Ответ: { "success": true, "data": [ { "date": "2020-02-17 20:19:55", "before_billing": "12728.7", "summa": "50", "comment": "HD Кино", "typename": "Дополнительные услуги - списание с абонента", "stuffid": "", "bughtypeid": "79", "plategid": "406328", "user": "router", "fio": "Тестовый Роутер Павлович", "phone": "+79117446255", "speed_rate": "5000", "speed_burst": "5000", "mob_tel": "2", "sms_tel": "1", "gid": "18", "sectorid": "37", "login": "System", "useruid": "7", "address": "Переяславка, Октябрьская 92/1" }, { "date": "2020-02-18 18:59:55", "before_billing": "-758.62", "summa": "0", "comment": "test22", "typename": "Дополнительные услуги - списание с абонента", "stuffid": "", "bughtypeid": "79", "plategid": "406330", "user": "0000018134", "fio": "", "phone": "", "speed_rate": "0", "speed_burst": "0", "mob_tel": "", "sms_tel": "", "gid": "3", "sectorid": "28", "login": "System", "useruid": "18134", "address": "Переяславка, пер. Ульянова 60" }, { "date": "2020-02-18 19:07:51", "before_billing": "-758.62", "summa": "0", "comment": "test22", "typename": "Дополнительные услуги - списание с абонента", "stuffid": "", "bughtypeid": "79", "plategid": "406332", "user": "0000018135", "fio": "", "phone": "", "speed_rate": "0", "speed_burst": "0", "mob_tel": "", "sms_tel": "", "gid": "3", "sectorid": "32", "login": "System", "useruid": "18135", "address": "Переяславка, пер. Ульянова 60" }, { "date": "2020-02-18 19:10:30", "before_billing": "-758.62", "summa": "0", "comment": "test22", "typename": "Дополнительные услуги - списание с абонента", "stuffid": "", "bughtypeid": "79", "plategid": "406334", "user": "0000018136", "fio": "", "phone": "", "speed_rate": "0", "speed_burst": "0", "mob_tel": "", "sms_tel": "", "gid": "3", "sectorid": "28", "login": "System", "useruid": "18136", "address": "Могилевка, Тестовая улица 3 55" }, { "date": "2020-02-18 19:37:43", "before_billing": "-758.62", "summa": "0", "comment": "test22", "typename": "Дополнительные услуги - списание с абонента", "stuffid": "", "bughtypeid": "79", "plategid": "406336", "user": "0000018137", "fio": "", "phone": "", "speed_rate": "0", "speed_burst": "0", "mob_tel": "", "sms_tel": "", "gid": "3", "sectorid": "28", "login": "System", "useruid": "18137", "address": "Могилевка, тестовая улица 4 555" } ], "error": 0 } 3.2. Получение истории платежей по абоненту Запрос: POST json/users/statpaymfl Данные POST: from_date: 2014-08-01 - дата начала год-месяц-день to_date: 2014-08-31 - дата окончания год-месяц-день uid: 7 - UID идентификатор абонента Ответ: { "success": true, "totalCount": 4, "data": [ { "IdRowPayView": "4", "date": "2020-01-10 23:58:04", "bughtypeid": "Абонентская плата за текущий день", "who": "System", "before_billing": "-459.17", "summa": "8.06", "comment": "" }, { "IdRowPayView": "3", "date": "2020-01-10 23:58:05", "bughtypeid": "Дополнительные услуги - списание с абонента", "who": "System", "before_billing": "-467.24", "summa": "3.84", "comment": "VIP HD" }, { "IdRowPayView": "2", "date": "2020-01-11 23:58:03", "bughtypeid": "Абонентская плата за текущий день", "who": "System", "before_billing": "-471.08", "summa": "8.06", "comment": "" }, { "IdRowPayView": "1", "date": "2020-01-11 23:58:04", "bughtypeid": "Дополнительные услуги - списание с абонента", "who": "System", "before_billing": "-479.14", "summa": "3.84", "comment": "VIP HD" } ] } bughtypeid - справочник описан в этапе 2.2 config/1с.txt Последние изменения: 2020/04/17 18:40 — admin