Child pages
  • RESTfull JSON API интерфейс управления
Skip to end of metadata
Go to start of metadata

В данный момент находиться в процессе разработки

API может (и будет) дополняться и изменяться в будущем


Версия

Доступно с версии 0.84 и выше

В системе реализован RESTfull интерфейс управления услугами и абонентами. Интерфейс находит по адресу api.cgi. Оправка, получение данных производится по протоколу HTTP POST/GET/PUT/DELETE. Все взаимодействие по интерфейсу выполняеться по принципам REST (ресурс определяться по средствам задания имени в URL).

Для сохранение совместимости с стандартом REST все ключи автоматически переводятся в camelCase, но поскольку несоответствие названий в Базе Данных может усложнить разработку – существует возможность отключить такое превращение используя несколько вариантов:

  1. Параметр $conf{API_FILDS_CAMELIZE} в конфигурационном файле
  2. Задать в заголовках запроса CAMELIZE в соответствующие значение (имеет приоритет над значением в конфигурационном файле)
ЗначениеРезультат
1Все ключи превращаются в cemelCase
0Ключи в исходном виде, как в базе данных (snakeCase)
{ "swagger": "2.0", "info": { "version": "1.0.0", "title": "Abills API", "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.html" } }, "host": "demo.abills.net.ua:9443", "basePath": "/api.cgi", "tags": [ { "name": "Users", "description": "Работа с пользователями" } ], "schemes": [ "https" ], "paths": { "/users/": { "post": { "tags": [ "Users" ], "summary": "Добавить нового пользователя", "operationId": "addUser", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "body", "name": "body", "description": "Параметры, которые нужно указать", "required": true, "schema": { "$ref": "#/definitions/User" } } ], "responses": { "200": { "description": "успешное выполнение", "schema": { "$ref": "#/definitions/UserCreated" } } }, "security": [ { "KEY": [] } ] } }, "/users/{UID}": { "get": { "tags": [ "Users" ], "summary": "Получить пользователя по UID", "description": "Возвращает пользователя", "operationId": "getUserByUID", "produces": [ "application/json" ], "parameters": [ { "name": "UID", "in": "path", "description": "UID пользователя в биллинге", "required": true, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "Успешное выполнение", "schema": { "$ref": "#/definitions/User" } }, "404": { "description": "Пользователь не найден", "schema": { "$ref": "#/definitions/inline_response_404" } } }, "security": [ { "KEY": [] } ] }, "put": { "tags": [ "Users" ], "summary": "Обновить информацию о пользователе", "operationId": "updateUser", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "name": "UID", "in": "path", "description": "UID пользователь", "required": true, "type": "integer", "format": "int64" }, { "in": "body", "name": "body", "description": "Pet object that needs to be added to the store", "required": true, "schema": { "$ref": "#/definitions/User" } } ], "responses": { "400": { "description": "Invalid ID supplied" }, "404": { "description": "Pet not found" }, "405": { "description": "Validation exception" } }, "security": [ { "KEY": [] } ] }, "delete": { "tags": [ "Users" ], "summary": "Удалить пользователя", "operationId": "deleteUser", "produces": [ "application/json" ], "parameters": [ { "name": "UID", "in": "path", "description": "UID пользователя", "required": true, "type": "integer", "format": "int64" } ], "responses": { "404": { "description": "Пользователь не найден", "schema": { "$ref": "#/definitions/inline_response_404" } } }, "security": [ { "KEY": [] } ] } }, "/users/login": { "post": { "tags": [ "Users" ], "summary": "Авторизация пользователя", "operationId": "loginUser", "produces": [ "application/json" ], "parameters": [ { "name": "login", "in": "query", "description": "Логин пользователя", "required": true, "type": "string" }, { "name": "password", "in": "query", "description": "Пароль пользователя", "required": true, "type": "string" } ], "responses": { "200": { "description": "Успешное выполнение", "schema": { "$ref": "#/definitions/inline_response_200" } } } } }, "/users/contacts": { "post": { "tags": [ "Users" ], "summary": "Получить контакты", "description": "Возвращает контакты пользователей", "operationId": "getContacts", "produces": [ "application/json" ], "parameters": [ { "in": "body", "name": "body", "description": "Параметры для фильтрации контактов", "required": true, "schema": { "$ref": "#/definitions/Contacts" } } ], "responses": { "200": { "description": "Успешное выполнение", "schema": { "$ref": "#/definitions/Contacts" } } }, "security": [ { "KEY": [] } ] } } }, "securityDefinitions": { "KEY": { "type": "apiKey", "name": "KEY", "in": "header" } }, "definitions": { "User": { "type": "object", "properties": { "login": { "type": "string", "example": "testUser" }, "password": { "type": "string", "example": "123456" }, "createBill": { "type": "integer" } } }, "UserCreated": { "type": "object", "properties": { "preAdd": { "type": "integer", "example": 1 }, "total": { "type": "integer", "example": 0 }, "insertId": { "type": "string", "example": "17" }, "uid": { "type": "string", "example": "32" }, "affected": { "type": "integer", "example": 1 }, "login": { "type": "string", "example": "testUser" } } }, "Contacts": { "type": "object", "properties": { "value": { "type": "string", "example": "test@gmail.com" }, "type": { "type": "string", "example": "_SHOW", "description": "_SHOW - отобразить поле" }, "typeName": { "type": "string", "example": "_SHOW" } } }, "ApiResponse": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32" }, "type": { "type": "string" }, "message": { "type": "string" } } }, "inline_response_404": { "type": "object", "properties": { "errstr": { "type": "string", "example": "ERROR_NOT_EXIST" }, "errno": { "type": "integer", "example": 2 } } }, "inline_response_200": { "type": "object", "properties": { "login": { "type": "string", "example": "testuser" }, "sid": { "type": "string", "example": "sW44EJZLyWDMeXAV" }, "uid": { "type": "string", "example": "5690" } } } } }

Авторизация

Для подтверждения личности при выполнении запросов, некоторые пути требуют соответствующий привилегии:

  • Авторизация администратора выполняется через API_KEY (можно задать в веб-интерфейсе). Ключ нужно передать в заголовке запроса KEY в значении API_KEY.
  • Пользователям нужно использовать идентификатор сессии (sid), передавая его значение в заголовке AUTHORIZATION. Для получения sid можно
    воспользоваться авторизацией через API используя маршрут авторизация абонента (/users/login).

Робота с абонентами 

Название ресурса: users

Доступные операции:

  1. Информация по идентификатору
    Найти одного пользователя с соответствующим uid

    Шаблон запроса/users/<uid>/
    Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/users/1
    Тип запросаGET
    Структура ответаUser
    Параметры запросаНет
    Авторизацияadmin

    Ответ на тестовый запрос:

    {
      "companyCredit": 0,
      "credit": 0,
      "gid": 0,
      "creditDate": "0000-00-00",
      "domainId": 0,
      "login": "test",
      "billOwner": 1,
      "total": "1",
      "extBillId": 0,
      "billId": 1,
      "expire": "0000-00-00",
      "activate": "0000-00-00",
      "reductionDate": "0000-00-00",
      "disable": 0,
      "companyVat": 0,
      "uid": 1,
      "deposit": 0,
      "deleted": 0,
      "companyName": "",
      "reduction": 0,
      "affected": 0,
      "registration": "2009-08-03",
      "companyId": 0
    }
  2. Создать пользователя
    Создать нового пользователя с указанными параметрами

    Шаблон запроса/users/
    Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/users/
    Тип запросаPOST
    Структура ответаUserCreateResult
    Параметры запроса

    login

    password

    createBill

    Авторизацияadmin

    Ответ на тестовый запрос: 

    {
      "preAdd": 1,
      "total": 0,
      "insertId": "17",
      "uid": "17",
      "affected": 1,
      "login": "test1235"
    }
  3. Удаление пользователя
    Создать нового пользователя с указанными параметрами

    Шаблон запроса/users/
    Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/users/<uid>/
    Тип запросаDELETE
    Структура ответаUserCreateResult
    Параметры запроса

    нет

    Авторизацияadmin

    Ответ на тестовый запрос: 

    {
      "preAdd": 1,
      "total": 0,
      "insertId": "17",
      "uid": "17",
      "affected": 1,
      "login": "test1235"
    }
  4. Подключение модуля интернет
    Подключение услуги интернет пользователю с указанным id

    Шаблон запроса/users/<uid>/internet
    Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/users/1/internet
    Тип запросаPOST
    Структура ответаUserCreateResult
    Параметры запроса

    Нет

    Авторизацияadmin

    Ответ на тестовый запрос: 

    {
      "affected": 1,
      "id": "48",
      "insertId": "48",
      "total": 0,
      "moduleName": "Internet"
    }
  5. Получение всех контактов
    Получить список всех контактов

    Шаблон запроса/users/contacts
    Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/users/contacts
    Тип запросаPOST
    Структура ответаContactsList
    Параметры запроса

    value (Поиск по значению контакта. Пример, "VALUE": "test@gmail.com"),

    type

    Авторизацияadmin

    Ответ на тестовый запрос: 

    [
        {
            "id": 5,
            "uid": 11674,
            "value": "test@gmail.com"
        }
    ]
  6. Добавление контакта
    Добавить новый контакт пользователю

    Шаблон запроса/users/<uid>/contacts
    Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/users/1/contacts
    Тип запросаPOST
    Структура ответаContactAddResult
    Параметры запроса

    typeId

    value

    Авторизацияadmin

    Ответ на тестовый запрос: 

    { "result": "OK" }
  7. Удаление контакта
    Удалить существующий контакт у пользователя

    Шаблон запроса/users/<uid>/contacts
    Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/users/1/contacts
    Тип запросаDELETE
    Структура ответаContactDeleteResult
    Параметры запроса

    typeId

    Авторизацияadmin

    Ответ на тестовый запрос: 

    { "result": "OK" }
    
  8. Создание персональной информации

    Шаблон запроса/users/<uid>/pi
    Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/users/1/pi
    Тип запросаPOST
    Структура ответаPiCreateResult
    Параметры запроса

    email

    phone

    Авторизацияadmin

    Ответ на тестовый запрос: 

    {
      "affected": 1,
      "total": 0
    }
  9. Персональная информация
    Дополнительная персональная информация об абоненте

    Шаблон запроса/users/<uid>/pi
    Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/users/1/pi/
    Тип запросаGET
    Структура ответаpi
    Параметры запросаНет
    Авторизацияadmin

    Ответ на тестовый запрос:

    {
      "email": "",
      "viber": "",
      "skypeAll": "",
      "acceptRules": 0,
      "zip": "",
      "regAddress": "",
      "phoneAll": "",
      "entrance": 0,
      "icqAll": "",
      "fio": "Test user",
      "telegram": "",
      "viberAll": "",
      "countryId": 0,
      "contractSufix": "",
      "pasportGrant": "",
      "fio3": "",
      "total": 1,
      "contractId": "",
      "pasportNum": "",
      "cellPhone": "",
      "emailAll": "",
      "addressStreet": "",
      "birthDate": "0000-00-00",
      "google PushAll": "",
      "addressBuild": "",
      "contractDate": "0000-00-00",
      "cellPhoneAll": "",
      "locationId": 0,
      "affected": 0,
      "telegramAll": "",
      "contactsNewAppended": 1,
      "city": "",
      "google Push": "",
      "comments": "",
      "floor": 0,
      "uid": 1,
      "skype": "",
      "fio2": "",
      "taxNumber": "0",
      "icq": "",
      "phone": "",
      "pasportDate": "0000-00-00",
      "addressFlat": ""
    }
     
  10. Авторизация абонента
    Получение абонентом sid для авторизации в последующих запросах

    Шаблон запроса/users/login
    Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/users/login
    Тип запросаPOST
    Структура ответа{ uid, sid, login }
    Параметры запроса
    • login
    • password
    АвторизацияНет

    Ответ на тестовый запрос:

    {
      "uid": 1,
      "login": "test",
      "sid": "KCWa3EWfWv7BNecd"
    }

Робота с группами 

Название ресурса: groups

Доступные операции:

  1. Список доступных в системе групп
    Общая информация о всех группах

    Шаблон запроса/groups
    Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/groups
    Тип запросаGET
    Структура ответа[ Group ]
    Параметры запросаНет
    Авторизацияadmin

    Ответ на тестовый запрос:

    [
      {
        "disableChgTp": 0,
        "disablePaysys": 0,
        "gid": 1,
        "descr": "Деск",
        "usersCount": 0,
        "domainId": 0,
        "name": "тест",
        "allowCredit": 0
      }
    ]

Робота с сообщениями

Название ресурса: msgs

Доступные операции:

        1. Создание сообщения 

Шаблон запроса

/msgs/<uid>/send/

Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/msgs/1/send/
Тип запросаPOST
Структура ответа

{ "insertId": "13", "msgId": "13", "affected": 1, "total": 0 }

Параметры запроса

message

subject

chapter

priority

Авторизация

admin

Ответ на тестовый запрос:

{
    "insertId": "13",
    "msgId": "13",
    "affected": 1,
    "total": 0
}

        2. Ответ на сообщения

Шаблон запроса

/msgs/<ID>/reply/<UID>/

Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/msgs/122/reply/1/
Тип запросаPOST
Структура ответа

{ "total": 0, "affected": 1, "insertId": "1", "replyId": "1" }

Параметры запроса

replyText

Авторизация

admin

Ответ на тестовый запрос:

{
    "total": 0,
    "affected": 1,
    "insertId": "1",
    "replyId": "1"
}


      3. Список сообщений 

Шаблон запроса

/msgs/

Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/msgs/
Тип запросаPOST
Структура ответа

[ messages ]

Параметры запроса

aid

state

Авторизация

admin

Ответ на тестовый запрос:

[
    {
        "uid": 1,
        "resposible": 0,
        "planTime": "00:00:00",
        "id": 12,
        "aid": 1,
        "deligation": 0,
        "innerMsg": 0,
        "state": 0,
        "chapterId": 1
    }
]

       4. Информация о сообщении

Шаблон запроса

/msgs/info/<msg_id>/

Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/msgs/info/1/
Тип запросаGET
Структура ответа

{ info }

Параметры запроса

Нет

Авторизация

admin

Ответ на тестовый запрос:

{
    "closedDate": "0000-00-00 00:00:00",
    "login": "test",
    "ratingComment": "",
    "userRead": "2020-09-07 13:26:40",
    "chapterName": "-",
    "dispatchId": 0,
    "aName": "abills",
    "deligation": 0,
    "rating": 0,
    "innerMsg": 0,
    "resposible": 0,
    "planTime": "00:00:00",
    "chapter": 1,
    "surveyId": 0,
    "message": "testststststtststststs",
    "date": "2020-09-07 12:07:11",
    "doneDate": "0000-00-00",
    "ip": "0.0.0.0",
    "reply": "",
    "priority": 2,
    "id": 12,
    "lockMsg": 0,
    "planDate": "0000-00-00",
    "subject": "test api msgs",
    "affected": 0,
    "total": "0",
    "lastReplieDate": "2020-09-07 13:26:40",
    "errstr": "ERROR_NOT_EXIST",
    "domainId": 0,
    "uid": 1,
    "gid": 0,
    "aid": 1,
    "par": 0,
    "deligationLevel": 0,
    "locationId": 0,
    "phone": "",
    "adminRead": "0000-00-00 00:00:00",
    "state": 0,
    "ticketRunTime": "00:00:00"
}

      5. Информация о сообщении (ответы)

Шаблон запроса

/msgs/info/<msg_id>/reply/

Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/msgs/info/1/reply/
Тип запросаGET
Структура ответа

[ reply ]

Параметры запроса

Нет

Авторизация

admin

Ответ на тестовый запрос:

[
    {
        "creatorFio": "abills",
        "surveyId": 0,
        "status": 0,
        "runTime": "00:00:00",
        "mainMsg": 12,
        "creatorId": "abills",
        "id": 1,
        "innerMsg": 0,
        "ip": "0.0.0.0",
        "uid": 0,
        "datetime": "2020-09-07 12:19:19",
        "caption": "",
        "text": "teststststtsts",
        "aid": 1
    }
]

      6. Прикрепление файлов к ответу 

Шаблон запроса

/msgs/attachment/

Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/msgs/attachment/
Тип запросаPOST
Структура ответа

AttachmentAddResult

Параметры запроса

filename

filesize

content (Если простой текст, тогда вместимое файла, в другом случае BLOB-формат)

content_type

message_type: 1

reply_id

Авторизация

admin

Ответ на тестовый запрос:

{
	"total": 0,
    "insertId": "29",
    "affected": 1
}

Модуль Abon

Название ресурса: abon

Доступные операции:

1. Доступные пользователю услуги

Шаблон запроса/users/<uid>/abon/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/users/1806/abon
Тип запросаGET
Структура ответа[abonServices]
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

[
  {
    "name": "Статический IP",
    "missing": 0,
    "period": 1,
    "id": 1,
    "description": "",
    "comments": "",
    "manualActivate": 0,
    "price": 30,
    "activeService": 0
  },
  {
    "activeService": 1,
    "price": 80,
    "sendDocs": 0,
    "serviceCount": "1",
    "manualFee": 0,
    "manualActivate": 0,
    "comments": "",
    "description": "",
    "feesPeriod": 0,
    "notification2": "0000-00-00",
    "notification1AccountId": 0,
    "period": 1,
    "createDocs": 0,
    "nextAbon": "2019-08-01",
    "name": "Телевидение",
    "missing": 0,
    "id": 2,
    "date": "2019-07-01",
    "notification1": "0000-00-00",
    "discount": 0
  }
]

2. Информация по услуге

Шаблон запроса/abon/tariffs/<id>/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/abon/tariffs/2/
Тип запросаGET
Структура ответаAbonServices
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

{
  "alertAccount": 0,
  "createAccount": 0,
  "period": 1,
  "vat": 0,
  "serviceLink": "",
  "periodAlignment": 1,
  "notificationAccount": 0,
  "name": "Телевидение",
  "paymentType": 1,
  "activateNotification": 0,
  "description": "",
  "domainId": 0,
  "userPortal": 0,
  "manualActivate": 0,
  "list": [],
  "nonfixPeriod": 1,
  "discount": 1,
  "alert": 0,
  "id": 2,
  "feesType": 1,
  "notification1": 0,
  "extBillAccount": 0,
  "priority": 9,
  "account": 0,
  "notification2": 0,
  "total": "1",
  "affected": 0,
  "price": 80,
  "extCmd": ""
}

3. Активировать услугу

Шаблон запроса/abon/tariffs/ <id>/users/<uid>/
Пример запросаhttps://demo.abillls.net.ua:9443/api.cgi/abon/tariffs/2/users/15601/
Тип запросаPOST
Структура ответаAbonAddResult
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

{
  "total": 0,
  "affected": 1
}

4. Деактивировать услугу

Шаблон запроса/abon/tariffs/ <id>/users/<uid>/
Пример запросаhttps://demo.abillls.net.ua:9443/api.cgi/abon/tariffs/2/users/15601/
Тип запросаDELETE
Структура ответаAbonDelResult
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

{
  "total": 0,
  "affected": 1
}

Модуль Iptv

Доступные операции:

1. Доступные пользователю услуги

Шаблон запроса/users/<uid>/iptv/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/users/5972/iptv
Тип запросаGET
Структура ответа[iptvServices]
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

[
    {
        "tpId": 80,
        "uid": 11135,
        "id": 140,
        "serviceStatus": 0
    }
]

2. Информация по услуге

Шаблон запроса/users/<uid>/iptv/<id>/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/users/5972/iptv/84
Тип запросаGET
Структура ответаIptvService
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

{
    "tpChangePrice": 0,
    "subscribeId": "",
    "tpActivatePrice": 0,
    "postpaidMonthlyFee": 1,
    "filterId": "",
    "tpId": 80,
    "affected": 0,
    "iptvExpire": "0000-00-00",
    "serviceModule": "test_api",
    "disable": 0,
    "tpFilterId": "",
    "uid": 11135,
    "tpNum": 1,
    "status": 0,
    "monthAbon": 500,
    "abonDistribution": 0,
    "iptvPassword": "",
    "total": "1",
    "list": [],
    "activatePrice": 0,
    "feesMethod": 1,
    "id": 140,
    "pin": "",
    "iptvLogin": "",
    "reductionFee": 0,
    "tpCredit": 0,
    "cid": "",
    "periodAlignment": 1,
    "tpName": "Тест м/а 500",
    "tpGid": 2,
    "registration": "2021-05-31",
    "monthFee": 500,
    "dvcryptId": 0,
    "paymentType": 0,
    "dayFee": 0,
    "serviceId": 1,
    "dayAbon": 0,
    "activate": "0000-00-00",
    "tpAge": 0,
    "email": "",
    "iptvActivate": "0000-00-00",
    "expire": "0000-00-00",
    "vod": 0,
    "tpPeriodAlignment": 1
}

Оплаты

Название ресурса: payments

Доступные операции:

1. Доступные типы оплат

Шаблон запроса/payments/types/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/payments/types/
Тип запросаGET
Структура ответа[paymentsTypes]
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

[
    {
        "id": 0,
        "color": "",
        "name": "$lang{CASH}",
        "feesType": 0,
        "defaultPayment": 0
    },
    {
        "id": 1,
        "color": "",
        "name": "$lang{BANK}",
        "feesType": 0,
        "defaultPayment": 0
    },
    {
        "defaultPayment": 0,
        "feesType": 0,
        "color": "",
        "name": "$lang{EXTERNAL_PAYMENTS}",
        "id": 2
    },
    {
        "id": 3,
        "defaultPayment": 0,
        "feesType": 0,
        "name": "Credit Card",
        "color": ""
    },
    {
        "id": 4,
        "feesType": 0,
        "defaultPayment": 0,
        "color": "",
        "name": "$lang{BONUS}"
    },
    {
        "id": 5,
        "defaultPayment": 0,
        "feesType": 0,
        "color": "",
        "name": "$lang{CORRECTION}"
    },
    {
        "id": 6,
        "color": "",
        "name": "$lang{COMPENSATION}",
        "defaultPayment": 0,
        "feesType": 0
    },
    {
        "id": 7,
        "feesType": 0,
        "defaultPayment": 0,
        "color": "",
        "name": "$lang{MONEY_TRANSFER}"
    },
    {
        "id": 8,
        "name": "$lang{RECALCULATE}",
        "color": "",
        "defaultPayment": 0,
        "feesType": 0
    }
]

2. Оплаты пользователя

Шаблон запроса/payments/users/<uid>/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/payments/users/5972/
Тип запросаGET
Структура ответа[paymentsList]
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

[
    {
        "innerDescribe": "",
        "id": 5,
        "uid": 11135
    },
    {
        "uid": 11135,
        "id": 3,
        "innerDescribe": ""
    },
    {
        "uid": 11135,
        "innerDescribe": "",
        "id": 2
    }
]

3. Добавление оплаты пользователю

Шаблон запроса/payments/users/<uid>/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/payments/users/5972/
Тип запросаPOST
Структура ответаPaymentAddResult
Параметры запроса

sum

bill_id

method - тип оплаты

Авторизацияadmin

Ответ на тестовый запрос:

[
    {
    	"insertId": "11",
    	"sum": "130",
    	"affected": 1,
    	"total": 0,
    	"paymentId": "11"
	}
]

Списания

Название ресурса: fees

Доступные операции:

1. Доступные типы списания

Шаблон запроса/fees/types/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/fees/types/
Тип запросаGET
Структура ответа[feesTypes]
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

[
    {
        "id": 1,
        "defaultDescribe": "",
        "name": "$lang{ABON}",
        "sum": 0
    },
    {
        "id": 3,
        "defaultDescribe": "",
        "name": "$lang{ACTIVATE}",
        "sum": 0
    },
    {
        "defaultDescribe": "",
        "id": 2,
        "name": "$lang{FINE}",
        "sum": 0
    },
    {
        "id": 4,
        "defaultDescribe": "",
        "name": "$lang{MONEY_TRANSFER}",
        "sum": 0
    },
    {
        "sum": 0,
        "name": "$lang{ONE_TIME}",
        "defaultDescribe": "",
        "id": 0
    }
]

2. Списания пользователя

Шаблон запроса/fees/users/<uid>/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/fees/users/5972/
Тип запросаGET
Структура ответа[feesList]
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

[
    {
        "sum": 8.0645,
        "id": 4196433,
        "innerDescribe": "",
        "uid": 11135,
        "dsc": "Internet: М/А Премиум до 100м (41) - Распределение абонплаты"
    },
    {
        "innerDescribe": "",
        "id": 4205442,
        "sum": 8.0645,
        "uid": 11135,
        "dsc": "Internet: М/А Премиум до 100м (41) - Распределение абонплаты"
    },
    {
        "dsc": "Internet: М/А Премиум до 100м (41) - Распределение абонплаты",
        "uid": 11135,
        "sum": 8.0645,
        "innerDescribe": "",
        "id": 4214438
    }
]

3. Добавление списания пользователю

Шаблон запроса/fees/users/<uid>/<sum>/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/fees/users/5972/100/
Тип запросаPOST
Структура ответаFeesAddResult
Параметры запроса

bill_id

method - тип списания

describe - описание

Авторизацияadmin

Ответ на тестовый запрос:

{
    "total": 0,
    "sum": "100.0000",
    "insertId": "4472713",
    "feesId": "4472713",
    "affected": 1
}

Адреса

Районы

Название ресурса: districts

1. Доступные районы

Шаблон запроса/districts/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/districts/
Тип запросаGET
Структура ответа[districtsList]
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

[
    {
        "name": "Main District",
        "id": 1,
        "streetCount": 0,
        "zip": "",
        "country": 0,
        "city": ""
    },
    {
        "zip": "",
        "country": 0,
        "city": "Харцызск",
        "name": "пгт.Горное (частный сектор)",
        "streetCount": 15,
        "id": 2
    }
]

2. Информация по району

Шаблон запроса/districts/<district_id>/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/districts/47/
Тип запросаGET
Структура ответаdistrictInfo
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

{
    "comments": "",
    "coordx": 0,
    "id": 1,
    "affected": 0,
    "list": [],
    "total": "1",
    "name": "Main District",
    "city": "",
    "zip": "",
    "coordy": 0,
    "country": 0,
    "zoom": 0
}

3. Добавление района

Шаблон запроса/districts/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/districts/
Тип запросаPOST
Структура ответаDistrictCreateResult
Параметры запросаname
Авторизацияadmin

Ответ на тестовый запрос:

{
    "districtId": "29",
    "insertId": "29",
    "affected": 1,
    "total": 0
}

4. Изменение района

Шаблон запроса/districts/<district_id>/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/districts/47/
Тип запросаPUT
Структура ответаDistrictChangeResult
Параметры запросаname
Авторизацияadmin

Улицы

Название ресурса: streets

1. Доступные улицы

Шаблон запроса/streets/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/streets/
Тип запросаGET
Структура ответа[streetsList]
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

[
    {
        "streetName": "ул.Цэемовская",
        "type": 0,
        "streetId": 1,
        "id": 1
    },
    {
        "streetName": "ул.Коллективная",
        "type": 0,
        "id": 2,
        "streetId": 2
    }
]

2. Информация по улице

Шаблон запроса/streets/<street_id>/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/streets/47/
Тип запросаGET
Структура ответаstreetInfo
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

{
    "type": 0,
    "list": [],
    "name": "ул.Цэемовская",
    "secondName": "",
    "districtId": 2,
    "affected": 0,
    "id": 1,
    "total": "1"
}

3. Добавление улицы

Шаблон запроса/streets/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/streets/
Тип запросаPOST
Структура ответаStreetCreateResult
Параметры запроса

name

district_id

Авторизацияadmin

Ответ на тестовый запрос:

{
    "insertId": "410",
    "total": 0,
    "affected": 1,
    "streetId": "410"
}

4. Изменение улицы

Шаблон запроса/streets/<street_id>/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/streets/47/
Тип запросаPUT
Структура ответаStreetChangeResult
Параметры запроса

name

district_id

Авторизацияadmin

Дома

Название ресурса: builds

1. Доступные дома

Шаблон запроса/builds/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/builds/
Тип запросаGET
Структура ответа[buildsList]
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

[
    {
        "id": 2546,
        "streetName": "ул.Шевченко",
        "streetId": 385,
        "districtName": "г.Иловайск (частный сектор)",
        "number": "ул.Шевченк"
    },
    {
        "districtName": "Город (Лига-Зенит-Огонь)",
        "number": "1",
        "streetName": "ул.Максименко",
        "id": 954,
        "streetId": 160
    }
]

2. Информация о доме

Шаблон запроса/builds/<build_id>/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/builds/47/
Тип запросаGET
Структура ответаbuildInfo
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

{
    "contractId": "",
    "affected": 0,
    "contractPrice": 0,
    "total": "1",
    "entrances": 6,
    "mapX": 0,
    "coordx": 0,
    "zip": "",
    "list": [],
    "coordy": 0,
    "mapY3": 0,
    "plannedToConnect": 0,
    "number": "1",
    "numberingDirection": 0,
    "contractDate": "0000-00-00",
    "mapX3": 0,
    "flors": 5,
    "mapY": 0,
    "mapY4": 0,
    "flats": 90,
    "mapY2": 0,
    "mapX4": 0,
    "mapX2": 0,
    "id": 954,
    "buildSchema": "",
    "streetId": 160,
    "added": "2019-11-09 08:05:44",
    "block": ""
}

3. Добавление дома

Шаблон запроса/builds/
Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/builds/
Тип запросаPOST
Структура ответаBuildCreateResult
Параметры запроса

street_id
number
flors
entrances
added
map_x
map_y
coordx
coordy
flats
build_schema
contract_id
contract_date
contract_price
comments
public_comments zip planned_to_connect numbering_direction block

Авторизацияadmin

{
    "total": 0,
    "affected": 1,
    "insertId": "3251",
    "locationId": "3251"
}

Ответ на тестовый запрос:

4. Изменение дома

Шаблон запроса/builds/<build_id>/
Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/builds/
Тип запросаPUT
Структура ответа{ affected: 0 }
Параметры запроса

street_id
number
flors
entrances
added
map_x
map_y
coordx
coordy
flats
build_schema
contract_id
contract_date
contract_price
comments
public_comments zip planned_to_connect numbering_direction block

Авторизацияadmin

В данный момент находиться в процессе разработки

API может (и будет) дополняться и изменяться в будущем


Версия

Доступно с версии 0.84 и выше

В системе реализован RESTfull интерфейс управления услугами и абонентами. Интерфейс находит по адресу api.cgi. Оправка, получение данных производится по протоколу HTTP POST/GET/PUT/DELETE. Все взаимодействие по интерфейсу выполняеться по принципам REST (ресурс определяться по средствам задания имени в URL).

Для сохранение совместимости с стандартом REST все ключи автоматически переводятся в camelCase, но поскольку несоответствие названий в Базе Данных может усложнить разработку – существует возможность отключить такое превращение используя несколько вариантов:

  1. Параметр $conf{API_FILDS_CAMELIZE} в конфигурационном файле
  2. Задать в заголовках запроса CAMELIZE в соответствующие значение (имеет приоритет над значением в конфигурационном файле)
ЗначениеРезультат
1Все ключи превращаются в cemelCase
0Ключи в исходном виде, как в базе данных (snakeCase)

Авторизация

Для подтверждения личности при выполнении запросов, некоторые пути требуют соответствующий привилегии:

  • Авторизация администратора выполняется через API_KEY (можно задать в веб-интерфейсе). Ключ нужно передать в заголовке запроса KEY в значении API_KEY.
  • Пользователям нужно использовать идентификатор сессии (sid), передавая его значение в заголовке AUTHORIZATION. Для получения sid можно
    воспользоваться авторизацией через API используя маршрут авторизация абонента (/users/login).

Робота с абонентами 

Название ресурса: users

Доступные операции:

  1. Информация по идентификатору
    Найти одного пользователя с соответствующим uid

    Шаблон запроса/users/<uid>/
    Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/users/1
    Тип запросаGET
    Структура ответаUser
    Параметры запросаНет
    Авторизацияadmin

    Ответ на тестовый запрос:

    {
      "companyCredit": 0,
      "credit": 0,
      "gid": 0,
      "creditDate": "0000-00-00",
      "domainId": 0,
      "login": "test",
      "billOwner": 1,
      "total": "1",
      "extBillId": 0,
      "billId": 1,
      "expire": "0000-00-00",
      "activate": "0000-00-00",
      "reductionDate": "0000-00-00",
      "disable": 0,
      "companyVat": 0,
      "uid": 1,
      "deposit": 0,
      "deleted": 0,
      "companyName": "",
      "reduction": 0,
      "affected": 0,
      "registration": "2009-08-03",
      "companyId": 0
    }
  2. Создать пользователя
    Создать нового пользователя с указанными параметрами

    Шаблон запроса/users/
    Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/users/
    Тип запросаPOST
    Структура ответаUserCreateResult
    Параметры запроса

    login

    password

    createBill

    Авторизацияadmin

    Ответ на тестовый запрос: 

    {
      "preAdd": 1,
      "total": 0,
      "insertId": "17",
      "uid": "17",
      "affected": 1,
      "login": "test1235"
    }
  3. Удаление пользователя
    Создать нового пользователя с указанными параметрами

    Шаблон запроса/users/
    Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/users/<uid>/
    Тип запросаDELETE
    Структура ответаUserCreateResult
    Параметры запроса

    нет

    Авторизацияadmin

    Ответ на тестовый запрос: 

    {
      "preAdd": 1,
      "total": 0,
      "insertId": "17",
      "uid": "17",
      "affected": 1,
      "login": "test1235"
    }
  4. Подключение модуля интернет
    Подключение услуги интернет пользователю с указанным id

    Шаблон запроса/users/<uid>/internet
    Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/users/1/internet
    Тип запросаPOST
    Структура ответаUserCreateResult
    Параметры запроса

    Нет

    Авторизацияadmin

    Ответ на тестовый запрос: 

    {
      "affected": 1,
      "id": "48",
      "insertId": "48",
      "total": 0,
      "moduleName": "Internet"
    }
  5. Получение всех контактов
    Получить список всех контактов

    Шаблон запроса/users/contacts
    Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/users/contacts
    Тип запросаPOST
    Структура ответаContactsList
    Параметры запроса

    value (Поиск по значению контакта. Пример, "VALUE": "test@gmail.com"),

    type

    Авторизацияadmin

    Ответ на тестовый запрос: 

    [
        {
            "id": 5,
            "uid": 11674,
            "value": "test@gmail.com"
        }
    ]
  6. Добавление контакта
    Добавить новый контакт пользователю

    Шаблон запроса/users/<uid>/contacts
    Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/users/1/contacts
    Тип запросаPOST
    Структура ответаContactAddResult
    Параметры запроса

    typeId

    value

    Авторизацияadmin

    Ответ на тестовый запрос: 

    { "result": "OK" }
  7. Удаление контакта
    Удалить существующий контакт у пользователя

    Шаблон запроса/users/<uid>/contacts
    Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/users/1/contacts
    Тип запросаDELETE
    Структура ответаContactDeleteResult
    Параметры запроса

    typeId

    Авторизацияadmin

    Ответ на тестовый запрос: 

    { "result": "OK" }
    
  8. Создание персональной информации

    Шаблон запроса/users/<uid>/pi
    Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/users/1/pi
    Тип запросаPOST
    Структура ответаPiCreateResult
    Параметры запроса

    email

    phone

    Авторизацияadmin

    Ответ на тестовый запрос: 

    {
      "affected": 1,
      "total": 0
    }
  9. Персональная информация
    Дополнительная персональная информация об абоненте

    Шаблон запроса/users/<uid>/pi
    Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/users/1/pi/
    Тип запросаGET
    Структура ответаpi
    Параметры запросаНет
    Авторизацияadmin

    Ответ на тестовый запрос:

    {
      "email": "",
      "viber": "",
      "skypeAll": "",
      "acceptRules": 0,
      "zip": "",
      "regAddress": "",
      "phoneAll": "",
      "entrance": 0,
      "icqAll": "",
      "fio": "Test user",
      "telegram": "",
      "viberAll": "",
      "countryId": 0,
      "contractSufix": "",
      "pasportGrant": "",
      "fio3": "",
      "total": 1,
      "contractId": "",
      "pasportNum": "",
      "cellPhone": "",
      "emailAll": "",
      "addressStreet": "",
      "birthDate": "0000-00-00",
      "google PushAll": "",
      "addressBuild": "",
      "contractDate": "0000-00-00",
      "cellPhoneAll": "",
      "locationId": 0,
      "affected": 0,
      "telegramAll": "",
      "contactsNewAppended": 1,
      "city": "",
      "google Push": "",
      "comments": "",
      "floor": 0,
      "uid": 1,
      "skype": "",
      "fio2": "",
      "taxNumber": "0",
      "icq": "",
      "phone": "",
      "pasportDate": "0000-00-00",
      "addressFlat": ""
    }
     
  10. Авторизация абонента
    Получение абонентом sid для авторизации в последующих запросах

    Шаблон запроса/users/login
    Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/users/login
    Тип запросаPOST
    Структура ответа{ uid, sid, login }
    Параметры запроса
    • login
    • password
    АвторизацияНет

    Ответ на тестовый запрос:

    {
      "uid": 1,
      "login": "test",
      "sid": "KCWa3EWfWv7BNecd"
    }

Робота с группами 

Название ресурса: groups

Доступные операции:

  1. Список доступных в системе групп
    Общая информация о всех группах

    Шаблон запроса/groups
    Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/groups
    Тип запросаGET
    Структура ответа[ Group ]
    Параметры запросаНет
    Авторизацияadmin

    Ответ на тестовый запрос:

    [
      {
        "disableChgTp": 0,
        "disablePaysys": 0,
        "gid": 1,
        "descr": "Деск",
        "usersCount": 0,
        "domainId": 0,
        "name": "тест",
        "allowCredit": 0
      }
    ]

Робота с сообщениями

Название ресурса: msgs

Доступные операции:

        1. Создание сообщения 

Шаблон запроса

/msgs/<uid>/send/

Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/msgs/1/send/
Тип запросаPOST
Структура ответа

{ "insertId": "13", "msgId": "13", "affected": 1, "total": 0 }

Параметры запроса

message

subject

chapter

priority

Авторизация

admin

Ответ на тестовый запрос:

{
    "insertId": "13",
    "msgId": "13",
    "affected": 1,
    "total": 0
}

        2. Ответ на сообщения

Шаблон запроса

/msgs/<ID>/reply/<UID>/

Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/msgs/122/reply/1/
Тип запросаPOST
Структура ответа

{ "total": 0, "affected": 1, "insertId": "1", "replyId": "1" }

Параметры запроса

replyText

Авторизация

admin

Ответ на тестовый запрос:

{
    "total": 0,
    "affected": 1,
    "insertId": "1",
    "replyId": "1"
}


      3. Список сообщений 

Шаблон запроса

/msgs/

Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/msgs/
Тип запросаPOST
Структура ответа

[ messages ]

Параметры запроса

aid

state

Авторизация

admin

Ответ на тестовый запрос:

[
    {
        "uid": 1,
        "resposible": 0,
        "planTime": "00:00:00",
        "id": 12,
        "aid": 1,
        "deligation": 0,
        "innerMsg": 0,
        "state": 0,
        "chapterId": 1
    }
]

       4. Информация о сообщении

Шаблон запроса

/msgs/info/<msg_id>/

Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/msgs/info/1/
Тип запросаGET
Структура ответа

{ info }

Параметры запроса

Нет

Авторизация

admin

Ответ на тестовый запрос:

{
    "closedDate": "0000-00-00 00:00:00",
    "login": "test",
    "ratingComment": "",
    "userRead": "2020-09-07 13:26:40",
    "chapterName": "-",
    "dispatchId": 0,
    "aName": "abills",
    "deligation": 0,
    "rating": 0,
    "innerMsg": 0,
    "resposible": 0,
    "planTime": "00:00:00",
    "chapter": 1,
    "surveyId": 0,
    "message": "testststststtststststs",
    "date": "2020-09-07 12:07:11",
    "doneDate": "0000-00-00",
    "ip": "0.0.0.0",
    "reply": "",
    "priority": 2,
    "id": 12,
    "lockMsg": 0,
    "planDate": "0000-00-00",
    "subject": "test api msgs",
    "affected": 0,
    "total": "0",
    "lastReplieDate": "2020-09-07 13:26:40",
    "errstr": "ERROR_NOT_EXIST",
    "domainId": 0,
    "uid": 1,
    "gid": 0,
    "aid": 1,
    "par": 0,
    "deligationLevel": 0,
    "locationId": 0,
    "phone": "",
    "adminRead": "0000-00-00 00:00:00",
    "state": 0,
    "ticketRunTime": "00:00:00"
}

      5. Информация о сообщении (ответы)

Шаблон запроса

/msgs/info/<msg_id>/reply/

Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/msgs/info/1/reply/
Тип запросаGET
Структура ответа

[ reply ]

Параметры запроса

Нет

Авторизация

admin

Ответ на тестовый запрос:

[
    {
        "creatorFio": "abills",
        "surveyId": 0,
        "status": 0,
        "runTime": "00:00:00",
        "mainMsg": 12,
        "creatorId": "abills",
        "id": 1,
        "innerMsg": 0,
        "ip": "0.0.0.0",
        "uid": 0,
        "datetime": "2020-09-07 12:19:19",
        "caption": "",
        "text": "teststststtsts",
        "aid": 1
    }
]

      6. Прикрепление файлов к ответу 

Шаблон запроса

/msgs/attachment/

Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/msgs/attachment/
Тип запросаPOST
Структура ответа

AttachmentAddResult

Параметры запроса

filename

filesize

content (Если простой текст, тогда вместимое файла, в другом случае BLOB-формат)

content_type

message_type: 1

reply_id

Авторизация

admin

Ответ на тестовый запрос:

{
	"total": 0,
    "insertId": "29",
    "affected": 1
}

Модуль Abon

Название ресурса: abon

Доступные операции:

1. Доступные пользователю услуги

Шаблон запроса/users/<uid>/abon/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/users/1806/abon
Тип запросаGET
Структура ответа[abonServices]
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

[
  {
    "name": "Статический IP",
    "missing": 0,
    "period": 1,
    "id": 1,
    "description": "",
    "comments": "",
    "manualActivate": 0,
    "price": 30,
    "activeService": 0
  },
  {
    "activeService": 1,
    "price": 80,
    "sendDocs": 0,
    "serviceCount": "1",
    "manualFee": 0,
    "manualActivate": 0,
    "comments": "",
    "description": "",
    "feesPeriod": 0,
    "notification2": "0000-00-00",
    "notification1AccountId": 0,
    "period": 1,
    "createDocs": 0,
    "nextAbon": "2019-08-01",
    "name": "Телевидение",
    "missing": 0,
    "id": 2,
    "date": "2019-07-01",
    "notification1": "0000-00-00",
    "discount": 0
  }
]

2. Информация по услуге

Шаблон запроса/abon/tariffs/<id>/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/abon/tariffs/2/
Тип запросаGET
Структура ответаAbonServices
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

{
  "alertAccount": 0,
  "createAccount": 0,
  "period": 1,
  "vat": 0,
  "serviceLink": "",
  "periodAlignment": 1,
  "notificationAccount": 0,
  "name": "Телевидение",
  "paymentType": 1,
  "activateNotification": 0,
  "description": "",
  "domainId": 0,
  "userPortal": 0,
  "manualActivate": 0,
  "list": [],
  "nonfixPeriod": 1,
  "discount": 1,
  "alert": 0,
  "id": 2,
  "feesType": 1,
  "notification1": 0,
  "extBillAccount": 0,
  "priority": 9,
  "account": 0,
  "notification2": 0,
  "total": "1",
  "affected": 0,
  "price": 80,
  "extCmd": ""
}

3. Активировать услугу

Шаблон запроса/abon/tariffs/ <id>/users/<uid>/
Пример запросаhttps://demo.abillls.net.ua:9443/api.cgi/abon/tariffs/2/users/15601/
Тип запросаPOST
Структура ответаAbonAddResult
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

{
  "total": 0,
  "affected": 1
}

4. Деактивировать услугу

Шаблон запроса/abon/tariffs/ <id>/users/<uid>/
Пример запросаhttps://demo.abillls.net.ua:9443/api.cgi/abon/tariffs/2/users/15601/
Тип запросаDELETE
Структура ответаAbonDelResult
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

{
  "total": 0,
  "affected": 1
}

Модуль Iptv

Доступные операции:

1. Доступные пользователю услуги

Шаблон запроса/users/<uid>/iptv/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/users/5972/iptv
Тип запросаGET
Структура ответа[iptvServices]
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

[
    {
        "tpId": 80,
        "uid": 11135,
        "id": 140,
        "serviceStatus": 0
    }
]

2. Информация по услуге

Шаблон запроса/users/<uid>/iptv/<id>/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/users/5972/iptv/84
Тип запросаGET
Структура ответаIptvService
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

{
    "tpChangePrice": 0,
    "subscribeId": "",
    "tpActivatePrice": 0,
    "postpaidMonthlyFee": 1,
    "filterId": "",
    "tpId": 80,
    "affected": 0,
    "iptvExpire": "0000-00-00",
    "serviceModule": "test_api",
    "disable": 0,
    "tpFilterId": "",
    "uid": 11135,
    "tpNum": 1,
    "status": 0,
    "monthAbon": 500,
    "abonDistribution": 0,
    "iptvPassword": "",
    "total": "1",
    "list": [],
    "activatePrice": 0,
    "feesMethod": 1,
    "id": 140,
    "pin": "",
    "iptvLogin": "",
    "reductionFee": 0,
    "tpCredit": 0,
    "cid": "",
    "periodAlignment": 1,
    "tpName": "Тест м/а 500",
    "tpGid": 2,
    "registration": "2021-05-31",
    "monthFee": 500,
    "dvcryptId": 0,
    "paymentType": 0,
    "dayFee": 0,
    "serviceId": 1,
    "dayAbon": 0,
    "activate": "0000-00-00",
    "tpAge": 0,
    "email": "",
    "iptvActivate": "0000-00-00",
    "expire": "0000-00-00",
    "vod": 0,
    "tpPeriodAlignment": 1
}

Оплаты

Название ресурса: payments

Доступные операции:

1. Доступные типы оплат

Шаблон запроса/payments/types/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/payments/types/
Тип запросаGET
Структура ответа[paymentsTypes]
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

[
    {
        "id": 0,
        "color": "",
        "name": "$lang{CASH}",
        "feesType": 0,
        "defaultPayment": 0
    },
    {
        "id": 1,
        "color": "",
        "name": "$lang{BANK}",
        "feesType": 0,
        "defaultPayment": 0
    },
    {
        "defaultPayment": 0,
        "feesType": 0,
        "color": "",
        "name": "$lang{EXTERNAL_PAYMENTS}",
        "id": 2
    },
    {
        "id": 3,
        "defaultPayment": 0,
        "feesType": 0,
        "name": "Credit Card",
        "color": ""
    },
    {
        "id": 4,
        "feesType": 0,
        "defaultPayment": 0,
        "color": "",
        "name": "$lang{BONUS}"
    },
    {
        "id": 5,
        "defaultPayment": 0,
        "feesType": 0,
        "color": "",
        "name": "$lang{CORRECTION}"
    },
    {
        "id": 6,
        "color": "",
        "name": "$lang{COMPENSATION}",
        "defaultPayment": 0,
        "feesType": 0
    },
    {
        "id": 7,
        "feesType": 0,
        "defaultPayment": 0,
        "color": "",
        "name": "$lang{MONEY_TRANSFER}"
    },
    {
        "id": 8,
        "name": "$lang{RECALCULATE}",
        "color": "",
        "defaultPayment": 0,
        "feesType": 0
    }
]

2. Оплаты пользователя

Шаблон запроса/payments/users/<uid>/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/payments/users/5972/
Тип запросаGET
Структура ответа[paymentsList]
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

[
    {
        "innerDescribe": "",
        "id": 5,
        "uid": 11135
    },
    {
        "uid": 11135,
        "id": 3,
        "innerDescribe": ""
    },
    {
        "uid": 11135,
        "innerDescribe": "",
        "id": 2
    }
]

3. Добавление оплаты пользователю

Шаблон запроса/payments/users/<uid>/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/payments/users/5972/
Тип запросаPOST
Структура ответаPaymentAddResult
Параметры запроса

sum

bill_id

method - тип оплаты

Авторизацияadmin

Ответ на тестовый запрос:

[
    {
    	"insertId": "11",
    	"sum": "130",
    	"affected": 1,
    	"total": 0,
    	"paymentId": "11"
	}
]

Списания

Название ресурса: fees

Доступные операции:

1. Доступные типы списания

Шаблон запроса/fees/types/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/fees/types/
Тип запросаGET
Структура ответа[feesTypes]
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

[
    {
        "id": 1,
        "defaultDescribe": "",
        "name": "$lang{ABON}",
        "sum": 0
    },
    {
        "id": 3,
        "defaultDescribe": "",
        "name": "$lang{ACTIVATE}",
        "sum": 0
    },
    {
        "defaultDescribe": "",
        "id": 2,
        "name": "$lang{FINE}",
        "sum": 0
    },
    {
        "id": 4,
        "defaultDescribe": "",
        "name": "$lang{MONEY_TRANSFER}",
        "sum": 0
    },
    {
        "sum": 0,
        "name": "$lang{ONE_TIME}",
        "defaultDescribe": "",
        "id": 0
    }
]

2. Списания пользователя

Шаблон запроса/fees/users/<uid>/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/fees/users/5972/
Тип запросаGET
Структура ответа[feesList]
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

[
    {
        "sum": 8.0645,
        "id": 4196433,
        "innerDescribe": "",
        "uid": 11135,
        "dsc": "Internet: М/А Премиум до 100м (41) - Распределение абонплаты"
    },
    {
        "innerDescribe": "",
        "id": 4205442,
        "sum": 8.0645,
        "uid": 11135,
        "dsc": "Internet: М/А Премиум до 100м (41) - Распределение абонплаты"
    },
    {
        "dsc": "Internet: М/А Премиум до 100м (41) - Распределение абонплаты",
        "uid": 11135,
        "sum": 8.0645,
        "innerDescribe": "",
        "id": 4214438
    }
]

3. Добавление списания пользователю

Шаблон запроса/fees/users/<uid>/<sum>/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/fees/users/5972/100/
Тип запросаPOST
Структура ответаFeesAddResult
Параметры запроса

bill_id

method - тип списания

describe - описание

Авторизацияadmin

Ответ на тестовый запрос:

{
    "total": 0,
    "sum": "100.0000",
    "insertId": "4472713",
    "feesId": "4472713",
    "affected": 1
}

Адреса

Районы

Название ресурса: districts

1. Доступные районы

Шаблон запроса/districts/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/districts/
Тип запросаGET
Структура ответа[districtsList]
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

[
    {
        "name": "Main District",
        "id": 1,
        "streetCount": 0,
        "zip": "",
        "country": 0,
        "city": ""
    },
    {
        "zip": "",
        "country": 0,
        "city": "Харцызск",
        "name": "пгт.Горное (частный сектор)",
        "streetCount": 15,
        "id": 2
    }
]

2. Информация по району

Шаблон запроса/districts/<district_id>/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/districts/47/
Тип запросаGET
Структура ответаdistrictInfo
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

{
    "comments": "",
    "coordx": 0,
    "id": 1,
    "affected": 0,
    "list": [],
    "total": "1",
    "name": "Main District",
    "city": "",
    "zip": "",
    "coordy": 0,
    "country": 0,
    "zoom": 0
}

3. Добавление района

Шаблон запроса/districts/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/districts/
Тип запросаPOST
Структура ответаDistrictCreateResult
Параметры запросаname
Авторизацияadmin

Ответ на тестовый запрос:

{
    "districtId": "29",
    "insertId": "29",
    "affected": 1,
    "total": 0
}

4. Изменение района

Шаблон запроса/districts/<district_id>/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/districts/47/
Тип запросаPUT
Структура ответаDistrictChangeResult
Параметры запросаname
Авторизацияadmin

Улицы

Название ресурса: streets

1. Доступные улицы

Шаблон запроса/streets/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/streets/
Тип запросаGET
Структура ответа[streetsList]
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

[
    {
        "streetName": "ул.Цэемовская",
        "type": 0,
        "streetId": 1,
        "id": 1
    },
    {
        "streetName": "ул.Коллективная",
        "type": 0,
        "id": 2,
        "streetId": 2
    }
]

2. Информация по улице

Шаблон запроса/streets/<street_id>/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/streets/47/
Тип запросаGET
Структура ответаstreetInfo
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

{
    "type": 0,
    "list": [],
    "name": "ул.Цэемовская",
    "secondName": "",
    "districtId": 2,
    "affected": 0,
    "id": 1,
    "total": "1"
}

3. Добавление улицы

Шаблон запроса/streets/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/streets/
Тип запросаPOST
Структура ответаStreetCreateResult
Параметры запроса

name

district_id

Авторизацияadmin

Ответ на тестовый запрос:

{
    "insertId": "410",
    "total": 0,
    "affected": 1,
    "streetId": "410"
}

4. Изменение улицы

Шаблон запроса/streets/<street_id>/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/streets/47/
Тип запросаPUT
Структура ответаStreetChangeResult
Параметры запроса

name

district_id

Авторизацияadmin

Дома

Название ресурса: builds

1. Доступные дома

Шаблон запроса/builds/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/builds/
Тип запросаGET
Структура ответа[buildsList]
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

[
    {
        "id": 2546,
        "streetName": "ул.Шевченко",
        "streetId": 385,
        "districtName": "г.Иловайск (частный сектор)",
        "number": "ул.Шевченк"
    },
    {
        "districtName": "Город (Лига-Зенит-Огонь)",
        "number": "1",
        "streetName": "ул.Максименко",
        "id": 954,
        "streetId": 160
    }
]

2. Информация о доме

Шаблон запроса/builds/<build_id>/
Пример запросаhttp://demo.abillls.net.ua:9443/api.cgi/builds/47/
Тип запросаGET
Структура ответаbuildInfo
Параметры запроса

нет

Авторизацияadmin

Ответ на тестовый запрос:

{
    "contractId": "",
    "affected": 0,
    "contractPrice": 0,
    "total": "1",
    "entrances": 6,
    "mapX": 0,
    "coordx": 0,
    "zip": "",
    "list": [],
    "coordy": 0,
    "mapY3": 0,
    "plannedToConnect": 0,
    "number": "1",
    "numberingDirection": 0,
    "contractDate": "0000-00-00",
    "mapX3": 0,
    "flors": 5,
    "mapY": 0,
    "mapY4": 0,
    "flats": 90,
    "mapY2": 0,
    "mapX4": 0,
    "mapX2": 0,
    "id": 954,
    "buildSchema": "",
    "streetId": 160,
    "added": "2019-11-09 08:05:44",
    "block": ""
}

3. Добавление дома

Шаблон запроса/builds/
Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/builds/
Тип запросаPOST
Структура ответаBuildCreateResult
Параметры запроса

street_id
number
flors
entrances
added
map_x
map_y
coordx
coordy
flats
build_schema
contract_id
contract_date
contract_price
comments
public_comments zip planned_to_connect numbering_direction block

Авторизацияadmin

{
    "total": 0,
    "affected": 1,
    "insertId": "3251",
    "locationId": "3251"
}

Ответ на тестовый запрос:

4. Изменение дома

Шаблон запроса/builds/<build_id>/
Пример запросаhttps://demo.abills.net.ua:9443/api.cgi/builds/
Тип запросаPUT
Структура ответа{ affected: 0 }
Параметры запроса

street_id
number
flors
entrances
added
map_x
map_y
coordx
coordy
flats
build_schema
contract_id
contract_date
contract_price
comments
public_comments zip planned_to_connect numbering_direction block

Авторизацияadmin

  • No labels