Поддержка
Чат для вопросов по API
Мгновенно ответим на ваши вопросы
api@ati.su
Электронная почта техподдержки
Тикетная система
Оставить заявку на отдел
«Консультанты по интеграции (API)»
api.ati.su - заказы, торги, площадки
Наш телеграм-канал
Код в ATI.SU:
Выход
Для подтверждения действия введите пароль
Чтобы продолжить, введите пароль для пользователя

АТИ Мессенджер

«АТИ Мессенджер» (далее Мессенджер) — сервис для обмена сообщениями, документами, файлами между пользователями ATI.SU. С помощью мессенджера можно договориться о перевозке, отправить фото, электронные документы.

Возможности Мессенджера

  • Создание диалогов между пользователями ATI.SU
  • Создание диалогов из приложения АТИ Водитель
  • Отправка текстовых сообщений
  • Отправка файлов, изображений, документов ATI.SU, геометок
  • Общение в открытых и закрытых групповых чатах
  • Общение с подписчиками в каналах

Типичные сценарии использования мессенджера

Диалог

  • Создать диалог по конкретному грузу или из интерфейса мессенджера с определенным пользователем
  • Отправить сообщение
  • Закрепить диалог
  • Заблокировать/разблокировать пользователя
  • Скрыть диалог

Групповой чат и канал

  • Создать групповой чат или канал
  • Отправить приглашения участникам ATI.SU
  • Вступить в чат по приглашению
  • Исключить участника

API для работы с АТИ Мессенджером

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

Используемые термины

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

Подписка - связка пользователя и конкретного канала. Диалог, например, состоит из 2-х подписок, групповой чат - из N подписок. Список чатов, отображающийся в интерфейсе, есть список подписок. Подписка так же содержит опции пользователя относительно этого чата (скрыт, заблокирован, закреплен и т.п.).

Диалог - чат между двумя участниками; диалог нельзя удалить, только скрыть.

Групповой чат - чат между группой участников, пользователи вступают чат по приглашению; в закрытых чатах приглашать могут только администраторы, в открытых - все участники.

Администратор - создатель и владелец группового чата. В закрытых группах только администратор может приглашать пользователей в чат.

Канал - групповой чат, писать в который может только администратор.

История - список сообщений чата.

Хвост - последнее сообщение в истории (отображается в каждом чате из списка).

Пользователь ATI.SU - участник ATI.SU, обладающий лицензией и имеющий доступ ко всем сервисам ATI.SU.

Псевдопользователь(АТИ Водитель) - пользователь чата, не являющийся полноценным участником ATI.SU, но имеющий возможность быть участником как диалога, так и группового чата в мессенджере.

ID аккаунта ATI.SU - уникальный идентификатор аккаунта в ATI.SU, для АТИ водителя имеет формат driver_{номер телефона}.

User ID - {ID аккаунта ATI.SU}.{ID контакта}, у АТИ водителя контакт ID контакта всегда 0.

АТИ код - код участника ATI.SU отображающийся в шапке сайта и в профиле участника, может совпадать с ID аккаунта. Код АТИ Водителя совпадает с ID.

Структура подписки

Подписка является ключевой сущностью в чате, большинство АПИ методов так или иначе отдают объект подписки в качестве ответа. Некоторые поля в теле подписки могут дублироваться или казаться избыточными, так же типы некоторых полей могут вызывать вопросы - все это связано с поддержкой старых версий, в новых версиях эти рудименты исчезнут.

Подписки диалогов и групповых чатов выглядят похоже, но имеют некоторые отличия.

Имя поля Описание Тип Пример Диалог Группа Обязательное поле
id ID чата string 28ba1e3b16974c32989b1а да да да
channel_type Тип чата string group да да да
name Название чата string my awesome group да да да
description Описание чата string my awesome group description да да да
owner User ID владельца чата string 890386.0 да да да
user User ID владельца подписки string 1423414.0 да да да
ctime Дата и время создания чата (GMT+3) string 2021-01-22T11:25:15+00:00 да да да
utime Дата и время последнего обновления подписки (GMT+3) string 2021-03-24T08:51:53+00:00 да да да
dts UTC Timestamp последнего прочитанного пользователем сообщения integer 1611314906749707 да нет да
uts UTC Timestamp последнего обновления подписки integer 1622639302000000 да да да
del_ts UTC Timestamp последней очистки истории integer 1622639302000000 да нет нет
ts UTC Timestamp последнего сообщения integer 1622639302435456 да да да
unread Количество непрочитанных сообщений в чате string 0 да да да
partner АТИ Код партнера string 777 да нет да
partner_full АТИ Код партнера с ID контакта string 777.0 да нет да
partner_id ID Аккаунта АТИ партнера string 2716044 да нет да
users Список {АТИ код}.{ID контакта} участников чвтв list [“14234140.0”, “777.0”] да нет да
count Кол-во участников integer 3 нет да да
invite Флаг подписки с приглашением bool true нет да нет
removed Флаг подписки на удаленный канал bool true нет да нет
excluded Флаг исключенной подписки bool true нет да нет
pinned Флаг прикрепленной подписки string 1 да да нет
locked Флаг подписки с заблокированным юзером string 1 да нет нет
complaint ID пожаловавшегося пользователя string 1423414.0 да нет нет
complaint_reason Причина блокировки string spam да нет нет
tail Хвост чата dict {…} да да нет

Описание методов

Чаты

 
Создание чата
post
/messenger/1.1/chats/
Развернуть все Свернуть все
{...}
channel_type*: enum
[dialog, channel, group, ati_driver]

тип чата

name*: string

имя групп.чата/собеседника

description*: string

описание

id: string

{ID аккаунта партнера}.{id контакта} (только для типов dialog, ati_driver)

ati_id: string

{код в ATI.SU партнера}.{id контакта} (только для типов dialog, ati_driver)

is_open: boolean

открытый/закрытый (только для типов channel, group)

members: [string]

alias'ы (коды в ATI.SU) партнеров с contact_id (только для типов channel, group)

}
CURL 1C
CURL
Копировать

                
1C
Копировать

                
Пример ответа Ответ
200 Данные подписки
Развернуть все Свернуть все
Пример Модель
{...}
"id":"string",
"channel_type":"string",
"name":"string",
"ctime":"string",
"utime":"string",
"owner":"string",
"tail":{...},
"any-key":{...}
"channel":"string",
"delivered":false,
"stamp":"string",
"text":"string",
"ts":0,
"id":"string",
"user":"string",
"event":"join",
"from":"string",
"document":"/document/07a940594fdb4866aa9f8f48c192632d/",
"document_mimetype":"string",
"document_size":0,
"file_id":"string",
"file_mimetype":"string",
"file_name":"string",
"file_size":0
}
},
"description":"string",
"users":[...],
"string"
],
"partner":"string",
"partner_id":"string",
"partner_full":"string",
"count":0,
"dts":0,
"unread":"string",
"user":"string",
"uts":0,
"short_url":"string"
}
{...}
id: string

id чата

channel_type: string

тип чата

name: string

Название чата (имя собеседника)

ctime: string

время создания чата (iso)

utime: string

время последнего изменения (iso)

owner: string

создатель чата

description: string

описание чата (для диалогов - название фирмы)

users: [string]

alias участника (c contact_id)

partner: string

id партнера (без contact_id)

partner_id: string

id партнера (c contact_id)

partner_full: string

alias партнера (c contact_id)

count: integer

количество учасчтников группового чата (для диалогов - null)

dts: integer

timestamp последней очистки сообщений

unread: string

количество непрочитанных сообщений

user: string

id юзера (c contact_id)

uts: integer

timestamp последнего изменения

short_url: string

короткий хэш для группового чата, используется в ссылке для приглашения, содерижтся только в подписке админа

}
400 Ошибка валидации
Развернуть все Свернуть все
Загрузка...
Развернуть все Свернуть все
Загрузка...

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

Диалог:

  • При добавлении диалога создастся 2 подписки, но подписка собеседника будет скрыта пока в нее не напишут.
  • Между двумя одинаковыми пользователями возможен только один диалог, при повторном создании будет возвращена та же самая подписка.
  • Диалог можно создать двумя способами: используя ID аккаунта либо АТИ код, в зависимости от способа необходимо использовать поля id и ati_id соответственно. Не стоит указывать оба поля при запросе.

Группа, канал:

  • По умолчанию при добавлении группы создастся чат с одним юзером в качестве участника (в ответ вернется его подписка).
  • Можно создать чат и одновременно пригласить нескольких пользователей указав их списком в поле members.
 
Обновление мета-данных группового чата
put
/messenger/1.1/chats/{chat_id}/
Развернуть все Свернуть все
{...}
name: string

имя групп.чата

description: string

описание

}
CURL 1C
CURL
Копировать

                
1C
Копировать

                
Пример ответа Ответ
200 Обновленные данные подписки
Развернуть все Свернуть все
Пример Модель
{...}
"id":"string",
"channel_type":"string",
"name":"string",
"ctime":"string",
"utime":"string",
"owner":"string",
"tail":{...},
"any-key":{...}
"channel":"string",
"delivered":false,
"stamp":"string",
"text":"string",
"ts":0,
"id":"string",
"user":"string",
"event":"join",
"from":"string",
"document":"/document/07a940594fdb4866aa9f8f48c192632d/",
"document_mimetype":"string",
"document_size":0,
"file_id":"string",
"file_mimetype":"string",
"file_name":"string",
"file_size":0
}
},
"description":"string",
"users":[...],
"string"
],
"partner":"string",
"partner_id":"string",
"partner_full":"string",
"count":0,
"dts":0,
"unread":"string",
"user":"string",
"uts":0,
"short_url":"string"
}
{...}
id: string

id чата

channel_type: string

тип чата

name: string

Название чата (имя собеседника)

ctime: string

время создания чата (iso)

utime: string

время последнего изменения (iso)

owner: string

создатель чата

description: string

описание чата (для диалогов - название фирмы)

users: [string]

alias участника (c contact_id)

partner: string

id партнера (без contact_id)

partner_id: string

id партнера (c contact_id)

partner_full: string

alias партнера (c contact_id)

count: integer

количество учасчтников группового чата (для диалогов - null)

dts: integer

timestamp последней очистки сообщений

unread: string

количество непрочитанных сообщений

user: string

id юзера (c contact_id)

uts: integer

timestamp последнего изменения

short_url: string

короткий хэш для группового чата, используется в ссылке для приглашения, содерижтся только в подписке админа

}
400 Ошибка валидации
Развернуть все Свернуть все
403 Только владелец канала/группы может выполнять это действие
Развернуть все Свернуть все
404 Чат не найден
Развернуть все Свернуть все
Загрузка...
Развернуть все Свернуть все
Загрузка...

Метод используется для изменения имени или описания группового чата администратором.

 
Удаление группового чата владельцем
delete
/messenger/1.1/chats/{chat_id}/
CURL 1C
CURL
Копировать

                
1C
Копировать

                
Пример ответа Ответ
204 Канал удален
Развернуть все Свернуть все
403 Пользователь не является владельцем группового чата
Развернуть все Свернуть все
404 Не найден групповой чат или пользователь в этом чате
Развернуть все Свернуть все
Загрузка...
Развернуть все Свернуть все
Загрузка...

При удалении канала или группы все подписки участников будут помечены флагом removed.

Подписки

 
Получение всех подписок пользователя
get
/messenger/1.1/subscriptions/
CURL 1C
CURL
Копировать

                
1C
Копировать

                
Пример ответа Ответ
200 Подписки пользователя
Развернуть все Свернуть все
Пример Модель
[...]
{...}
"id":"string",
"channel_type":"string",
"name":"string",
"ctime":"string",
"utime":"string",
"owner":"string",
"tail":{...},
"any-key":{...}
"channel":"string",
"delivered":false,
"stamp":"string",
"text":"string",
"ts":0,
"id":"string",
"user":"string",
"event":"join",
"from":"string",
"document":"/document/07a940594fdb4866aa9f8f48c192632d/",
"document_mimetype":"string",
"document_size":0,
"file_id":"string",
"file_mimetype":"string",
"file_name":"string",
"file_size":0
}
},
"description":"string",
"users":[...],
"string"
],
"partner":"string",
"partner_id":"string",
"partner_full":"string",
"count":0,
"dts":0,
"unread":"string",
"user":"string",
"uts":0,
"short_url":"string"
}
]
[{...}]
id: string

id чата

channel_type: string

тип чата

name: string

Название чата (имя собеседника)

ctime: string

время создания чата (iso)

utime: string

время последнего изменения (iso)

owner: string

создатель чата

description: string

описание чата (для диалогов - название фирмы)

users: [string]

alias участника (c contact_id)

partner: string

id партнера (без contact_id)

partner_id: string

id партнера (c contact_id)

partner_full: string

alias партнера (c contact_id)

count: integer

количество учасчтников группового чата (для диалогов - null)

dts: integer

timestamp последней очистки сообщений

unread: string

количество непрочитанных сообщений

user: string

id юзера (c contact_id)

uts: integer

timestamp последнего изменения

short_url: string

короткий хэш для группового чата, используется в ссылке для приглашения, содерижтся только в подписке админа

}]
Загрузка...
Развернуть все Свернуть все
Загрузка...

Метод возвращает постраничный список подписок.

 
Получение информации о подписке
get
/messenger/1.1/subscriptions/{chat_id}/
CURL 1C
CURL
Копировать

                
1C
Копировать

                
Пример ответа Ответ
200 Подписки пользователя
Развернуть все Свернуть все
Пример Модель
{...}
"id":"string",
"channel_type":"string",
"name":"string",
"ctime":"string",
"utime":"string",
"owner":"string",
"tail":{...},
"any-key":{...}
"channel":"string",
"delivered":false,
"stamp":"string",
"text":"string",
"ts":0,
"id":"string",
"user":"string",
"event":"join",
"from":"string",
"document":"/document/07a940594fdb4866aa9f8f48c192632d/",
"document_mimetype":"string",
"document_size":0,
"file_id":"string",
"file_mimetype":"string",
"file_name":"string",
"file_size":0
}
},
"description":"string",
"users":[...],
"string"
],
"partner":"string",
"partner_id":"string",
"partner_full":"string",
"count":0,
"dts":0,
"unread":"string",
"user":"string",
"uts":0,
"short_url":"string"
}
{...}
id: string

id чата

channel_type: string

тип чата

name: string

Название чата (имя собеседника)

ctime: string

время создания чата (iso)

utime: string

время последнего изменения (iso)

owner: string

создатель чата

description: string

описание чата (для диалогов - название фирмы)

users: [string]

alias участника (c contact_id)

partner: string

id партнера (без contact_id)

partner_id: string

id партнера (c contact_id)

partner_full: string

alias партнера (c contact_id)

count: integer

количество учасчтников группового чата (для диалогов - null)

dts: integer

timestamp последней очистки сообщений

unread: string

количество непрочитанных сообщений

user: string

id юзера (c contact_id)

uts: integer

timestamp последнего изменения

short_url: string

короткий хэш для группового чата, используется в ссылке для приглашения, содерижтся только в подписке админа

}
404 Канал не найден
Развернуть все Свернуть все
Загрузка...
Развернуть все Свернуть все
Загрузка...

Участники групповых чатов

 
Получение списка участников
get
/messenger/1.1/chats/{chat_id}/users/
CURL 1C
CURL
Копировать

                
1C
Копировать

                
Пример ответа Ответ
200 Список участников
Развернуть все Свернуть все
Пример Модель
[...]
{...}
"id":"string",
"code":"string",
"name":"string",
"company":"string",
"email":"string",
"fax":"string",
"icq":"string",
"mobile":"string",
"phone":"string",
"skype":"string"
}
]
[{...}]
id: string

id юзера (c contact_id)

code: string

alias юзера (без contact_id)

name: string

имя юзера

company: string

название компании

email: string

email юзера

fax: string

факс юзера

icq: string

icq юзера

mobile: string

номер мобильного телефона юзера

phone: string

номер телефона юзера

skype: string

skype юзера

}]
403 У вас нет прав. Только администратор может совершать это действие.
Развернуть все Свернуть все
404 Канал не найден, Пользователь в групповом чате не найден
Развернуть все Свернуть все
Загрузка...
Развернуть все Свернуть все
Загрузка...

С помощью параметров метода можно запрашивать как приглашенных так и текущих участников группового чата.

 
Приглашение пользователя в групповой чат
post
/messenger/1.1/chats/{chat_id}/users/{user_id}/
CURL 1C
CURL
Копировать

                
1C
Копировать

                
Пример ответа Ответ
200 Подписка добавленного пользователя
Развернуть все Свернуть все
Пример Модель
{...}
"id":"string",
"channel_type":"string",
"name":"string",
"ctime":"string",
"utime":"string",
"owner":"string",
"tail":{...},
"any-key":{...}
"channel":"string",
"delivered":false,
"stamp":"string",
"text":"string",
"ts":0,
"id":"string",
"user":"string",
"event":"join",
"from":"string",
"document":"/document/07a940594fdb4866aa9f8f48c192632d/",
"document_mimetype":"string",
"document_size":0,
"file_id":"string",
"file_mimetype":"string",
"file_name":"string",
"file_size":0
}
},
"description":"string",
"users":[...],
"string"
],
"partner":"string",
"partner_id":"string",
"partner_full":"string",
"count":0,
"dts":0,
"unread":"string",
"user":"string",
"uts":0,
"short_url":"string"
}
{...}
id: string

id чата

channel_type: string

тип чата

name: string

Название чата (имя собеседника)

ctime: string

время создания чата (iso)

utime: string

время последнего изменения (iso)

owner: string

создатель чата

description: string

описание чата (для диалогов - название фирмы)

users: [string]

alias участника (c contact_id)

partner: string

id партнера (без contact_id)

partner_id: string

id партнера (c contact_id)

partner_full: string

alias партнера (c contact_id)

count: integer

количество учасчтников группового чата (для диалогов - null)

dts: integer

timestamp последней очистки сообщений

unread: string

количество непрочитанных сообщений

user: string

id юзера (c contact_id)

uts: integer

timestamp последнего изменения

short_url: string

короткий хэш для группового чата, используется в ссылке для приглашения, содерижтся только в подписке админа

}
400 Пользователь не является владельцем группового чата, Канал был удален, Код пользователя задан в неверном формате
Развернуть все Свернуть все
403 У вас нет прав. Только администратор может совершать это действие.
Развернуть все Свернуть все
404 Группа не найдена
Развернуть все Свернуть все
Загрузка...
Развернуть все Свернуть все
Загрузка...

При вызове метода у приглашенного пользователя создастся подписка с флагом invite.

 
Исключение участника из группового чата
delete
/messenger/1.1/chats/{chat_id}/users/{user_id}/
CURL 1C
CURL
Копировать

                
1C
Копировать

                
Пример ответа Ответ
204 Подписка удалена
Развернуть все Свернуть все
400 Код пользователя задан в неверном формате
Развернуть все Свернуть все
403 Пользователь не является владельцем группового чата, Групповой чат был удален
Развернуть все Свернуть все
404 Канал не найден
Развернуть все Свернуть все
Загрузка...
Развернуть все Свернуть все
Загрузка...

При вызове метода у исключенного пользователя в подписку добавится флаг excluded.

 
Принятие приглашения в групповой чат
patch
/messenger/1.1/subscriptions/{chat_id}/
CURL 1C
CURL
Копировать

                
1C
Копировать

                
Пример ответа Ответ
204 Приглашение принято
Развернуть все Свернуть все
400 У пользователя нет приглашения
Развернуть все Свернуть все
404 Канал не найден
Развернуть все Свернуть все
Загрузка...
Развернуть все Свернуть все
Загрузка...

После принятия приглашения флаг invite должен пропасть из подписки.

 
Удаление себя из группового чата или удаление приглашения
delete
/messenger/1.1/subscriptions/{chat_id}/
CURL 1C
CURL
Копировать

                
1C
Копировать

                
Пример ответа Ответ
204 Подписка на групповой чат удалена
Развернуть все Свернуть все
403 Нельзя удалить администратора группового чата
Развернуть все Свернуть все
404 Канал не найден
Развернуть все Свернуть все
Загрузка...
Развернуть все Свернуть все
Загрузка...

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

Сообщения

 
Отправка сообщения
post
/messenger/1.1./chats/{chat_id}/messages/
Развернуть все Свернуть все
{...}
text: string

текст сообщения

document: string

id прикрепленного документа

image: string

id прикрепленной картинки

file: string

id прикрепленного файла

quote: string

прикрепленная цитата

mobile_msg_id: string

id сообщение для мобильных приложений (нужно чтобы передать им в сокет)

}
CURL 1C
CURL
Копировать

                
1C
Копировать

                
Пример ответа Ответ
200 json сообщения
Развернуть все Свернуть все
Пример Модель
{...}
"channel":"string",
"delivered":false,
"stamp":"string",
"text":"string",
"ts":0,
"id":"string",
"user":"string",
"event":"join",
"from":"string",
"document":"/document/07a940594fdb4866aa9f8f48c192632d/",
"document_mimetype":"string",
"document_size":0,
"file_id":"string",
"file_mimetype":"string",
"file_name":"string",
"file_size":0
}
{...}
channel: string

id чата

delivered: boolean

доставлено/недоставлено

stamp: string

таймстемп (isoformat) сообщения

text: string

текст сообщения

ts: integer

таймстемп (unix) сообщения

id: string

id сообщения

user: string

id отправителя, отстутствует в системных событиях

event: enum
[join, exclude, quit, invite, create, system_message]

тип системного события

from: string

Имя отправителя сообщения

document: string

ссылка на документ в атидоках

document_mimetype: string
document_size: integer
file_id: string

id загруженного в filestorage файла

file_mimetype: string
file_name: string
file_size: integer
}
Загрузка...
Развернуть все Свернуть все
Загрузка...

На данный момент, используя АПИ, можно отправлять только текст.

Раздел находится в процессе доработки.
Данное API скоро будет обновлено. Появятся отдельные методы для добавления изображений и файлов. Информация об обновлениях в нашем телеграм канале.
 
Получение истории сообщений
get
/messenger/1.1/chats/{chat_id}/history/
CURL 1C
CURL
Копировать

                
1C
Копировать

                
Пример ответа Ответ
200 список сообщения
Развернуть все Свернуть все
Пример Модель
[...]
{...}
"channel":"string",
"delivered":false,
"stamp":"string",
"text":"string",
"ts":0,
"id":"string",
"user":"string",
"event":"join",
"from":"string",
"document":"/document/07a940594fdb4866aa9f8f48c192632d/",
"document_mimetype":"string",
"document_size":0,
"file_id":"string",
"file_mimetype":"string",
"file_name":"string",
"file_size":0
}
]
[{...}]
channel: string

id чата

delivered: boolean

доставлено/недоставлено

stamp: string

таймстемп (isoformat) сообщения

text: string

текст сообщения

ts: integer

таймстемп (unix) сообщения

id: string

id сообщения

user: string

id отправителя, отстутствует в системных событиях

event: enum
[join, exclude, quit, invite, create, system_message]

тип системного события

from: string

Имя отправителя сообщения

document: string

ссылка на документ в атидоках

document_mimetype: string
document_size: integer
file_id: string

id загруженного в filestorage файла

file_mimetype: string
file_name: string
file_size: integer
}]
Загрузка...
Развернуть все Свернуть все
Загрузка...

Метод возвращает постраничный список сообщений.

Прочие методы

 
Изменение настроек подписки
post
/messenger/1.1/chats/{chat_id}/settings/
Развернуть все Свернуть все
{...}
pin: boolean
hidden: boolean
}
CURL 1C
CURL
Копировать

                
1C
Копировать

                
Пример ответа Ответ
200 Возвращает объект подписки с обновленными настройками
Развернуть все Свернуть все
Пример Модель
{...}
"id":"string",
"channel_type":"string",
"name":"string",
"ctime":"string",
"utime":"string",
"owner":"string",
"tail":{...},
"any-key":{...}
"channel":"string",
"delivered":false,
"stamp":"string",
"text":"string",
"ts":0,
"id":"string",
"user":"string",
"event":"join",
"from":"string",
"document":"/document/07a940594fdb4866aa9f8f48c192632d/",
"document_mimetype":"string",
"document_size":0,
"file_id":"string",
"file_mimetype":"string",
"file_name":"string",
"file_size":0
}
},
"description":"string",
"users":[...],
"string"
],
"partner":"string",
"partner_id":"string",
"partner_full":"string",
"count":0,
"dts":0,
"unread":"string",
"user":"string",
"uts":0,
"short_url":"string"
}
{...}
id: string

id чата

channel_type: string

тип чата

name: string

Название чата (имя собеседника)

ctime: string

время создания чата (iso)

utime: string

время последнего изменения (iso)

owner: string

создатель чата

description: string

описание чата (для диалогов - название фирмы)

users: [string]

alias участника (c contact_id)

partner: string

id партнера (без contact_id)

partner_id: string

id партнера (c contact_id)

partner_full: string

alias партнера (c contact_id)

count: integer

количество учасчтников группового чата (для диалогов - null)

dts: integer

timestamp последней очистки сообщений

unread: string

количество непрочитанных сообщений

user: string

id юзера (c contact_id)

uts: integer

timestamp последнего изменения

short_url: string

короткий хэш для группового чата, используется в ссылке для приглашения, содерижтся только в подписке админа

}
400 Ошибка валидации
Развернуть все Свернуть все
403 Скрыть канал можно только после принятия приглашения
Развернуть все Свернуть все
404 Канал не найден
Развернуть все Свернуть все
Загрузка...
Развернуть все Свернуть все
Загрузка...

Изменение настроек подписки (скрыть/закрепить).

 
Приглашение нескольких пользователей в групповой чат
post
/messenger/1.1/chats/{chat_id}/users/
Развернуть все Свернуть все
{...}
members*: [string]
}
CURL 1C
CURL
Копировать

                
1C
Копировать

                
Пример ответа Ответ
200 Подписки добавленных пользователя
Развернуть все Свернуть все
Пример Модель
{...}
"id":"string",
"channel_type":"string",
"name":"string",
"ctime":"string",
"utime":"string",
"owner":"string",
"tail":{...},
"any-key":{...}
"channel":"string",
"delivered":false,
"stamp":"string",
"text":"string",
"ts":0,
"id":"string",
"user":"string",
"event":"join",
"from":"string",
"document":"/document/07a940594fdb4866aa9f8f48c192632d/",
"document_mimetype":"string",
"document_size":0,
"file_id":"string",
"file_mimetype":"string",
"file_name":"string",
"file_size":0
}
},
"description":"string",
"users":[...],
"string"
],
"partner":"string",
"partner_id":"string",
"partner_full":"string",
"count":0,
"dts":0,
"unread":"string",
"user":"string",
"uts":0,
"short_url":"string"
}
{...}
id: string

id чата

channel_type: string

тип чата

name: string

Название чата (имя собеседника)

ctime: string

время создания чата (iso)

utime: string

время последнего изменения (iso)

owner: string

создатель чата

description: string

описание чата (для диалогов - название фирмы)

users: [string]

alias участника (c contact_id)

partner: string

id партнера (без contact_id)

partner_id: string

id партнера (c contact_id)

partner_full: string

alias партнера (c contact_id)

count: integer

количество учасчтников группового чата (для диалогов - null)

dts: integer

timestamp последней очистки сообщений

unread: string

количество непрочитанных сообщений

user: string

id юзера (c contact_id)

uts: integer

timestamp последнего изменения

short_url: string

короткий хэш для группового чата, используется в ссылке для приглашения, содерижтся только в подписке админа

}
400 Пользователь не является владельцем группового чата, Канал был удален, Код пользователя задан в неверном формате
Развернуть все Свернуть все
403 У вас нет прав. Только администратор может совершать это действие.
Развернуть все Свернуть все
404 Группа не найдена
Развернуть все Свернуть все
Загрузка...
Развернуть все Свернуть все
Загрузка...

По умолчанию используются id-шники аккаунтов, но если флаг ati_id выставлен в true, будут использованы именно коды.

 
Удаление сообщения из диалога
delete
/messenger/1.1/chats/{chat_id}/messages/{ts_or_id}/
CURL 1C
CURL
Копировать

                
1C
Копировать

                
Пример ответа Ответ
200 Возвращает объект подписки с обновленным tail и ts
Развернуть все Свернуть все
Пример Модель
{...}
"id":"string",
"channel_type":"string",
"name":"string",
"ctime":"string",
"utime":"string",
"owner":"string",
"tail":{...},
"any-key":{...}
"channel":"string",
"delivered":false,
"stamp":"string",
"text":"string",
"ts":0,
"id":"string",
"user":"string",
"event":"join",
"from":"string",
"document":"/document/07a940594fdb4866aa9f8f48c192632d/",
"document_mimetype":"string",
"document_size":0,
"file_id":"string",
"file_mimetype":"string",
"file_name":"string",
"file_size":0
}
},
"description":"string",
"users":[...],
"string"
],
"partner":"string",
"partner_id":"string",
"partner_full":"string",
"count":0,
"dts":0,
"unread":"string",
"user":"string",
"uts":0,
"short_url":"string"
}
{...}
id: string

id чата

channel_type: string

тип чата

name: string

Название чата (имя собеседника)

ctime: string

время создания чата (iso)

utime: string

время последнего изменения (iso)

owner: string

создатель чата

description: string

описание чата (для диалогов - название фирмы)

users: [string]

alias участника (c contact_id)

partner: string

id партнера (без contact_id)

partner_id: string

id партнера (c contact_id)

partner_full: string

alias партнера (c contact_id)

count: integer

количество учасчтников группового чата (для диалогов - null)

dts: integer

timestamp последней очистки сообщений

unread: string

количество непрочитанных сообщений

user: string

id юзера (c contact_id)

uts: integer

timestamp последнего изменения

short_url: string

короткий хэш для группового чата, используется в ссылке для приглашения, содерижтся только в подписке админа

}
Загрузка...
Развернуть все Свернуть все
Загрузка...

Удалять сообщения можно в диалогах и только если они не прочитаны собеседником. В качестве идентификатора можно использовать как непосредственно id сообщения так и его временную метку в UTC.

 
Очистка истории
delete
/messenger/1.1/chats/{chat_id}/history/
CURL 1C
CURL
Копировать

                
1C
Копировать

                
Пример ответа Ответ
200 Возвращает объект подписки с обновленным tail и ts
Развернуть все Свернуть все
Пример Модель
{...}
"id":"string",
"channel_type":"string",
"name":"string",
"ctime":"string",
"utime":"string",
"owner":"string",
"tail":{...},
"any-key":{...}
"channel":"string",
"delivered":false,
"stamp":"string",
"text":"string",
"ts":0,
"id":"string",
"user":"string",
"event":"join",
"from":"string",
"document":"/document/07a940594fdb4866aa9f8f48c192632d/",
"document_mimetype":"string",
"document_size":0,
"file_id":"string",
"file_mimetype":"string",
"file_name":"string",
"file_size":0
}
},
"description":"string",
"users":[...],
"string"
],
"partner":"string",
"partner_id":"string",
"partner_full":"string",
"count":0,
"dts":0,
"unread":"string",
"user":"string",
"uts":0,
"short_url":"string"
}
{...}
id: string

id чата

channel_type: string

тип чата

name: string

Название чата (имя собеседника)

ctime: string

время создания чата (iso)

utime: string

время последнего изменения (iso)

owner: string

создатель чата

description: string

описание чата (для диалогов - название фирмы)

users: [string]

alias участника (c contact_id)

partner: string

id партнера (без contact_id)

partner_id: string

id партнера (c contact_id)

partner_full: string

alias партнера (c contact_id)

count: integer

количество учасчтников группового чата (для диалогов - null)

dts: integer

timestamp последней очистки сообщений

unread: string

количество непрочитанных сообщений

user: string

id юзера (c contact_id)

uts: integer

timestamp последнего изменения

short_url: string

короткий хэш для группового чата, используется в ссылке для приглашения, содерижтся только в подписке админа

}
Загрузка...
Развернуть все Свернуть все
Загрузка...

Очистить переписку можно только в диалогах, причем история изменится лишь для владельца подписки, у собеседника все останется как есть. При вызове метода в подписку добавится поле del_ts, содержащее временную метку, начиная с которой сообщения не будут возвращаться в методе history.

 
Получение счетчика чатов с непрочитанными сообщениями
get
/messenger/1.1/inbox/
CURL 1C
CURL
Копировать

                
1C
Копировать

                
Пример ответа Ответ
200 Счетчик непрочитанных
Развернуть все Свернуть все
Пример Модель
{...}
"unread":0
}
{...}
unread: integer
}
Загрузка...
Развернуть все Свернуть все
Загрузка...

Метод вернет количество чатов с непрочитанными сообщениями.

 
Получение количества непрочитанных чатов по типам (все/диалоги/групповые чаты)
get
/messenger/1.1/subscriptions/unread/
CURL 1C
CURL
Копировать

                
1C
Копировать

                
Пример ответа Ответ
200 Данные по количеству непрочитанных чатов по типу
Развернуть все Свернуть все
Пример Модель
{...}
"all":0,
"dialogs":0,
"groups":0
}
{...}
all: integer
dialogs: integer
groups: integer
}
Загрузка...
Развернуть все Свернуть все
Загрузка...

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