Перейти к основному содержимому

Формат данных

Выгруженный архив будет содержать файл import.jsonl в формате JSONL со следующими типами объектов

Команда

ПолеТипОписание
namestringИмя команды.
display_namestringОтображаемое имя команды.
typestringТип команды. Должно быть одним из следующих значений: O - для открытых команд, I - для команд доступных только по приглашению.
descriptionstringОписание команды.
allow_open_invitebooleanФлаг, указывающий, что команда открыта и пользователи могут приглашать других пользователей в команду.
Пример
{
"type": "team",
"team": {
"name": "team_name",
"display_name": "Team display name",
"type": "O",
"description": "Team description",
"allow_open_invite": true
}
}

Канал

ПолеТипОписание
teamstringИмя команды, к которой принадлежит канал.
namestringИмя канала.
display_namestringОтображаемое имя канала.
typestringТип канала. Должно быть одним из следующих значений: O - для публичных каналов, P - для приватных каналов.
headerstringЗаголовок канала.
purposestringЦель канала.
Пример
{
"type": "channel",
"channel": {
"team": "team_name",
"name": "channel_name",
"display_name": "Channel display name",
"type": "O",
"header": "Channel header",
"purpose": "Channel purpose"
}
}

Пользователь

ПолеТипОписание
usernamestringИмя пользователя.
emailstringEmail пользователя.
auth_servicestringИмя сервиса авторизации. Может иметь следующие значения:
"" или отсутствует - аутентификация по паролю;
"ldap" - аутентификация через LDAP;
"saml" - аутентификация через SAML;
"openid" - аутентификация через OpenID.
auth_datastringДанные для аутентификации пользователя. Обязательно если auth_service установлен и не "".
nicknamestringНикнейм пользователя.
first_namestringИмя пользователя.
last_namestringФамилия пользователя.
positionstringДолжность пользователя.
rolesstringРоли пользователя. Может иметь следующие значения: "system_user", "system_admin system_user", "system_guest", "system_restricted_guest".
localestringЯзык пользователя.
delete_atint64Время удаления пользователя, количество timestamp миллисекунд.
teamsarrayМассив объектов UserTeamMembership, описывает команды в которых состоит пользователь.
use_markdown_previewboolИспользовать форматирование markdown при просмотре превью сообщений. Допустимые значения: "true", "false".
use_formattingboolВключить форматирование сообщений для ссылок, эмоджи, стилей текста и разрывов строк. Допустимые значения: "true", "false".
show_unread_sectionstringВключить показ непрочитанных сообщений в верху сайдбара. Может иметь следующие значения: "true", "false".
themestringТема пользователя.
military_timestringКакой формат времени отображать пользователю. "true" - 24 часовой, "false" - 12 часовой.
collapse_previewsstringСворачивать превью ссылок по умолчанию. Может иметь следующие значения: "true" - сворачивать, "false" - не сворачивать.
message_displaystringВ каком стиле отображать сообщения: "clean" - стандартный стиль, "compact" - компактный.
channel_display_modestringВ каком стиле отображать каналы: "full" - полной длинны, "centered" - блок фиксированной ширины, расположенный по центру.
email_intervalstringИнтервал отправки email уведомлений. Может иметь следующие значения:
"immediate" - email отправляются немедленно;
"fifteen" - email отправляются батчем, каждый 15 минут;
"hour" - email отправляются батчем каждый час.
notify_propsUserNotifyProps objectНастройки уведомлений пользователя.

UserNotifyProps

ПолеТипОписание
desktopstringУведомления для десктоп версии приложения. Может иметь следующие значения: "all", "mention", "none"
desktop_soundstringВключение звука уведомлений для десктоп версии приложения. Может иметь следующие значения: "true", "false"
emailstringВключение email уведомлений. Может иметь следующие значения: "true", "false"
mobilestringУведомления для мобильных устройств. Может иметь следующие значения: "all", "mention", "none"
mobile_push_statusstringНастройка когда push уведомления должны отправляться. Может иметь следующие значения: "online" - когда пользователь онлайн, отошел и оффлайн; "away" - когда пользователь отошел и оффлайн; "offline" - когда пользователь оффлайн.
channelstringЗапускают @all, @channel и @here упоминание. Может иметь следующие значения: "true", "false"
commentsstringПредпочтение уведомлений об ответах. Может иметь следующие значения: "any" - отправляется уведомление на сообщения в тредах, если пользователь начал тред или является его участником; "root" - отправляется уведомление на сообщения в тредах, если пользователь начал тред; "never" - не отправлять уведомление на сообщения в тредах, если пользователь не упомянут.
mention_keysstringНабор слов, через запятую, которые вызывают упоминания для пользователя.

UserTeamMembership

ПолеТипОписание
namestringИмя команды.
themestringТема пользователя для определенной команды.
rolesstringРоли пользователя для определенной команды. Может иметь следующие значения: "team_user", "team_admin team_user", "team_guest", "team_restricted_guest"
channelsarrayМассив объектов UserChannelMembership, описывает каналы, в которых состоит пользователь.

UserChannelMembership

ПолеТипОписание
namestringИмя канала.
rolesstringРоли пользователя для определенного канала. Может иметь следующие значения: "channel_user", "channel_admin channel_user", "channel_guest", "channel_restricted_guest"
notify_propsChannelNotifyProps objectНастройки уведомлений пользователя для определенного канала.
favoritebooleanЯвляется ли канал избранным. "true" "false"

ChannelNotifyProps

ПолеТипОписание
desktopstringУведомления для десктоп версии приложения. Может иметь следующие значения: "default", "all", "mention", "none"
mobilestringУведомления для мобильных устройств. Может иметь следующие значения: "default", "all", "mention", "none"
mark_unreadstringПомечать канал как непрочитанный. Может иметь следующие значения: "all" - для всех непрочитанных сообщений; "mention" - только для упоминаний.
Пример
{
"type": "user",
"user": {
"username": "username",
"email": "email@example.ru",
"teams": [
{
"name": "team_name",
"theme": "team_theme",
"roles": "team_user",
"channels": [
{
"name": "channel_name",
"roles": "channel_user",
"notify_props": {
"desktop": "all"
}
}
]
}
]
}
}

Message

ПолеТипОписание
teamstringИмя команды, в котором находится сообщение.
channelstringИмя канала, в котором находится сообщение.
userstringИмя пользователя, который отправил сообщение.
typestringТип сообщения. Если не пустая строка, значит сообщение отправлено системой и как правило информирует о системных событиях.
messagestringТекст сообщения.
propsobjectСвойства сообщения.
create_atint64timestamp создания сообщения миллисекундах.
edit_atint64timestamp редактирования сообщения в миллисекундах.
repliesarrayМассив объектов Reply, в которых содержатся ответы на сообщение.
reactionsarrayМассив объектов Reaction, в которых содержатся реакции на сообщение.
attachmentsarrayМассив объектов Attachment, в которых содержатся вложения к сообщению.

Reply

ПолеТипОписание
userstringИмя пользователя, который ответил на сообщение.
messagestringТекст ответа на сообщение.
create_atint64Время создания ответа, количество timestamp миллисекунд.
reactionsarrayМассив объектов Reaction, в которых содержатся реакции на ответ.
attachmentsarrayМассив объектов Attachment, в которых содержатся вложения к ответу.

Reaction

ПолеТипОписание
userstringИмя пользователя, который добавил реакцию.
create_atint64Время создания реакции, количество timestamp миллисекунд.
emoji_namestringИмя эмоджи, который добавил пользователь.

Attachment

ПолеТипОписание
pathstringПуть к файлу.
Пример
{
"type": "post",
"post": {
"team": "team_name",
"channel": "channel_name",
"user": "username",
"message": "message",
"props": {
"attachments": [
{"text": "attachment_text", "pretext": "attachment_pretext"}
]
},
"create_at": 1547561600000,
"replies": [
{
"user": "username",
"message": "message",
"create_at": 1547561600000,
"flagged_by": ["username11"]
}
],
"reactions": [
{
"user": "username",
"create_at": 1547561600000,
"emoji_name": "emoji_name"
}
],
"attachments": [
{
"path": "path"
}
]
}
}

Личный канал

ПолеТипОписание
membersarrayМассив имен пользователей, которые входят в личный канал.
headerstringЗаголовок личного канала.
Пример
{
"type": "direct_channel",
"direct_channel": {
"members": ["username1", "username2"],
"header": "header"
}
}

Сообщение в личном канале

ПолеТипОписание
channel_membersarrayМассив имен пользователей, которые входят в личный канал.
userstringИмя пользователя, который отправил сообщение.
messagestringТекст сообщения.
create_atint64timestamp создания сообщения в миллисекундах.
edit_atint64timestamp редактирования сообщения в миллисекундах.
repliesarrayМассив объектов Reply, в которых содержатся ответы на сообщение.
reactionsarrayМассив объектов Reaction, в которых содержатся реакции на сообщение.
attachmentsarrayМассив объектов Attachment, в которых содержатся вложения к сообщению.
Пример
{
"type": "direct_post",
"direct_post": {
"channel_members": ["username1", "username2"],
"user": "username",
"message": "message",
"create_at": 1547561600000,
"replies": [
{
"user": "username",
"message": "message",
"create_at": 1547561600000
}
],
"reactions": [
{
"user": "username",
"create_at": 1547561600000,
"emoji_name": "emoji_name"
}
],
"attachments": [
{
"path": "path"
}
]
}
}

Эмоджи

ПолеТипОписание
namestringИмя эмоджи.
imagestringПуть до файла с изображением для эмоджи.
Пример
{
"type": "emoji",
"emoji": {
"name": "emoji_name",
"image": "emojis/emoji_name.png"
}
}