Для начала рекомендую делать интеграцию на тестовом 1с сервере. Это важно.
Все взаимодействие с АСР MikBiLL построено на POST вызовах и json ответах
Интеграция с 1С делается в 3 этапа:
Документация по вызову и полное описание всех полей данных по ссылке https://wiki.userside.eu/API_-_usm_billing_-_get_user_list
краткие выдержки из документации:
'flag_corporate' => флаг – юридическое лицо
'agreement' => array( - договора с клиентом
[] => array( - вложенный массив
'number' => номер
'date' => дата
)
)
Учитывая объем около 100 000 учетных записей , время выгрузки примерно 15 минут.
Для тестирования обработки или других нужд будет удобно получить данные только одного абонента, для этого есть подвызов
Запрос:
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"
}
]
}
}
}
Все взаимодействие с АСР MikBiLL построено на POST вызовах и json ответах. Необходимо хранить куки и использовать в дальнейших запросах
Запрос:
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 - это критическая ошибка и парсить ответ дальше безсмысленно
Разбивка по группам:
Название группы | Список 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 |
Запрос:
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»: «Иванов» - Название субпровайдера внутри системы
Запрос:
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
}
Запрос:
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
}
Запрос:
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