Account — свойства абонента и управление пользователями абонента

Группа методов Account внешнего программного интерфейса Менеджера сервиса предназначена для управления свойствами абонентов и управления пользователями абонентов.

Также к группе методов Account относятся методы для управления обслуживаемыми абонентами (для обслуживающей организации)

Сводка по методам

МетодПримечание
root
listВозвращает список абонентов, доступных пользователю.
infoВозвращает информацию об указанном абоненте.
servant_infoВозвращает информацию об обслуживающей организации абонента.
Метод устарел. Следует использовать метод servants/list.
update_infoОбновляет информацию указанного абонента.
attached_infoВозвращает дополнительную информацию абонента (реквизиты и свойства).
update_attached_infoОбновляет дополнительную информацию абонента (реквизиты и свойства).
users
listВозвращает список пользователей абонента.
infoВозвращает информацию об указанном пользователе абонента.
addДобавляет существующего пользователя к абоненту.
createСоздает нового пользователя сервиса и прикрепляет к абоненту.
delete

Удаляет существующего пользователя абонента (пользователь сервиса не удаляется).

set_roleУстанавливает роль пользователю абонента.
set_session_restrictionУстанавливает ограничение по сеансам для пользователя абонента.
update_attached_infoОбновляет дополнительные реквизиты пользователя абонента.
servants
listВозвращает список обслуживающих организаций абонента.
tariff_selection_pageВозвращает страницу выбора тарифа обслуживающей организации в соответствии с текущей витриной.
servant_tariffs
info Получение информации о тарифе обслуживающей организации.
list Получение списка тарифов обслуживающих организаций.

account/list

Метод возвращает список абонентов, доступных пользователю, от имени которого выполняется вызов метода.

ПараметрТипПримечание
Запрос
нет параметров
Ответ: account (0..*)
idЧислоКод абонента.
nameСтрокаНаименование.
roleСтрокаРоль пользователя (перечисление).
Пример запроса
POST {{server}}/{{url}}
Authorization: {{authorization}}
 
{ 
   "general":{ 
      "type":"ext",
      "method":"account/list"
   }
}


Возможные значения поля role указаны в описании метода  Account — свойства абонента и управление пользователями абонента#account/users/set_role .

 Вверх

account/info

Метод возвращает информацию об указанном абоненте. Поиск абонента выполняется по коду.

ПараметрТипПримечание
Запрос
idЧислоКод абонента.
Ответ: account (1)
idЧислоКод абонента.
nameСтрокаНаименование.
siteСтрокаСайт из "Контактной информации".
cityСтрокаГород из "Контактной информации".
emailСтрокаПочта из "Контактной информации".
phoneСтрокаПочта из "Контактной информации".
Пример запроса
POST {{server}}/{{url}}
Authorization: {{authorization}}
 
{ 
   "general":{ 
      "type":"ext",
      "method":"account/info"
   },
   "auth": {
      "account":{{account}}
   },
   "id": {{account}}   
}


 Вверх

account/update_info

Метод обновляет свойства указанного абонента указанными значениями. 

ПараметрТипПримечание
Запрос
idЧислоКод абонента.
nameСтрокаНаименование.
siteСтрокаСайт из "Контактной информации".
cityСтрокаГород из "Контактной информации".
emailСтрокаПочта из "Контактной информации".
phoneСтрокаТелефон из "Контактной информации".
Ответ (1)
нет параметров


 Вверх

account/servant_info

Метод возвращает информацию и контактные данные абонента, который является обслуживающей организацией для указанного абонента.

ПараметрТипПримечание
Запрос
idЧислоКод обслуживаемого абонента.
Ответ: servant (1)
idЧислоКод обслуживающего абонента.
nameСтрокаНаименование.
siteСтрокаСайт из "Контактной информации".
cityСтрокаГород из "Контактной информации".
emailСтрокаПочта из "Контактной информации".
phoneСтрокаПочта из "Контактной информации".

 Вверх

account/attached_info

Метод возвращает значения дополнительных реквизитов и дополнительных свойств, установленные для указанного абонента.

ПараметрТипПримечание
Запрос
id ЧислоКод абонента 
Ответ (1)
 fields *+ Массив

Дополнительные реквизиты абонента. Ключи:

  • key — Строка, имя реквизита
  • value — Строка/Число/Дата, значение реквизита
properties *+Массив

Дополнительные свойства абонента. Ключи:

  • key — Строка, имя свойства
  • value — Строка/Число/Дата, значение свойства
Пример запроса
POST {{server}}/{{url}}
Authorization: {{authorization}}
 
{ 
   "general":{ 
      "type":"ext",
      "method":"account/attached_info"
   },
   "auth": {
      "account":{{account}}
   },
   "id": {{account}}   
}

 Вверх

account/update_attached_info

Метод обновляет значения дополнительных реквизитов и дополнительных свойств указанного абонента. 

ПараметрТипПримечание
Запрос
id ЧислоКод абонента 
 fields Массив

Дополнительные реквизиты абонента. Массив структур вида

  • key — Строка, имя реквизита
  • value — Строка/Число/Дата, значение реквизита
propertiesМассив

Дополнительные свойства абонента. Массив структур вида

  • key — Строка, имя свойства
  • value — Строка/Число/Дата, значение свойства
Ответ (1)
 нет параметров  

Если в массивах будут указаны названия дополнительных реквизитов и свойств, которые не настроены в информационной базе "Менеджер сервиса", будет возвращена ошибка ("error": true) c кодом возврата 10406. В параметре ответа message будет указано, какие свойства или реквизиты не найдены, например Свойство 'ИНН' не найдено.".

Если в массивах будут указаны не все дополнительные реквизиты и свойства, настроенные в информационной базе "Менеджер сервиса" для справочника "Абоненты", а для указанного абонента ранее были записаны значения этих недостающих реквизитов и свойств, ранее записанные значения недостающих реквизитов и свойств останутся без изменений.

 Вверх

account/users/list 

Метод возвращает список пользователей, подключенных к указанному абоненту.

ПараметрТипПримечание
Запрос
id ЧислоКод абонента. 
Ответ: user (1)
loginСтрокаЛогин пользователя.
nameСтрокаПолное имя пользователя
emailСтрокаАдрес электронной почты пользователя.
roleСтрокаРоль пользователя в приложении (перечисление).
session_restrictionЧислоОграничение по количеству сеансов.
is_temporaryБулевоУказывает, что пользователь имеет только временный доступ.
Пример запроса
POST {{server}}/{{url}}
Authorization: {{authorization}}
 
{ 
   "general":{ 
      "type":"ext",
      "method":"account/users/list"
   },
   "auth": {
      "account":{{account}}
   },
   "id": {{account}}   
}


Возможные значения поля role указаны в описании метода  Account — свойства абонента и управление пользователями абонента#account/users/set_role .

 Вверх

account/users/info

Метод возвращает текущие значения свойств указанного пользователя, подключенного к указанному абоненту.


ПолеТипОписаниеПример
Запрос
idЧисло (+12.0)Код абонента1 010
loginСтрока переменная (32)Логин пользователяAbramov
Ответ: user (1)
loginСтрока переменная (32)Логин пользователяAbramov
is_temporaryБулевоВременный доступfalse
session_restriction *Число (+10.0)Разрешенное количество сеансов5
email *Строка переменная (254)Адрес электронной почтыabramov@example.com
nameСтрока переменная (150)Полное имя пользователяАбрамов Геннадий Сергеевич
role *Строка неограниченной длиныРоль пользователя абонентаowner
fieldsСписок (0..*)Дополнительные реквизиты
  - keyСтрока переменная (100)Имя реквизитаВнешнийПользователь
  - value *Число (любое), Строка неограниченной длины, Дата и время в строке формата ISO, БулевоЗначение реквизитаtrue
  - type *Строка неограниченной длиныТип реквизитаboolean
Пример запроса  Развернуть
{
  "id": 1010,
  "login": "Abramov",
  "auth": {
    "account": 1010
  },
  "general": {
    "version": 9,
    "type": "usr",
    "method": "account/users/info",
    "debug": true
  }
}

Пример ответа  Развернуть
{
  "user": {
    "login": "Abramov",
    "is_temporary": false,
    "session_restriction": 5,
    "email": "abramov@example.com",
    "name": "Абрамов Геннадий Сергеевич",
    "role": "owner",
    "fields": [
      {
        "key": "ВнешнийПользователь",
        "value": true,
        "type": "boolean"
      }
    ]
  },
  "general": {
    "response": 10200,
    "error": false,
    "message": "",
    "version": 9,
    "sm_version": "1.0.95.3",
    "sm_timezone": "Europe/Moscow"
  }
}

Возможные значения поля role указаны в описании метода  Account — свойства абонента и управление пользователями абонента#account/users/set_role .

 Вверх

account/users/add

Метод подключает пользователя с указанным логином к указанному абоненту. Выполнение метода аналогично действиям, которые выполняет мастер создания нового пользователя (команды "Управление пользователями - Добавить") в интерфейсе Личного кабинета в режиме "Добавить существующего пользователя сервиса". В поле fields могут указываться дополнительные реквизиты.

ПараметрТипОписаниеПример
Запрос
idЧисло (+12.0)Код абонента1 010
role *Строка неограниченной длиныРоль пользователя абонентаowner
loginСтрока переменная (32)Логин пользователяLarionova
force *БулевоВыполнить даже при наличии предупрежденийНет
fields *
Дополнительные реквизиты
 - keyСтрока переменная (100)Имя реквизитаВнешнийПользователь
 - value *Число (любое), Строка неограниченной длины, Дата и время в строке формата ISO, БулевоЗначение реквизитаtrue
 - type *Строка неограниченной длиныТип реквизитаboolean
Ответ (1)
нет параметров

Возможные значения поля role указаны в описании метода  Account — свойства абонента и управление пользователями абонента#account/users/set_role .

Пример запроса  Развернуть
{
  "id": 1010,
  "role": "owner",
  "login": "Larionova",
  "force": false,
  "fields": [
    {
      "key": "ВнешнийПользователь",
      "value": true,
    }
  ],
  "auth": {
    "account": 1010
  },
  "general": {
    "version": 10,
    "type": "usr",
    "method": "account/users/add",
    "debug": true
  }
}
Пример ответа  Развернуть
{
  "general": {
    "response": 10200,
    "error": false,
    "message": "",
    "version": 10,
    "sm_version": "1.0.95.3",
    "sm_timezone": "Europe/Moscow"
  }
}

 Вверх

account/users/create

Метод создает новую учетную запись пользователя сервиса и подключает созданного пользователя к указанному абоненту. Выполнение метода аналогично действиям, которые выполняет мастер создания нового пользователя (команды "Управление пользователями - Добавить") в интерфейсе Личного кабинета в режиме "Создать нового пользователя". В поле fields могут указываться дополнительные реквизиты.

ПараметрТипОписаниеПример
Запрос
idЧисло (+12.0)Код абонента1 010
role *Строка неограниченной длиныРоль пользователя абонентаowner
loginСтрока переменная (32)Логин пользователяNestor
password *Строка неограниченной длиныПароль пользователяw13p-3q
email *Строка переменная (254)Адрес электронной почтыnestor@example.com
email_required *БулевоУказан адрес электронной почтыfalse
nameСтрока переменная (150)Полное имя пользователяИващенко Нестор Иванович
phone *Строка переменная (500)Телефон пользователя+7 (495) 231-54-76
timezone *Строка переменная (100)Часовой пояс пользователяEurope/Moscow
fields *
Дополнительные реквизиты
 - keyСтрока переменная (100)Имя реквизитаВнешнийПользователь
 - value *Число (любое), Строка неограниченной длины, Дата и время в строке формата ISO, БулевоЗначение реквизитаtrue
 - type *Строка неограниченной длиныТип реквизитаboolean
Ответ
нет параметров

Возможные значения поля role указаны в описании метода  Account — свойства абонента и управление пользователями абонента#account/users/set_role .

Пример запроса  Развернуть
{
  "id": 1010,
  "role": "owner",
  "login": "Nestor",
  "password": "w13p-3q",
  "email": "nestor@example.com",
  "email_required": false,
  "name": "Иващенко Нестор Иванович",
  "phone": "+7 (495) 231-54-76",
  "timezone": "Europe/Moscow",
  "fields": [
    {
      "key": "ВнешнийПользователь",
      "value": true,
   }
  ],
  "auth": {
    "account": 1010
  },
  "general": {
    "version": 10,
    "type": "usr",
    "method": "account/users/create",
    "debug": true
  }
}
Пример ответа  Развернуть
{
  "general": {
    "response": 10200,
    "error": false,
    "message": "",
    "version": 10,
    "sm_version": "1.0.95.3",
    "sm_timezone": "Europe/Moscow"
  }
}

account/users/delete

Метод отключает указанного пользователя от указанного абонента. Выполнение метода равнозначно выполнению команд "Управление пользователями - Удалить" в интерфейсе Личного кабинета. 

ПараметрТипПримечание
Запрос
id ЧислоКод абонента. 
loginСтрокаЛогин пользователя.
Ответ (1)
нет параметров
Пример запроса
POST {{server}}/{{url}}
Authorization: {{authorization}}
 
{ 
   "general":{ 
      "type":"ext",
      "method":"account/users/delete"
   },
   "auth": {
      "account":{{account}}
   },
   "id": {{account}},
   "login": "{{user_login}}"
}

 Вверх

account/users/set_role

Метод устанавливает указанному пользователю указанного абонента указанную роль.

ПараметрТипПримечание
Запрос
id ЧислоКод абонента.
loginСтрокаЛогин пользователя.
roleСтрокаРоль нового в приложении (перечисление).
Ответ (1)
нет параметров

Возможные значения поля role:

  • owner — Владелец абонента (управление абонентом).
  • administrator — Администратор абонента (управление пользователями абонента).
  • operator — Оператор обслуживающей организации.
  • user — Пользователь абонента (запуск приложений).
Пример запроса
POST {{server}}/{{url}}
Authorization: {{authorization}}
 
{ 
   "general":{ 
      "type":"ext",
      "method":"account/users/set_role"
   },
   "auth": {
      "account":{{account}}
   },
   "id": {{account}},
   "login": "{{user_login}}",
   "role": "owner"
}

 Вверх

account/users/set_session_restriction

 Метод устанавливает для указанного пользователя указанного абонента указанное ограничение на количество одновременных сеансов работы с приложениями. Значение "0" означает "без ограничений".

Параметр

Тип

Примечание

Запрос

id

 Число

Код абонента. 

login

Строка

Логин пользователя.

restriction *+

Число

Количество сеансов, разрешенных пользователю (ноль означает "любое количество").

Ответ (1)

нет параметров

 Вверх

account/users/update_attached_info

Метод обновляет дополнительные реквизиты пользователя абонента.

ПараметрТипОписаниеПример
Запрос
idЧисло (+12.0)Код абонента1 010
loginСтрока переменная (32)Логин пользователяAbramov
fields *
Дополнительные реквизиты
 - keyСтрока переменная (100)Имя реквизитаВнешнийПользователь
 - value *Число (любое), Строка неограниченной длины, Дата и время в строке формата ISO, БулевоЗначение реквизитаtrue
 - type *Строка неограниченной длиныТип реквизитаboolean
Ответ (1)
Нет параметров
Пример запроса  Развернуть
{
  "id": 1010,
  "login": "Abramov",
  "fields": [
    {
      "key": "ВнешнийПользователь",
      "value": true,
      "type": "boolean"
    }
  ],
  "auth": {
    "account": 1010
  },
  "general": {
    "version": 10,
    "type": "usr",
    "method": "account/users/update_attached_info",
    "debug": true
  }
}
Пример ответа  Развернуть
{
  "general": {
    "response": 10200,
    "error": false,
    "message": "",
    "version": 10,
    "sm_version": "1.0.95.3",
    "sm_timezone": "Europe/Moscow"
  }
}

 Вверх

account/servants/list

Получение списка обслуживающих организаций абонента

ПараметрТипПримечаниеПример
Запрос
idЧислоКод абонента1010
Ответ: servants (0..*)
name *СтрокаНаименованиеПомощник 1С
idЧислоКод абонента1000
servant_id *СтрокаЗначение реквизита абонента Идентификатор00000
city *СтрокаГород из "Контактной информации".Москва
site *СтрокаСайт из "Контактной информации".www.example.com
email *СтрокаГород из "Контактной информации".info@example.com
phone *СтрокаТелефон из "Контактной информации".+7 (495) 765-43-21
tariff_subscribe_allowed *Булево Обслуживающей организации разрешено подписывать на тарифыtrue
automatic_billing_allowed *Булево

Обслуживающей организации разрешено автоматическое выставление счетов

false
tariff_override_allowed *Булево 

Обслуживающей организации разрешено переопределение тарифов провайдера

false
tariff_selection_page_only *БулевоОтображать только собственную страницу выбора тарифовfalse
Пример запроса  Развернуть
{
  "id": 1010,
  "auth": {
    "account": 1010
  },
  "general": {
    "type": "usr",
    "method": "account/servants/list"
  }
}
Пример ответа  Развернуть
{
  "servants": [
    {
      "name": "ООО Партнер",
      "id": 1000,
      "servant_id": "00000",
      "city": "Москва",
      "site": "www.example.com",
      "email": "info@example.com",
      "phone": "+7 (495) 765-43-21",
      "tariff_subscribe_allowed": true,
      "automatic_billing_allowed": false,
      "tariff_override_allowed": false,
      "tariff_selection_page_only": false
    },
    {
      "name": "Обслуживающая организация КИТ",
      "id": 987,
      "servant_id": "00123",
      "city": "Москва",
      "site": "https://ookit.ru",
      "email": "1C_reg@ookit.ru",
      "phone": "8-800-999-00-00",
      "tariff_subscribe_allowed": true,
      "automatic_billing_allowed": false,
      "tariff_override_allowed": false,
      "tariff_selection_page_only": false
    }
  ],
  "general": {
    "response": 10200,
    "error": false,
    "message": "",
    "version": 18,
    "sm_version": "1.1.4.4",
    "sm_timezone": "Europe/Moscow"
  }
}

  Вверх

account/servants/tariff_selection_page

Возвращает страницу выбора тарифа обслуживающей организации в соответствии с текущей витриной.

ПараметрТипПримечание
Запрос
servantЧислоКод абонента обслуживающей организации
accountЧисло Код абонента обслуживающей организации
Ответ: html (0..1)
htmlСтрокаHTML-код страницы выбора тарифа обслуживающей организации
Пример запроса
POST {{server}}/{{url}}
Authorization: Basic {{auth}}
 
{
    "auth": {
        "account": {{account}}
    },
    "general": {
        "type": "usr",
        "method": "account/servants/tariff_selection_page"
    },
    "servant": {{account}}
}


Пример ответа
{
  "html": "<!DOCTYPE html><html lang=\"ru\"><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"></meta><style type=\"text/css\">\n body {font-family: Arial, Helvetica, sans-serif; font-size: 10pt;}\n        pre {background-color: lightgrey; margin-top: 5px; margin-bottom: 5px; padding: 5px;} \n        ul {margin-top: 2px; margin-bottom: 5px;}\n </style></head><body>\nВыберите подходящий тариф и период:\n<ul><li><a data-tariff=\"1\" data-period=\"3MN\" href=\"#\">Купить тариф ПРОФ на 3 месяца за 15000 руб.</a></li>\n<li><a data-tariff=\"1\" data-period=\"6MN\" href=\"#\">Купить тариф ПРОФ на 6 месяцев за 27000 руб.</a></li>\n<li><a data-tariff=\"1\" data-period=\"12MN\" href=\"#\">Купить тариф ПРОФ на 12 месяцев за 48000 руб.</a></li>\n</ul></body></html>",
  "general": {
    "response": 10200,
    "error": false,
    "message": "",
    "version": 6,
    "sm_version": "1.0.82.30",
    "sm_timezone": "Europe/Moscow"
  }
}

 Вверх

account/servant_tariffs/info

Получение информации о тарифе обслуживающей организации

ПараметрТипПримечание
Запрос
servantЧислоКод обслуживающей организации
idЧислоКод тарифа обслуживающей организации
Ответ: servant_tariff (1)
idСтрокаКод тарифа обслуживающей организации
nameСтрокаНаименование тарифа обслуживающей организации
tariff_idСтрокаКод базового тарифа провайдера
description_for_subscribers

    - html СтрокаОписание для абонентов
     - imagesМассив Картинки описания
     -     - nameСтрокаИмя картинки
     -     - dataСтрокаДанные картинки в формате base64
validity_periodsМассив Периоды действия тарифа
      - idСтрока

Код периода действия

     - nameСтрока

Код периода действия

   - period Строка

Тип периода действия

   - quantity Число

Количество периодов

   - cost Число

Стоимость

   - commentСтрока

Комментарий

Пример запроса
POST {{server}}/{{url}}
Authorization: Basic {{auth}}
 
{
    "auth": {
        "account": {{account}}
    },
    "general": {
        "type": "usr",
        "method": "account/servant_tariffs/info"
    },
    "servant": {{account}},
    "id": {{id}}
}


Пример ответа
{
  "servant_tariff": {
    "id": "099",
    "name": "Партнерский ПРОФ",
    "tariff_id": "099",
    "description_for_subscribers": {
      "html": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge\" />\n<meta name=\"format-detection\" content=\"telephone=no\" />\n<style type=\"text/css\">\nbody{margin:0;padding:8px;}\np{line-height:1.15;margin:0;white-space:pre-wrap;}\nol,ul{margin-top:0;margin-bottom:0;}\nimg{border:none;}\nli>p{display:inline;}\n</style>\n</head>\n<body>\n<p>&lt;iframe url=&quot;https://ya.ru&quot; width=&quot;100%&quot; height=&quot;600&quot;&gt;&lt;/frame&gt;<img height=\"44\" src=\"image001\" style=\"border:none;\" width=\"30\"/></p>\n</body>\n</html>",
      "images": [
        {
          "name": "image001",
          "data": "iVBORw0KGgoAAAANSUhEUgAAAB4AAAAsCAAAAABX6VfYAAAAI0lEQVR4AWP4jxeM\r\nSgOBNBgQIz0qLY0TDGJpiv09Ko0Ao9IAo4QtRdzqXu8AAAAASUVORK5CYII="
        }
      ]
    },
    "validity_periods": [
      {
        "quantity": 2,
        "id": "2MN",
        "name": "2 месяца",
        "cost": 8040,
        "comment": "",
        "period": "month"
      },
      {
        "quantity": 6,
        "id": "6MN",
        "name": "6 месяцев",
        "cost": 23000,
        "comment": "",
        "period": "month"
      },
      {
        "quantity": 12,
        "id": "12MN",
        "name": "12 месяцев",
        "cost": 44000,
        "comment": "",
        "period": "month"
      },
      {
        "quantity": 3,
        "id": "3MN",
        "name": "3 месяца",
        "cost": 11999,
        "comment": "",
        "period": "month"
      }
    ]
  },
  "general": {
    "response": 10200,
    "error": false,
    "message": "",
    "version": 6,
    "sm_version": "1.0.82.31",
    "sm_timezone": "Europe/Moscow"
  }
}

 Вверх

account/servant_tariffs/list

Получение списка тарифов обслуживающей организации

ПараметрТипПримечание
Запрос
servantЧислоКод обслуживающей организации
Ответ: servant_tariff (0..*)
idСтрокаКод тарифа обслуживающей организации
nameСтрокаНаименование тарифа обслуживающей организации
tariff_idСтрокаКод базового тарифа провайдера
Пример запроса
POST {{server}}/{{url}}
Authorization: Basic {{auth}}
 
{
    "auth": {
        "account": {{account}}
    },
    "general": {
        "type": "usr",
        "method": "account/servant_tariffs/list"
    },
    "servant": {{account}}
}


Пример ответа
{
  "servant_tariff": [
    {
      "id": "000000007",
      "name": "1",
      "tariff_id": "222"
    },
    {
      "id": "000000006",
      "name": "Доп. приложение",
      "tariff_id": "add_app"
    },
    {
      "id": "000000003",
      "name": "Тариф Профессиональный",
      "tariff_id": "102"
    },
    {
      "id": "000000004",
      "name": "Онлайн касса",
      "tariff_id": "215"
    },
    {
      "id": "000000005",
      "name": "Доп. сеанс",
      "tariff_id": "Доп сеанс"
    },
    {
      "id": "000000002",
      "name": "Старт расширенный",
      "tariff_id": "2"
    },
    {
      "id": "000000002",
      "name": "Старт расширенный",
      "tariff_id": "221"
    },
    {
      "id": "000000001",
      "name": "Бизнес Плюс расширенный",
      "tariff_id": "3"
    }
  ],
  "general": {
    "response": 10200,
    "error": false,
    "message": "",
    "version": 6,
    "sm_version": "1.0.82.30",
    "sm_timezone": "Europe/Moscow"
  }
}

 Вверх