Skip to content

roschat bot api data type

MarkFomin edited this page Jun 4, 2024 · 104 revisions

На данной странице приведено описание типов данных, необходимых для разработки и проектирования сервисов и приложений сервера РОСЧАТ.


int

Описание

32-битное знаковое целое число.


bool

Описание

Логический тип данных.


float

Описание

32-битное число с плавающей запятой.


string

Описание

Текстовая строка в кодировке UTF-8.


array

Описание

Массив объектов.


object

Описание

Объект в формате JSON.


arrayString

Описание

Массив строк string.

Тип данных

array

Пример

var arrayString = [
  ['Строка 1','Строка 2','Строка 3']
];

arrayInt

Описание

Массив целых чисел int.

Тип данных

array

Пример

var arrayInt = [
  [1,34,75]
];

keyboard

Описание

Клавиатура чата или сообщения. Клавиатура представляет из себя массив строк keyboardLine, каждая строка представляет из себя массив кнопок keyboardButton.

Тип данных

array

Пример

var keyboard = [
  [{text: 'я кнопка 1 1', callbackData: 'pressedButton1'},{text: 'я кнопка 1 2'}],
  [{text: 'я кнопка 2 1', callbackData: 'pressedButton2'}],
  [{text: 'я кнопка 2 1', link:'yandex.ru'}]
];

keyboardLine

Описание

Строка клавиатуры чата или сообщения. Представляет из себя массив кнопок keyboardButton.

Тип данных

array


keyboardButton

Описание

Кнопка клавиатуры чата или сообщения.

Тип данных

object

Параметры

Название Тип Описание
text string Текст, отображаемый на кнопке
callbackData string Данные передаваемые боту при нажатии, по умолчанию пустое
link string Ссылка на внешние ресурсы, по умолчанию пустое

Пример

var button = {
  text: 'я кнопка 1 1',
  callbackData: 'pressedButton1'
};

keyboardAction

Описание

Действие с клавиатурой

Тип данных

string

Диапазон

Значение Описание
'none' Без действий
'show' Показать клавиатуру
'hide' Скрыть клавиатуру
'remove' Удалить клавиатуру

size

Описание

Линейный размер данных.

Тип данных

object

Параметры

Название Тип Описание
w int w - ширина
h int h - высота

Пример

var size = {
  w: 250,
  h: 250
};

cidType

Описание

Тип идентификатора пользователя.

Тип данных

string

Диапазон

Значение Описание
'user' Пользователь
'group' Группа пользователей

dataType

Описание

Тип данных сообщения.

Тип данных

string

Диапазон

Значение Описание
'text' Текстовое сообщение
'data' Расширенный формат сообщения
'unstored' Текстовое сообщение без записи в БД
'system' Системное сообщение

dataBody

Описание

Данные сообщения.

Тип данных

string, в зависимости от значения dataType, имеет соответствующий формат сообщения.

Диапазон

Значение dataType Формат сообщения
'text' Текстовое сообщение string
'data' Cериализованным в строку JSON-объект dataBodyData
'unstored' Cериализованным в строку JSON-объект dataBodyData
'system' Cериализованным в строку JSON-объект dataBodySystem

Примечание Сообщение должно быть в строковом виде с форматированием аналогичным результату работы функции JSON.stringify()


chatList

Описание

Список чатов. Список представляет из себя массив чатов chat.

Тип данных

array

Пример

var list = [ {
  cidType: 'group',
  cid: 16,
  rev: 48,
  name: 'Group A', 
  icon: '', 
  contacts:[{cid:1, privilege:'admin'}], 
  settings: {},
  pinMessage: 0,
  chatKeyboard: undefined,
  lastMessage: {
    id: 156,
    dataType: 'data',
    text: '{\'type\': \'text\', \'text\': \'Привет, это я!\'}',
    senderId: 23,
    replyId: undefined,
    time: 200,
    receivedTime: 62,
    deletedTime: undefined
  }
}];

chat

Описание

Чат группы/пользовтеля.

Тип данных

object

Параметры

Название Тип Описание
cidType cidType Тип чата, по умолчанию 'user'.
cid int Идентификатор чата.
rev int Номер ревизии чата.
deleted bool Флаг удаления беседы. По умолчанию - false.
readOnly bool Режим беседы "только для чтения". Изменение свойства доступно только для администратора. По умолчанию - false.
pinMessage int Идентификатор прикреплённого сообщения. Для открепления сообщения, устанавливается равным 0. По умолчанию отсутствует.
name string Название беседы. По умолчанию пустое.
icon string Логотип беседы. По умолчанию пустое.
lastMessage message Последнее сообщение в чате кроме полей cidType, cid. По умолчанию пустое.
contacts chatContactList Участники группы. По умолчанию пустое, для типа 'user'.
settings chatSettings Настройки чата. По умолчанию пустое.
chatKeyboard keyboard Клавиатура чата, по умолчанию пустое

Пример

var chat = {
  cidType: 'group',
  cid: 16,
  rev: 48,
  name: 'Group A', 
  icon: '', 
  contacts:[{cid:1, privilege:'admin'}], 
  settings: {},
  pinMessage: 0,
  chatKeyboard: undefined,
  lastMessage: {
    id: 156,
    dataType: 'data',
    text: '{\'type\': \'text\', \'text\': \'Привет, это я!\'}',
    senderId: 23,
    replyId: undefined,
    time: 200,
    receivedTime: 62,
    deletedTime: undefined
  }
};

chatSettings

Описание

Настройки беседы бота.

Тип данных

object

Параметры

Название Тип Описание
marked bool Флаг отметки того, что чат не прочитан
mute int Дата/время выставленного режима 'Без звука' в формате Unix-time. По умолчанию пусто.

Пример

var settings = {
  marked: false,
  mute: 1537445765
};

chatContactList

Описание

Список участников группового чата. Список представляет из себя массив контактов чата chatContact.

Тип данных

array

Пример

var contacts = [{
  cid: 16,
  privilege: 'admin'
}];

chatContact

Описание

Контакт чата.

Тип данных

object

Параметры

Название Тип Описание
cid int Идентификатор участника чата.
privilege chatPrivilege Привелегия участника. По умолчанию 'user'.

Пример

var contact = {
  cid: 16,
  privilege: 'admin'
};

chatPrivilege

Описание

Привелегия участника в групповом чате.

Тип данных

string

Диапазон

Значение Описание
'user' Участник группы
'admin' Администратор группы

messageList

Описание

Список сообщений. Список представляет из себя массив сообщений message.

Тип данных

array

Пример

var list = [{
  cidType: 'user',
  cid: 16,
  id: 156,
  dataType: 'data',
  text: '{\'type\': \'text\', \'text\': \'Привет, это я!\'}',
  senderId: 23,
  replyId: undefined,
  time: 200,
  receivedTime: 62,
  deletedTime: undefined
}];

message

Описание

Сообщение чата.

Тип данных

object

Параметры

Название Тип Описание
cidType cidType Тип чата, по умолчанию 'user'
cid int Идентификатор чата
id int Идентификатор сообщения
dataType dataType Тип данных сообщения, по умолчанию 'text'
data dataBody Данные сообщения
senderId int Идентификатор контакта отправителя. Отсутствует для системных сообщений dataBodySystem
replyId int Идентификатор сообщения, на которое сформирован ответ, по умолчанию отсутствует
time int Число секунд с момента отправки сообщения
receivedTime int Число секунд с момента получения сообщения. Если отсутствует, значит сообщение еще не получено.
watchedTime int Число секунд с момента просмотра сообщения. Если отсутствует, значит сообщение еще не просмотрено.
deletedTime int Число секунд с момента удаления сообщения. Если отсутствует, значит сообщение еще не удалено.

Пример

var msg = {
  cidType: 'user',
  cid: 16,
  id: 156,
  dataType: 'data',
  text: '{\'type\': \'text\', \'text\': \'Привет, это я!\'}',
  senderId: 23,
  replyId: undefined,
  time: 200,
  receivedTime: 62,
  watchedTime: undefined,
  deletedTime: undefined
};

messageDetailList

Описание

Список деталей сообщения по участникам чата. Список представляет из себя массив деталей сообщения messageDetail.

Тип данных

array

Пример

var list = [{cid: 1, receivedTime: 62}, {cid: 32, receivedTime: 435}, {cid: 45, receivedTime: 102}];

messageDetail

Описание

Детали сообщения группового чата.

Тип данных

object

Параметры

Название Тип Описание
cid int Идентификатор участника чата
receivedTime int Число секунд с момента получения сообщения. Если отсутствует, значит сообщение еще не получено.
watchedTime int Число секунд с момента просмотра сообщения. Если отсутствует, значит сообщение еще не просмотрено.
deletedTime int Число секунд с момента удаления сообщения. Если отсутствует, значит сообщение еще не удалено.

Пример

var detail = {
  cid: 32,
  receivedTime: 62,
  watchedTime: undefined,
  deletedTime: undefined
};

messageChangesList

Описание

Список изменений истории сообщений. Список представляет из себя массив изменений сообщения messageChanges.

Тип данных

array

Пример

var list = [{id: 102, rev: 51, receivedTime: 62}];

messageChanges

Описание

Изменения сообщения.

Тип данных

object

Параметры

Название Тип Описание
id int Идентификатор сообщения.
rev int Номер ревизии сообщения.
receivedTime int Число секунд с момента получения сообщения. Если отсутствует, значит сообщение еще не получено.
watchedTime int Число секунд с момента просмотра сообщения. Если отсутствует, значит сообщение еще не просмотрено.
deletedTime int Число секунд с момента удаления сообщения. Если отсутствует, значит сообщение еще не удалено.

Пример

var сhanges = {
  id: 102,
  rev: 51,
  receivedTime: 62,
  watchedTime: undefined,
  deletedTime: undefined
};

acsLocationsEntry

Описание

Запись прохода через терминал СКУД.

Тип данных

object

Параметры

Название Тип Описание
in bool Вход/выход (true/false)
time int Время входа/выхода
name string Название терминала СКУД

Пример

var entry = {
  in: true,
  time: 1406045520,
  name: 'Terminal A'
};

acsLocations

Описание

Статистика прохода пользователя через терминал СКУД. Представляет из себя массив записей acsLocationsEntry.

Тип данных

array

Пример

var locations = [
  { in: true, time: 1406045520, name: 'Terminal A' },
  { in: false, time: 1406045780, name: 'Terminal A' }
];

ascStatus

Описание

Статус пользователя в журнале СКУД.

Тип данных

string

Диапазон

Значение Описание
'meeting' Деловая встреча
'business' Командировка
'work-home' Работа дома
'education' Обучение
'vacation' Отпуск
'compensatory' Отгул
'sick' Болезнь
'other' Другое

acsJournalEntry

Описание

Запись в журнале СКУД.

Тип данных

object

Параметры

Название Тип Описание
from int Дата начала
to int Дата завершения
status ascStatus Статус
text string Краткое описание
comment string Подробное описание

Пример

var entry = {
  from: 1406045520,
  to: 1406545520,
  status: 'sick',
  text: 'Болезнь'
};

acsJournal

Описание

Журнал пользователя СКУД. Представляет из себя массив записей acsJournalEntry.

Тип данных

array

Пример

var journal = [
  { from: 1406045520, to: 1406545520, status: 'sick', text: 'Болезнь' },
  { from: 1406012520, to: 1406534520, status: 'vacation', text: 'Отпуск' }
];
Clone this wiki locally