Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Warning

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

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


Warning
titleВерсия

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

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

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

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


Авторизация

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

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

Anchor
API администратора
API администратора

Open API (Swagger) Integration for Confluence
{
  "swagger": "2.0",
  "info": {
    "version": "1.0.0",
    "title": "Abills admins API"
  },
  "host": "demo.abills.net.ua:9443",
  "basePath": "/api.cgi",
  "tags": [
    {
      "name": "users",
      "description": "Работа с пользователями"
    },
    {
      "name": "groups",
      "description": "Группы пользователей"
    },
    {
      "name": "tp",
      "description": "Тарифные планы"
    },
    {
      "name": "msgs",
      "description": "Msgs"
    },
    {
      "name": "internet",
      "description": "Internet"
    },
    {
      "name": "iptv",
      "description": "Iptv"
    },
    {
      "name": "abon",
      "description": "Abon"
    },
    {
      "name": "districts",
      "description": "Районы"
    },
    {
      "name": "streets",
      "description": "Улицы"
    },
    {
      "name": "builds",
      "description": "Дома"
    },
    {
      "name": "payments",
      "description": "Оплаты"
    },
    {
      "name": "fees",
      "description": "Списания"
    },
    {
      "name": "online",
      "description": "Сессии пользователя"
    },
    {
      "name": "version",
      "description": "Версии"
    }
  ],
  "schemes": [
    "https"
  ],
  "paths": {
    "/users/login": {
      "post": {
        "tags": [
          "users"
        ],
        "summary": "Авторизация пользователя",
        "operationId": "loginUser",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UserLogin"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/inline_response_200"
            }
          }
        }
      }
    },
    "/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/ApiResponse"
            }
          }
        },
        "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",
            "required": true,
            "schema": {
              "$ref": "#/definitions/User"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Invalid ID supplied"
          }
        },
        "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/ApiResponse"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/users/{UID}/pi": {
      "get": {
        "tags": [
          "users"
        ],
        "summary": "Получить персональную информацию о пользователе",
        "description": "Возвращает персональную информацию пользователя",
        "operationId": "getUserPiByUID",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователя в биллинге",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/UserPi"
            }
          },
          "404": {
            "description": "Пользователь не найден",
            "schema": {
              "$ref": "#/definitions/ApiResponse"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      },
      "post": {
        "tags": [
          "users"
        ],
        "summary": "Добавление персональной информации пользователю",
        "operationId": "addUserPi",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователь",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UserPi"
            }
          }
        ],
        "responses": {
          "404": {
            "description": "Пользователь не найден",
            "schema": {
              "$ref": "#/definitions/ApiResponse"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      },
      "put": {
        "tags": [
          "users"
        ],
        "summary": "Изменение персональной информации пользователю",
        "operationId": "changeUserPi",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователь",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UserPi"
            }
          }
        ],
        "responses": {
          "404": {
            "description": "Пользователь не найден",
            "schema": {
              "$ref": "#/definitions/ApiResponse"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/users/{UID}/contacts": {
      "get": {
        "tags": [
          "users"
        ],
        "summary": "Получить контакты пользователя по UID",
        "description": "Возвращает контакты пользователя",
        "operationId": "getUserContactsByUID",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователя в биллинге",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/ContactsArray"
            }
          },
          "404": {
            "description": "Пользователь не найден",
            "schema": {
              "$ref": "#/definitions/ApiResponse"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      },
      "post": {
        "tags": [
          "users"
        ],
        "summary": "Добавление контакта пользователю",
        "operationId": "updateUserContact",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователь",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/User"
            }
          }
        ],
        "responses": {
          "404": {
            "description": "Пользователь не найден",
            "schema": {
              "$ref": "#/definitions/ApiResponse"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/users/{UID}/contacts/{ID}": {
      "put": {
        "tags": [
          "users"
        ],
        "summary": "Обновить контакт пользователю",
        "operationId": "updateUserConctact",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователь",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "ID",
            "in": "path",
            "description": "ID контакта",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "404": {
            "description": "Пользователь не найден",
            "schema": {
              "$ref": "#/definitions/ApiResponse"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      },
      "delete": {
        "tags": [
          "users"
        ],
        "summary": "Удалить контакт пользователя",
        "operationId": "deleteUserContact",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователя",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "ID",
            "in": "path",
            "description": "ID контакта",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "404": {
            "description": "Пользователь не найден",
            "schema": {
              "$ref": "#/definitions/ApiResponse"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/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/ContactsArray"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/users/{UID}/internet": {
      "get": {
        "tags": [
          "internet"
        ],
        "summary": "Получить список ТП Internet пользователя",
        "description": "Возвращает ТП интернет пользователя",
        "operationId": "getUserInternetByUID",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователя в биллинге",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/UserInternetList"
            }
          },
          "404": {
            "description": "Пользователь не найден",
            "schema": {
              "$ref": "#/definitions/ApiResponse"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      },
      "post": {
        "tags": [
          "internet"
        ],
        "summary": "Добавление ТП Internet пользователю",
        "operationId": "addUserInternet",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователь",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UserInternet"
            }
          }
        ],
        "responses": {
          "404": {
            "description": "Пользователь не найден",
            "schema": {
              "$ref": "#/definitions/ApiResponse"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/users/{UID}/internet/{ID}": {
      "get": {
        "tags": [
          "internet"
        ],
        "summary": "Информация об интернет услуге пользователя по ID услуги",
        "operationId": "internetInfoUser",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователь",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "ID",
            "in": "path",
            "description": "ID услуги",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "404": {
            "description": "Пользователь не найден",
            "schema": {
              "$ref": "#/definitions/ApiResponse"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/users/{UID}/iptv": {
      "get": {
        "tags": [
          "iptv"
        ],
        "summary": "Получить список ТП Iptv пользователя",
        "description": "Возвращает ТП Iptv пользователя",
        "operationId": "getUserIptvByUID",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователя в биллинге",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/UserIptvList"
            }
          },
          "404": {
            "description": "Пользователь не найден",
            "schema": {
              "$ref": "#/definitions/ApiResponse"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/users/{UID}/iptv/{ID}": {
      "get": {
        "tags": [
          "iptv"
        ],
        "summary": "Информация об Iptv услуге пользователя по ID услуги",
        "operationId": "iptvInfoUser",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователь",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "ID",
            "in": "path",
            "description": "ID услуги",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "404": {
            "description": "Пользователь не найден",
            "schema": {
              "$ref": "#/definitions/ApiResponse"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/msgs/": {
      "post": {
        "tags": [
          "msgs"
        ],
        "summary": "Добавить сообщение",
        "operationId": "addMsgs",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "Параметры, которые нужно указать",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Msgs"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "успешное выполнение",
            "schema": {
              "$ref": "#/definitions/ApiSuccessAddResponse"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/msgs/{ID}": {
      "get": {
        "tags": [
          "msgs"
        ],
        "summary": "Получить сообщение по ID",
        "description": "Возвращает сообщение",
        "operationId": "getMsgsInfoByID",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "ID",
            "in": "path",
            "description": "ID сообщения",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/Msgs"
            }
          },
          "404": {
            "description": "Сообщение не найден",
            "schema": {
              "$ref": "#/definitions/ApiResponse"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/msgs/list": {
      "post": {
        "tags": [
          "msgs"
        ],
        "summary": "Получить список сообщений",
        "operationId": "msgsList",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "description": "Параметры, по которым можно фильтровать сообщения",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Msgs"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "успешное выполнение",
            "schema": {
              "$ref": "#/definitions/ApiSuccessAddResponse"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/msgs/{ID}/reply": {
      "get": {
        "tags": [
          "msgs"
        ],
        "summary": "Ответы на сообщение",
        "operationId": "repliesListToMsgs",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "ID",
            "in": "path",
            "description": "ID сообщения",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "успешное выполнение",
            "schema": {
              "$ref": "#/definitions/MsgsRepliesList"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      },
      "post": {
        "tags": [
          "msgs"
        ],
        "summary": "Ответить на сообщение",
        "operationId": "addReplyToMsgs",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "ID",
            "in": "path",
            "description": "ID сообщения",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "in": "body",
            "name": "body",
            "description": "Параметры, которые нужно указать",
            "required": true,
            "schema": {
              "$ref": "#/definitions/MsgsReply"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "успешное выполнение",
            "schema": {
              "$ref": "#/definitions/ApiSuccessAddResponse"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/msgs/reply/{REPLY_ID}/attachment": {
      "post": {
        "tags": [
          "msgs"
        ],
        "summary": "Прикрепление файла к ответу",
        "operationId": "addAttachmentToReply",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "REPLY_ID",
            "in": "path",
            "description": "ID ответа на сообщение",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "in": "body",
            "name": "body",
            "description": "Параметры, которые нужно указать",
            "required": true,
            "schema": {
              "$ref": "#/definitions/MsgsReplyAttachment"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "успешное выполнение",
            "schema": {
              "$ref": "#/definitions/ApiSuccessAddResponse"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/msgs/chapters": {
      "get": {
        "tags": [
          "msgs"
        ],
        "summary": "Получить список разделов",
        "operationId": "chaptersList",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "успешное выполнение",
            "schema": {
              "$ref": "#/definitions/MsgsChapter"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/groups": {
      "get": {
        "tags": [
          "groups"
        ],
        "summary": "Получить группы пользователей",
        "description": "Возвращает группы пользователей",
        "operationId": "getGroupsList",
        "produces": [
          "application/json"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/Groups"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/tp/{tpID}": {
      "get": {
        "tags": [
          "tp"
        ],
        "summary": "Получить информацию по тарифному плану",
        "description": "Возвращает тарифный план",
        "operationId": "getTpInfo",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "tpID",
            "in": "path",
            "description": "tpID тарифного плана",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/Tp"
            }
          },
          "404": {
            "description": "Тарифный план не найден",
            "schema": {
              "$ref": "#/definitions/ApiResponse"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/tp/{tpID}/intervals/": {
      "get": {
        "tags": [
          "tp"
        ],
        "summary": "Получить информацию по интервалам ТП",
        "description": "Возвращает интервалы ТП",
        "operationId": "getTpIntervalsInfo",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "tpID",
            "in": "path",
            "description": "tpID тарифного плана",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/TpIntervals"
            }
          },
          "404": {
            "description": "Тарифный план не найден",
            "schema": {
              "$ref": "#/definitions/ApiResponse"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/districts": {
      "get": {
        "tags": [
          "districts"
        ],
        "summary": "Получить районы",
        "description": "Возвращает список районов",
        "operationId": "getDistricts",
        "produces": [
          "application/json"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/DistrictsArray"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      },
      "post": {
        "tags": [
          "districts"
        ],
        "summary": "Добавление района",
        "operationId": "addDistrict",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Districts"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/ApiSuccessAddResponse"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/districts/{ID}": {
      "get": {
        "tags": [
          "districts"
        ],
        "summary": "Получить информацию о районе",
        "operationId": "getDistrictInfo",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "ID",
            "in": "path",
            "description": "ID района",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/Districts"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      },
      "put": {
        "tags": [
          "districts"
        ],
        "summary": "Обновить информацию о районе",
        "operationId": "updateDistrict",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "ID",
            "in": "path",
            "description": "ID района",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Districts"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Invalid ID supplied"
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/streets": {
      "get": {
        "tags": [
          "streets"
        ],
        "summary": "Получить улицы",
        "description": "Возвращает список улиц",
        "operationId": "getStreets",
        "produces": [
          "application/json"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/StreetsArray"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      },
      "post": {
        "tags": [
          "streets"
        ],
        "summary": "Добавление района",
        "operationId": "addStreet",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Streets"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/ApiSuccessAddResponse"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/streets/{ID}": {
      "get": {
        "tags": [
          "streets"
        ],
        "summary": "Получить информацию о улице",
        "description": "Возвращает улицу",
        "operationId": "getStreetInfo",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "ID",
            "in": "path",
            "description": "ID улицы",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/Streets"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      },
      "put": {
        "tags": [
          "streets"
        ],
        "summary": "Обновить информацию о улице",
        "operationId": "updateStreet",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "ID",
            "in": "path",
            "description": "ID улицы",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Streets"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Invalid ID supplied"
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/builds": {
      "get": {
        "tags": [
          "builds"
        ],
        "summary": "Получить дома",
        "description": "Возвращает список домов",
        "operationId": "getBuilds",
        "produces": [
          "application/json"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/BuildsArray"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      },
      "post": {
        "tags": [
          "builds"
        ],
        "summary": "Добавление дома",
        "operationId": "addBuild",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Builds"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/ApiSuccessAddResponse"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/builds/{ID}": {
      "get": {
        "tags": [
          "builds"
        ],
        "summary": "Получить информацию о доме",
        "description": "Возвращает дом",
        "operationId": "getBuildInfo",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "ID",
            "in": "path",
            "description": "ID дома",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/Builds"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      },
      "put": {
        "tags": [
          "builds"
        ],
        "summary": "Обновить информацию о доме",
        "operationId": "updateBuild",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "ID",
            "in": "path",
            "description": "ID дома",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Builds"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Invalid ID supplied"
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/payments/types": {
      "get": {
        "tags": [
          "payments"
        ],
        "summary": "Получить список типов оплат",
        "description": "Возвращает список типов оплат",
        "operationId": "getPaymentTypesList",
        "produces": [
          "application/json"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/PaymentTypesArray"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/payments/users/{UID}": {
      "get": {
        "tags": [
          "payments"
        ],
        "summary": "Получить список оплат пользователя",
        "description": "Возвращает список оплат пользователя",
        "operationId": "getUserPayments",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователя",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/UserPaymentsArray"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      },
      "post": {
        "tags": [
          "payments"
        ],
        "summary": "Добавление оплаты пользователю",
        "operationId": "addUserPayment",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователя",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UserPaymentAdd"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Invalid ID supplied"
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/fees/types": {
      "get": {
        "tags": [
          "fees"
        ],
        "summary": "Получить список типов списания",
        "description": "Возвращает список типов списания",
        "operationId": "getFeesTypesList",
        "produces": [
          "application/json"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/FeesTypesArray"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/fees/users/{UID}": {
      "get": {
        "tags": [
          "fees"
        ],
        "summary": "Получить список списаний пользователя",
        "description": "Возвращает список списаний пользователя",
        "operationId": "getUserFees",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователя",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/UserFeesArray"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/fees/users/{UID}/{SUM}": {
      "post": {
        "tags": [
          "fees"
        ],
        "summary": "Добавление списания пользователю",
        "operationId": "addUserFee",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователя",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "SUM",
            "in": "path",
            "description": "Сумма списания",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UserFeeAdd"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Invalid ID supplied"
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/abon/tariffs": {
      "get": {
        "tags": [
          "abon"
        ],
        "summary": "Получить список ТП",
        "description": "Возвращает список ТП",
        "operationId": "getAbonTps",
        "produces": [
          "application/json"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/AbonTpsArray"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      },
      "post": {
        "tags": [
          "abon"
        ],
        "summary": "Добавление ТП",
        "operationId": "addAbonTp",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/AbonAddTp"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/ApiSuccessAddResponse"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/abon/tariffs/{ID}": {
      "get": {
        "tags": [
          "abon"
        ],
        "summary": "Получить информацию о ТП",
        "description": "Возвращает информацию о ТП",
        "operationId": "getAbonTp",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "ID",
            "in": "path",
            "description": "ID ТП",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/AbonTp"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/abon/tariffs/{ID}/users/{UID}": {
      "post": {
        "tags": [
          "abon"
        ],
        "summary": "Добавление ТП пользователю",
        "operationId": "addAbonTpToUser",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "ID",
            "in": "path",
            "description": "ID ТП",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователя",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/ApiSuccessAddResponse"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      },
      "delete": {
        "tags": [
          "abon"
        ],
        "summary": "Удаление ТП пользователя",
        "description": "Удаление ТП пользователя",
        "operationId": "getUserAbonTps",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "ID",
            "in": "path",
            "description": "ID ТП",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователя",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение"
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/abon/users": {
      "get": {
        "tags": [
          "abon"
        ],
        "summary": "Получить список пользователей Abon",
        "description": "Возвращает список пользователей Abon",
        "operationId": "getUsersAbon",
        "produces": [
          "application/json"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/AbonUsersArray"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/online/{UID}": {
      "get": {
        "tags": [
          "online"
        ],
        "summary": "Получить сессии пользователя по UID",
        "description": "Возвращает сессии пользователя",
        "operationId": "getUserSessions",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователя в биллинге",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/OnlineSessionsArray"
            }
          },
          "404": {
            "description": "Пользователь не найден",
            "schema": {
              "$ref": "#/definitions/ApiResponse"
            }
          }
        },
        "security": [
          {
            "KEY": []
          }
        ]
      }
    },
    "/version": {
      "get": {
        "tags": [
          "version"
        ],
        "summary": "Получить версии биллинга и API",
        "operationId": "getVersion",
        "produces": [
          "application/json"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/Version"
            }
          }
        },
        "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"
        }
      }
    },
    "UserPi": {
      "type": "object",
      "properties": {
        "fio": {
          "type": "string",
          "example": "Петренко",
          "description": "Фамилия"
        },
        "fio2": {
          "type": "string",
          "example": "Иван",
          "description": "Имя"
        },
        "fio3": {
          "type": "string",
          "example": "Петрович",
          "description": "Отчество"
        },
        "comments": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        }
      }
    },
    "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"
        }
      }
    },
    "UserInternetList": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/UserInternetList_inner"
      }
    },
    "UserInternet": {
      "type": "object",
      "properties": {
        "tpId": {
          "type": "integer",
          "example": 41
        },
        "cid": {
          "type": "string",
          "example": "14:11:11:11:11:c1"
        },
        "activate": {
          "type": "string",
          "example": "0000-00-00"
        },
        "expire": {
          "type": "string",
          "example": "0000-00-00"
        }
      }
    },
    "UserIptvList": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/UserIptvList_inner"
      }
    },
    "Contacts": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "example": "test@gmail.com"
        },
        "type": {
          "type": "string",
          "example": "_SHOW",
          "description": "_SHOW - отобразить поле"
        },
        "typeName": {
          "type": "string",
          "example": "_SHOW"
        }
      }
    },
    "ContactsArray": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/ContactsArray_inner"
      }
    },
    "Tp": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "example": 2
        },
        "tpId": {
          "type": "integer",
          "example": 83
        },
        "dayFee": {
          "type": "integer"
        },
        "monthFee": {
          "type": "integer"
        },
        "module": {
          "type": "string",
          "example": "Internet"
        },
        "changePrice": {
          "type": "integer"
        },
        "activPrice": {
          "type": "integer"
        },
        "serviceId": {
          "type": "integer"
        },
        "status": {
          "type": "integer"
        }
      }
    },
    "TpIntervals": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/TpIntervals_inner"
      }
    },
    "Groups": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/Groups_inner"
      }
    },
    "Msgs": {
      "type": "object",
      "properties": {
        "uid": {
          "type": "integer",
          "example": 11135
        },
        "chapter": {
          "type": "integer",
          "example": 2
        },
        "message": {
          "type": "string",
          "example": "Test message"
        },
        "state": {
          "type": "integer",
          "example": 0
        },
        "subject": {
          "type": "string",
          "example": "Message subject"
        },
        "priority": {
          "type": "integer",
          "example": 2
        }
      }
    },
    "MsgsReply": {
      "type": "object",
      "properties": {
        "aid": {
          "type": "integer",
          "example": 2
        },
        "reply_text": {
          "type": "string",
          "example": "Reply text"
        }
      }
    },
    "MsgsRepliesList": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/MsgsRepliesList_inner"
      }
    },
    "MsgsReplyAttachment": {
      "type": "object",
      "properties": {
        "filename": {
          "type": "string",
          "example": "Test.txt"
        },
        "filesize": {
          "type": "integer",
          "example": 12
        },
        "content": {
          "type": "string",
          "example": "  Test content"
        },
        "content_type": {
          "type": "string",
          "example": "text/plain"
        },
        "message_type": {
          "type": "integer",
          "example": 1
        }
      }
    },
    "MsgsChapter": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/MsgsChapter_inner"
      }
    },
    "Districts": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "example": "пос.Зуевка"
        },
        "city": {
          "type": "string",
          "example": "Харцызск"
        },
        "zip": {
          "type": "string"
        }
      }
    },
    "DistrictsArray": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/DistrictsArray_inner"
      }
    },
    "Streets": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "example": "ул.Цэемовская"
        },
        "district_id": {
          "type": "integer",
          "example": 2
        },
        "second_name": {
          "type": "string"
        }
      }
    },
    "StreetsArray": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/StreetsArray_inner"
      }
    },
    "Builds": {
      "type": "object",
      "properties": {
        "street_id": {
          "type": "integer",
          "example": 2
        },
        "number": {
          "type": "string"
        }
      }
    },
    "BuildsArray": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/BuildsArray_inner"
      }
    },
    "PaymentTypesArray": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/PaymentTypesArray_inner"
      }
    },
    "UserPaymentsArray": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/UserPaymentsArray_inner"
      }
    },
    "UserPaymentAdd": {
      "type": "object",
      "properties": {
        "sum": {
          "type": "integer",
          "example": 500
        },
        "method": {
          "type": "integer",
          "example": 6
        },
        "bill_id": {
          "type": "integer",
          "example": 10
        }
      }
    },
    "FeesTypesArray": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/FeesTypesArray_inner"
      }
    },
    "UserFeesArray": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/UserFeesArray_inner"
      }
    },
    "UserFeeAdd": {
      "type": "object",
      "properties": {
        "method": {
          "type": "integer",
          "example": 6
        },
        "bill_id": {
          "type": "integer",
          "example": 10
        },
        "describe": {
          "type": "string"
        }
      }
    },
    "AbonTpsArray": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/AbonTpsArray_inner"
      }
    },
    "AbonAddTp": {
      "type": "object",
      "properties": {
        "price": {
          "type": "integer",
          "example": 100
        },
        "period": {
          "type": "integer",
          "example": 1
        },
        "name": {
          "type": "string",
          "example": "Test abon TP"
        },
        "description": {
          "type": "string",
          "example": "Test description"
        }
      }
    },
    "AbonTp": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "example": 1
        },
        "name": {
          "type": "string",
          "example": "Test abon TP"
        },
        "price": {
          "type": "integer",
          "example": 100
        },
        "userPortal": {
          "type": "integer",
          "example": 0
        },
        "userCount": {
          "type": "integer",
          "example": 10
        },
        "discount": {
          "type": "integer",
          "example": 0
        },
        "paymentType": {
          "type": "integer",
          "example": 0
        },
        "periodAlignment": {
          "type": "integer",
          "example": 1
        },
        "nextAbonDate": {
          "type": "string",
          "example": "2021-10-01"
        },
        "description": {
          "type": "string"
        }
      }
    },
    "AbonUsersArray": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/AbonUsersArray_inner"
      }
    },
    "OnlineSessionsArray": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/OnlineSessionsArray_inner"
      }
    },
    "Version": {
      "type": "object",
      "properties": {
        "version": {
          "type": "string",
          "example": "0.91.0"
        },
        "apiVersion": {
          "type": "string",
          "example": "0.01"
        },
        "billing": {
          "type": "string",
          "example": "Abills"
        }
      }
    },
    "ApiResponse": {
      "type": "object",
      "properties": {
        "errstr": {
          "type": "string",
          "example": "ERROR_NOT_EXIST"
        },
        "errno": {
          "type": "integer",
          "example": 2
        }
      }
    },
    "ApiSuccessAddResponse": {
      "type": "object",
      "properties": {
        "total": {
          "type": "integer",
          "example": 0
        },
        "affected": {
          "type": "integer",
          "example": 1
        },
        "insertId": {
          "type": "integer",
          "example": 37
        }
      }
    },
    "UserLogin": {
      "type": "object",
      "properties": {
        "login": {
          "type": "string",
          "example": "testuser"
        },
        "password": {
          "type": "string",
          "example": "testuser"
        }
      }
    },
    "inline_response_200": {
      "type": "object",
      "properties": {
        "login": {
          "type": "string",
          "example": "testuser"
        },
        "sid": {
          "type": "string",
          "example": "sW44EJZLyWDMeXAV"
        },
        "uid": {
          "type": "string",
          "example": "5690"
        }
      }
    },
    "UserInternetList_inner": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "example": 2
        },
        "tpName": {
          "type": "string",
          "example": "Премиум до 100м"
        },
        "tpId": {
          "type": "integer",
          "example": 41
        },
        "internetStatus": {
          "type": "integer",
          "example": 0
        },
        "cid": {
          "type": "string",
          "example": "14:11:11:11:11:c1"
        },
        "monthFee": {
          "type": "integer",
          "example": 250
        },
        "dayFee": {
          "type": "integer",
          "example": 0
        }
      }
    },
    "UserIptvList_inner": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "example": 2
        },
        "tpName": {
          "type": "string",
          "example": "Премиум Iptvportal"
        },
        "tpId": {
          "type": "integer",
          "example": 41
        },
        "serviceStatus": {
          "type": "integer",
          "example": 0
        },
        "monthFee": {
          "type": "integer",
          "example": 250
        },
        "dayFee": {
          "type": "integer",
          "example": 0
        },
        "serviceId": {
          "type": "integer",
          "example": 0
        },
        "subscribeId": {
          "type": "integer",
          "example": 0
        },
        "filterId": {
          "type": "integer",
          "example": 0
        }
      }
    },
    "ContactsArray_inner": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "example": 1
        },
        "uid": {
          "type": "string",
          "example": "132"
        },
        "value": {
          "type": "string",
          "example": "test@gmail.com"
        },
        "typeName": {
          "type": "string",
          "example": "Email"
        }
      }
    },
    "TpIntervals_inner": {
      "type": "object",
      "properties": {
        "begin": {
          "type": "string",
          "example": "00:00:00"
        },
        "end": {
          "type": "string",
          "example": "23:59:59"
        },
        "id": {
          "type": "integer",
          "example": 2
        },
        "tarif": {
          "type": "string"
        },
        "trafficClasses": {
          "type": "string"
        },
        "day": {
          "type": "integer"
        }
      }
    },
    "Groups_inner": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "example": 53
        },
        "name": {
          "type": "string",
          "example": "Должники"
        },
        "descr": {
          "type": "string"
        },
        "domainId": {
          "type": "integer"
        },
        "disableChgTp": {
          "type": "integer",
          "example": 1
        }
      }
    },
    "MsgsRepliesList_inner": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "example": 2
        },
        "text": {
          "type": "string",
          "example": "Reply text"
        },
        "aid": {
          "type": "integer",
          "example": 2
        },
        "admin": {
          "type": "string",
          "example": "abills"
        },
        "datetime": {
          "type": "string",
          "example": "2021-08-09 13:25:41"
        },
        "mainMsg": {
          "type": "integer",
          "example": 40
        }
      }
    },
    "MsgsChapter_inner": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "example": 2
        },
        "name": {
          "type": "string",
          "example": "Первый раздел"
        },
        "responsible": {
          "type": "integer",
          "example": 1
        },
        "innerChapter": {
          "type": "integer",
          "example": 0
        },
        "autoclose": {
          "type": "integer",
          "example": 50
        }
      }
    },
    "DistrictsArray_inner": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "example": 10
        },
        "name": {
          "type": "string",
          "example": "пос.Зуевка"
        },
        "city": {
          "type": "string",
          "example": "Харцызск"
        },
        "zip": {
          "type": "string"
        },
        "streetCount": {
          "type": "integer",
          "example": 31
        }
      }
    },
    "StreetsArray_inner": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "example": 10
        },
        "streetName": {
          "type": "string",
          "example": "ул.Цэемовская"
        },
        "districtId": {
          "type": "integer",
          "example": 2
        },
        "buildCount": {
          "type": "integer",
          "example": 31
        }
      }
    },
    "BuildsArray_inner": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "example": 10
        },
        "streetName": {
          "type": "string",
          "example": "ул.Цэемовская"
        },
        "streetId": {
          "type": "integer",
          "example": 2
        },
        "number": {
          "type": "string",
          "example": "31"
        }
      }
    },
    "PaymentTypesArray_inner": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "example": 10
        },
        "name": {
          "type": "string",
          "example": "Credit card"
        },
        "feesType": {
          "type": "integer",
          "example": 0
        },
        "color": {
          "type": "string"
        }
      }
    },
    "UserPaymentsArray_inner": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "example": 10
        },
        "sum": {
          "type": "integer",
          "example": 500
        },
        "regDate": {
          "type": "string",
          "example": "2021-07-02 07:46:01"
        },
        "method": {
          "type": "integer",
          "example": 6
        },
        "innerDescribe": {
          "type": "string"
        }
      }
    },
    "FeesTypesArray_inner": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "example": 10
        },
        "name": {
          "type": "string",
          "example": "Пеня"
        },
        "sum": {
          "type": "integer",
          "example": 500
        },
        "defaultDescribe": {
          "type": "string"
        }
      }
    },
    "UserFeesArray_inner": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "example": 10
        },
        "sum": {
          "type": "integer",
          "example": 500
        },
        "regDate": {
          "type": "string",
          "example": "2021-07-02 07:46:01"
        },
        "method": {
          "type": "integer",
          "example": 2
        },
        "dsc": {
          "type": "string",
          "example": "Internet: М/А Премиум до 100м (41) - Распределение абонплаты"
        }
      }
    },
    "AbonTpsArray_inner": {
      "type": "object",
      "properties": {
        "tpId": {
          "type": "integer",
          "example": 1
        },
        "name": {
          "type": "string",
          "example": "Test abon TP"
        },
        "price": {
          "type": "integer",
          "example": 100
        },
        "userPortal": {
          "type": "integer",
          "example": 0
        },
        "userCount": {
          "type": "integer",
          "example": 10
        },
        "discount": {
          "type": "integer",
          "example": 0
        },
        "paymentType": {
          "type": "integer",
          "example": 0
        },
        "periodAlignment": {
          "type": "integer",
          "example": 1
        },
        "nextAbonDate": {
          "type": "string",
          "example": "2021-10-01"
        },
        "description": {
          "type": "string"
        }
      }
    },
    "AbonUsersArray_inner": {
      "type": "object",
      "properties": {
        "tpId": {
          "type": "integer",
          "example": 1
        },
        "tpName": {
          "type": "string",
          "example": "Test abon TP"
        },
        "price": {
          "type": "integer",
          "example": 100
        },
        "serviceCount": {
          "type": "integer",
          "example": 1
        },
        "date": {
          "type": "string",
          "example": "2021-08-11"
        },
        "nextAbon": {
          "type": "string",
          "example": "2021-09-01"
        },
        "uid": {
          "type": "integer",
          "example": 11135
        },
        "login": {
          "type": "string",
          "example": "3433"
        }
      }
    },
    "OnlineSessionsArray_inner": {
      "type": "object",
      "properties": {
        "clientIpNum": {
          "type": "integer",
          "example": 3232238092
        },
        "nasId": {
          "type": "integer",
          "example": 12
        },
        "duration": {
          "type": "string",
          "example": "838:59:59"
        },
        "status": {
          "type": "integer",
          "example": 10
        },
        "userName": {
          "type": "string",
          "example": "userName"
        },
        "clientIp": {
          "type": "string",
          "example": "192.168.10.12"
        },
        "acctSessionId": {
          "type": "string",
          "example": "Akie6VpiYU"
        }
      }
    }
  }
}


Anchor
API пользователя
API пользователя

Open API (Swagger) Integration for Confluence
{
  "swagger": "2.0",
  "info": {
    "version": "1.0.0",
    "title": "Abills user API"
  },
  "host": "demo.abills.net.ua:9443",
  "basePath": "/api.cgi",
  "tags": [
    {
      "name": "user",
      "description": "Работа с пользователем"
    },
    {
      "name": "internet",
      "description": "Работа с услугой Интернет"
    },
    {
      "name": "msgs",
      "description": "Работа с заявками пользователя"
    },
    {
      "name": "abon",
      "description": "Работа с периодическими списаниями"
    }
  ],
  "schemes": [
    "https"
  ],
  "paths": {
    "/user/{UID}": {
      "get": {
        "tags": [
          "user"
        ],
        "summary": "Информация о пользователе",
        "operationId": "userInfo",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователя",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/User"
            }
          }
        },
        "security": [
          {
            "USER_SID": []
          }
        ]
      }
    },
    "/user/{UID}/pi": {
      "get": {
        "tags": [
          "user"
        ],
        "summary": "Персональная информация пользователя",
        "operationId": "userPersonalInfo",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователя",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/UserPi"
            }
          }
        },
        "security": [
          {
            "USER_SID": []
          }
        ]
      }
    },
    "/user/{UID}/credit": {
      "get": {
        "tags": [
          "user"
        ],
        "summary": "Информация об установке кредита",
        "operationId": "userCreditInfo",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователя",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/UserCreditInfo"
            }
          }
        },
        "security": [
          {
            "USER_SID": []
          }
        ]
      },
      "post": {
        "tags": [
          "user"
        ],
        "summary": "Установка кредита пользователю",
        "operationId": "userSetCredit",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователя",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/UserCredit"
            }
          }
        },
        "security": [
          {
            "USER_SID": []
          }
        ]
      }
    },
    "/user/{UID}/internet": {
      "get": {
        "tags": [
          "internet"
        ],
        "summary": "Информация об интернет услугах пользователя",
        "operationId": "userInternetInfo",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователя",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/UserInternet"
            }
          }
        },
        "security": [
          {
            "USER_SID": []
          }
        ]
      }
    },
    "/user/{UID}/internet/{ID}": {
      "put": {
        "tags": [
          "internet"
        ],
        "summary": "Смена ТП",
        "operationId": "userChangeInternetTP",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователя",
            "required": true,
            "type": "string"
          },
          {
            "name": "ID",
            "in": "path",
            "description": "ID услуги Интернет",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/body"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/InternetChangeTPSuccess"
            }
          },
          "400": {
            "description": "Ошибка",
            "schema": {
              "$ref": "#/definitions/InternetChangeTPError"
            }
          }
        },
        "security": [
          {
            "USER_SID": []
          }
        ]
      }
    },
    "/user/{UID}/internet/{ID}/holdupspeed": {
      "postget": {
        "tags": [
          "internet"
        ],
        "summary": "ПриостановлениеСкорость услуги ИнтернетТП",
        "operationId": "userInternetHoldupuserTpSpeed",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователя",
            "required": true,
            "type": "string"
          },
          {
            "name": "ID",
            "in": "path",
            "description": "ID услуги Интернет",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/body_1"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/HoldupReplyInternetSpeed"
            }
          }
        },
        "security": [
          {
            "USER_SID": []
          }
        ]
      }
    },
    "/user/{UID}/internet/{ID}/holdup": {
      "deletepost": {
        "tags": [
          "internet"
        ],
        "summary": "Удаление рассписания на приостановлениеПриостановление услуги Интернет",
        "operationId": "userDeleteInternetHoldupuserInternetHoldup",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователя",
            "required": true,
            "type": "string"
          },
          {
            "name": "ID",
            "in": "path",
            "description": "ID услуги Интернет",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/body_1"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/HoldupReply"
            }
          }
        },
        "security": [
          {
            "USER_SID": []
          }
        ]
      }
    },
    "/user/{UID}/internet/{ID}/tariffs": {
      "getdelete": {
        "tags": [
          "internet"
        ],
        "summary": "Доступные для изменения ТПУдаление рассписания на приостановление услуги Интернет",
        "operationId": "userInternetAvailableToChangeTariffsuserDeleteInternetHoldup",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователя",
            "required": true,
            "type": "string"
          },
          {
            "name": "ID",
            "in": "path",
            "description": "ID услуги Интернет",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/UserAvailableTariffsHoldupReply"
            }
          }
        },
        "security": [
          {
            "USER_SID": []
          }
        ]
      }
    },
    "/user/{UID}/internet/{ID}/warningstariffs": {
      "get": {
        "tags": [
          "internet"
        ],
        "summary": "ИнформацияДоступные для оизменения списанияхТП",
        "operationId": "userInternetWarningsuserInternetAvailableToChangeTariffs",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователя",
            "required": true,
            "type": "string"
          },
          {
            "name": "ID",
            "in": "path",
            "description": "ID услуги",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/InternetWarningsUserAvailableTariffs"
            }
          }
        },
        "security": [
          {
            "USER_SID": []
          }
        ]
      }
    },
    "/user/{UID}/internet/{ID}/msgswarnings": {
      "get": {
        "tags": [
          "msgsinternet"
        ],
        "summary": "СписокИнформация заявоко пользователясписаниях",
        "operationId": "userMsgsListuserInternetWarnings",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователя",
            "required": true,
            "type": "string"
          },
        ],
        "responses": {
{
            "200name": {"ID",
            "in": "path",
            "description": "ID услуги",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/MsgsArrayInternetWarnings"
            }
          }
        },
        "security": [
          {
            "USER_SID": []
          }
        ]
      }
    },
    "/user/{UID}/abon": {
      "postget": {
        "tags": [
          "msgsabon"
        ],
        "summary": "Создание заявкиИнформация об периодических списаниях пользователя",
        "operationId": "userAddMessageuserAbonInfo",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователя",
            "required": true,
            "type": "string"
          },
          {
    ],
        "inresponses": "body",
  {
          "name200": "body",{
            "requireddescription": "Успешное trueвыполнение",
            "schema": {
              "$ref": "#/definitions/MsgsAddUserAbon"
            }
          }
        ]},
        "responsessecurity": {[
          "200": {
            "descriptionUSER_SID": "Успешное выполнение",
[]
          }
   "schema": {
    ]
      }
    "$ref": "#/definitions/MsgsAdded"
            }
          }
        },
        "security": [
          {
            "USER_SID": []
          }
        ]
      }
    },
    "/user/{UID}/msgs/{ID}": {
      "get": {
        "tags": [
          "msgs"
        ],
        "summary": "ИнформацияСписок о заявкезаявок пользователя",
        "operationId": "userMsgsuserMsgsList",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователя",
            "required": true,
            "type": "string"
          },
          {
    ],
        "nameresponses": "ID",
  {
          "in200": "path",{
            "description": "IDУспешное заявкивыполнение",
            "requiredschema": true,{
              "type$ref": "string#/definitions/MsgsArray"
            }
          ],}
        "responses": {
  },
        "200security": {[
            "description": "Успешное выполнение",{
            "schemaUSER_SID": {[]
              "$ref": "#/definitions/MsgsInfo"
}
        ]
      },
      "post": {
   }
        },
        "security": [
          {
            "USER_SID": []
          }
        ]
      }
    },
    "/user/{UID}/msgs/{ID}/reply": {
      "get": {
        "tags": [
          "msgs"
        ],
        "summary": "СписокСоздание заявок пользователязаявки",
        "operationId": "userMsgReplyListuserAddMessage",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователя",
            "required": true,
            "type": "string"
          },
          {
            "namein": "IDbody",
            "inname": "pathbody",
            "descriptionrequired": "ID заявки"true,
            "requiredschema": true,{
              "type$ref": "string"#/definitions/MsgsAdd"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/MsgsReplyArrayMsgsAdded"
            }
          }
        },
        "security": [
          {
            "USER_SID": []
          }
        ]
      }
    },
    "/user/{UID}/msgs/{ID}": {
      "postget": {
        "tags": [
          "msgs"
        ],
        "summary": "Создание заявкиИнформация о заявке пользователя",
        "operationId": "userAddReplyuserMsgs",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователя",
            "required": true,
            "type": "string"
          },
          {
            "name": "ID",
            "in": "path",
            "description": "ID заявки",
            "required": true,
            "type": "string"
          },
          {
    ],
        "inresponses": "body",
  {
          "name200": "body",{
            "requireddescription": true"Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/MsgsReplyAddMsgsInfo"
            }
          }
           ],
        "responses": {
   },
        "security": [
          {
            "USER_SID": []
          }
        ]
      }
    },
    "/user/{UID}/msgs/{ID}/reply": {
      "get": {
        "tags": [
          "msgs"
        ],
        "summary": "Список заявок пользователя",
        "operationId": "userMsgReplyList",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователя",
            "required": true,
            "type": "string"
          },
          {
            "name": "ID",
            "in": "path",
            "description": "ID заявки",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение",
            "schema": {
              "$ref": "#/definitions/MsgsReplyArray"
            }
          }
        },
        "security": [
          {
            "USER_SID": []
          }
        ]
      },
      "post": {
        "tags": [
          "msgs"
        ],
        "summary": "Создание заявки",
        "operationId": "userAddReply",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "UID",
            "in": "path",
            "description": "UID пользователя",
            "required": true,
            "type": "string"
          },
          {
            "name": "ID",
            "in": "path",
            "description": "ID заявки",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/MsgsReplyAdd"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Успешное выполнение"
          }
        },
        "security": [
          {
            "USER_SID": []
          }
        ]
      }
    }
  },
  "securityDefinitions": {
    "USER_SID": {
      "type": "apiKey",
      "name": "USERSID",
      "in": "header"
    }
  },
  "definitions": {
    "User": {
      "properties": {
        "login": {
          "type": "string",
          "example": "3433"
        },
        "deposit": {
          "type": "integer",
          "example": 1600
        },
        "credit": {
          "type": "integer",
          "example": 100
        },
        "creditDate": {
          "type": "string",
          "example": "2021-08-13"
        },
        "billId": {
          "type": "integer",
          "example": 12
        },
        "gid": {
          "type": "integer",
          "example": 57
        },
        "disable": {
          "type": "integer",
          "example": 0
        },
        "deleted": {
          "type": "integer",
          "example": 0
        }
      }
    },
    "UserPi": {
      "properties": {
        "200fio": {
            "descriptiontype": "Успешное выполнениеstring",
           }"example": "Иванов Иван Иванович"
        },
        "securityaddressFull": [{
           {
  "type": "string",
          "USER_SIDexample": []
  "ул.Адамца, 121, 3"
        },
        "age": ]{
       }
    }
  },
  "securityDefinitions": {
"type": "integer",
          "USER_SIDexample": {33
       "type": "apiKey" },
        "namelocationId": "USERSID",
{
          "intype": "headerinteger",
    }
  },
  "definitions": {
    "Userexample": {1444
       "properties": { },
        "logincontractId": {
          "type": "string",
          "example": "3433575493"
        },
        "depositemail": {
          "type": "integerarray",
          "exampleitems": 1600{
        },
        "credittype": {
"string",
            "typeexample": "integertest@gmail.com",
          "example": 100}
        },
        "creditDatephone": {
          "type": "stringarray",
          "exampleitems": "2021-08-13"
    {
    },
        "billIdtype": {
"string",
            "typeexample": "integer380976574568",
          }
     "example": 12
  }
      },
    },
    "gidUserInternet": {
          "type": "integerarray",
      "items": {
        "example$ref": 57
 "#/definitions/UserInternet_inner"
       },
    },
    "disableInternetSpeed": {
          "type": "integerarray",
      "items": {
        "example$ref": 0
  "#/definitions/InternetSpeed_inner"
      },
    },
    "deletedUserAbon": {
          "type": "integerarray",
          "exampleitems": 0{
         }"$ref": "#/definitions/UserAbon_inner"
      }
    },
    "UserPiUserCredit": {
      "properties": {
        "fiocreditSum": {
          "type": "stringinteger",
          "example": "Иванов Иван Иванович"500
        },
        "addressFullcreditChangePrice": {
          "type": "stringinteger",
          "example": "ул.Адамца, 121, 3"100
        },
        "ageuid": {
          "type": "integer",
          "example": 3311135
        },
        "locationIdcreditDays": {
          "type": "integerstring",
          "example": 1444"3"
        },
        "contractIdcreditMonthChanges": {
          "type": "string",
          "example": "575493"
1"
        }
      }
    },
    "UserCreditInfo": {
      "properties": {
        "emailcreditChgPrice": {
          "type": "arraystring",
          "itemsexample": {
"500"
        },
        "typecreditMonthChanges": "string",
  {
          "exampletype": "test@gmail.comstring",
           }"example": "1"
        },
        "phonecreditSum": {
          "type": "arraystring",
          "itemsexample": {
"800"
        },
        "typecreditDays": "string",
  {
          "exampletype": "380976574568string",
          }"example": "3"
        }
      }
    },
    "UserInternetUserAvailableTariffs": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/UserInternetUserAvailableTariffs_inner"
      }
    },
    "UserCreditHoldupReply": {
      "properties": {
        "creditSumsuccess": {
          "type": "integer",
          "example": 5001
        },
        "creditChangePricemsg": {
          "type": "integer",
  string"
        }
      }
    },
    "exampleInternetWarnings": 100{
        },"properties": {
        "uidmessageType": {
          "type": "integerstring",
          "example": 11135"success"
        },
        "creditDayswarning": {
          "type": "string",
          "example": "3следующее списание через 7 дней"
        },
        "creditMonthChangesdaysToFee": {
          "type": "string",
          "example": "1"
        }
  2"
    }
    },
    "UserCreditInfo": {
      "properties": {
        "creditChgPricesum": {
          "type": "stringinteger",
          "example": "500"150
        },
        "creditMonthChangesabonDate": {
          "type": "string",
          "example": "12021-10-01"
        },
        "creditSum": {}
      },
    "typeInternetChangeTPSuccess": "string",
    {
      "exampleproperties": "800"
        },{
        "creditDayssuccess": {
          "type": "stringinteger",
          "example": "3"1
        }
      },
    },
    "UserAvailableTariffsuid": {
      "type": "array",
      "itemstype": {"integer"
        "$ref": "#/definitions/UserAvailableTariffs_inner"}
      }
    },
    "HoldupReplyInternetChangeTPError": {
      "properties": {
        "successerror": {
          "type": "integer",
          "example": 1145
        },
        "msgmessage": {
          "type": "string"
        },
        "messageType": {
  }
    },
    "InternetWarningstype": {"string"
       "properties": { },
        "messageTypemessageTitle": {
          "type": "string",
        }
      }
    "example},
    "MsgsAdd": "success"{
        },"properties": {
        "warningchapter": {
          "type": "stringinteger",
          "example": "следующее списание через 7 дней"3
        },
        "daysToFeemessage": {
          "type": "string",
          "example": "2Some message"
        },
        "sumsubject": {
          "type": "integerstring",
          "example": "Message 150subject"
        },
        "abonDatepriority": {
          "type": "stringinteger",
          "example": "2021-10-01"2
        }
      }
    },
    "InternetChangeTPSuccessMsgsAdded": {
      "properties": {
        "successinsertId": {
          "type": "integer",
          "example": 143
        },
        "uidmsgId": {
          "type": "integer"
        }
    ,
  }
    },
    "InternetChangeTPErrorexample": {43
       "properties": { },
        "erroraffected": {
          "type": "integer",
          "example": 1451
        },
        "message": {}
      },
    "typeMsgsInfo": "string"{
        },"properties": {
        "messageTypesubject": {
          "type": "string"
        },
        "messageTitle": {
          "typeexample": "string"
Message user       }
  api subject"
    }
    },
    "MsgsAdd": {
      "properties": {
        "chaptermessage": {
          "type": "integerstring",
          "example": 3 "Test message from user api"
        },
        "messagechapterName": {
          "type": "string",
          "example": "SomeВторой messageраздел"
        },
        "subjectchapter": {
          "type": "stringinteger",
          "example": "Message subject"3
        },
        "priority": {
          "type": "integer",
          "example": 2
        }
      }
    },
    "MsgsAdded": {
      "properties": {
        "insertIdstate": {
          "type": "integer",
          "example": 430
        },
        "msgIddate": {
          "type": "integerstring",
          "example": 43
  "2021-09-02 13:20:37"
        }
      },
    },
    "affectedMsgsArray": {
          "type": "integerarray",
          "exampleitems": 1{
         }"$ref": "#/definitions/MsgsInfo"
      }
    },
    "MsgsInfoMsgsReply": {
      "properties": {
        "subjectuid": {
          "type": "stringinteger",
          "example": "Message user api subject"0
        },
        "messageaid": {
          "type": "stringinteger",
          "example": "Test message from user api"2
        },
        "chapterNameid": {
          "type": "stringinteger",
          "example": "Второй раздел"54
        },
        "chaptertext": {
          "type": "integerstring",
          "example": 3 "some reply text"
        },
        "prioritydatetime": {
          "type": "integerstring",
          "example": "2021-09-02 12:50: 2
47"
        }
      }
    },
    "MsgsReplyAdd": {
      "properties": {
        "statereply_text": {
          "type": "integerstring",
          "example": 0 "Some reply text"
        },
        "datereply_subject": {
          "type": "string",
          "example": "2021-09-02 13:20:37: "Subject"
        }
      }
    },
    "MsgsArrayMsgsReplyArray": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/MsgsInfoMsgsReply"
      }
    },
    "MsgsReplybody": {
      "properties": {
        "uidtp_id": {
          "type": "integer",
          "example": 04
        },
        "aiddate": {
          "type": "integerstring",
          "example": 2"2021-09-17"
        },
        "idperiod": {
          "type": "integer",
          "example": 54
"2 (0 - моментальное изменение ТП, если разрешено, 1 - изменение ТП в след. учётный период, 2 - изменение ТП по указаной дате)"
        }
      }
    },
    "body_1": {
      "properties": {
        "textfrom_date": {
          "type": "string",
          "example": "some reply text2021-08-14"
        },
        "datetimeto_date": {
          "type": "string",
          "example": "2021-09-02 12:50:4708-17"
        }
      }
    },
    "MsgsReplyAddUserInternet_inner": {
      "type": "object",
      "properties": {
        "reply_textid": {
          "type": "stringinteger",
          "example": "Some reply text"2
        },
        "reply_subjecttpName": {
          "type": "string",
          "example": "SubjectПремиум до 100м"
        },
        "tpId": }{
      },
    "MsgsReplyArraytype": {
"integer",
          "typeexample": "array",
 41
        },
        "itemsinternetStatus": {
          "$reftype": "#/definitions/MsgsReplyinteger",
      }
    },
    "bodyexample": {0
       "properties": { },
        "tp_idcid": {
          "type": "integerstring",
          "example": 4"14:11:11:11:11:c1"
        },
        "datemonthFee": {
          "type": "stringinteger",
          "example": "2021-09-17"250
        },
        "perioddayFee": {
          "type": "integer",
          "example": 0
   "2 (0 - моментальное изменение ТП,}
 если разрешено, 1 - изменение ТП}
 в след. учётный период, 2 - изменение ТП по указаной дате)"
},
    "InternetSpeed_inner": {
      "type": "object",
      "properties": {
   }
     "inSpeed": }{
    },
      "body_1type": {
"integer",
          "propertiesexample": { 2999
        },
        "from_dateoutSpeed": {
          "type": "stringinteger",
          "example": "2021-08-14"3000
        },
        "to_datetpNum": {
          "type": "stringinteger",
          "example": "2021-08-17"155
        }
      }
    },
    "UserInternetUserAbon_inner": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "example": 2
        },
        "tpNamename": {
          "type": "string",
          "example": "ПремиумTest доabon 100мTP"
        },
        "tpIdprice": {
          "type": "integer",
          "example": 41100
        },
        "internetStatusperiod": {
          "type": "integer",
          "example": 01
        },
        "cidnextAbon": {
          "type": "string",
          "example": "14:11:11:11:11:c12021-09-01"
        },
        "monthFeecomments": {
          "type": "integer",
          "example": 250string"
        },
        "dayFeedescription": {
          "type": "integerstring",
          "example": "Test 0description"
        }
      }
    },
    "UserAvailableTariffs_inner": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "example": 2
        },
        "name": {
          "type": "string",
          "example": "Премиум до 100м"
        },
        "tpId": {
          "type": "integer",
          "example": 41
        },
        "monthFee": {
          "type": "integer",
          "example": 250
        },
        "dayFee": {
          "type": "integer",
          "example": 0
        },
        "comments": {
          "type": "string"
        }
      }
    }
  }
}