Техническая документация протокола и схемы данных
Quip Messenger использует современный протокол обмена сообщениями, основанный на WebSocket для реального времени и REST API для стандартных операций. Протокол разработан с учетом безопасности, производительности и масштабируемости.
Протокол Quip Messenger состоит из нескольких уровней:
Для обмена сообщениями в реальном времени используется WebSocket соединение. После установления соединения клиент отправляет сообщение аутентификации, после чего может отправлять и получать сообщения.
{
"type": "message_type",
"data": {
// данные сообщения
},
"timestamp": "2024-12-15T10:30:00Z"
}
auth - аутентификацияmessage - текстовое сообщениеmedia - медиа файлtyping - индикатор набора текстаread - подтверждение прочтенияpresence - статус пользователяcall - сигналы видеозвонкаДля стандартных операций (получение истории сообщений, управление профилем, создание групп) используется REST API. Все запросы должны содержать заголовок авторизации.
POST /api/v1/messages/send
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json
{
"receiver_id": 123,
"message": "Текст сообщения",
"type": "text"
}
{
"status": "success",
"data": {
"message_id": 456,
"created_at": "2024-12-15T10:30:00Z"
}
}
Все данные в Quip Messenger структурированы согласно определенным схемам. Ниже приведены основные схемы данных.
{
"id": 123,
"username": "user@example.com",
"full_name": "John Doe",
"profile_picture": "avatar.jpg",
"status": "online",
"last_seen": "2024-12-15T10:30:00Z",
"created_at": "2024-01-01T00:00:00Z"
}
{
"id": 456,
"sender_id": 123,
"receiver_id": 789,
"message": "Текст сообщения",
"type": "text",
"media_url": null,
"created_at": "2024-12-15T10:30:00Z",
"read_at": null,
"edited_at": null
}
{
"id": 101,
"name": "Моя группа",
"description": "Описание группы",
"avatar": "group_avatar.jpg",
"creator_id": 123,
"members": [123, 456, 789],
"created_at": "2024-12-15T10:30:00Z"
}
{
"id": 202,
"name": "Мой канал",
"description": "Описание канала",
"avatar": "channel_avatar.jpg",
"creator_id": 123,
"is_private": false,
"subscribers_count": 1000,
"created_at": "2024-12-15T10:30:00Z"
}
Quip Messenger поддерживает различные типы сообщений:
text - текстовое сообщениеimage - изображениеvideo - видеоaudio - аудио файлvoice - голосовое сообщениеdocument - документlocation - геолокацияcontact - контактБезопасность протокола обеспечивается несколькими механизмами:
Протокол версионируется для обеспечения обратной совместимости. Текущая версия протокола: v1. При выходе новых версий старые версии будут поддерживаться в течение минимум 12 месяцев.
Ниже приведены примеры использования протокола для различных сценариев.
{
"type": "message",
"data": {
"receiver_id": 789,
"message": "Привет!",
"type": "text"
},
"timestamp": "2024-12-15T10:30:00Z"
}
{
"type": "media",
"data": {
"receiver_id": 789,
"media_type": "image",
"media_url": "https://example.com/image.jpg",
"caption": "Описание изображения"
},
"timestamp": "2024-12-15T10:30:00Z"
}
{
"type": "typing",
"data": {
"receiver_id": 789,
"is_typing": true
},
"timestamp": "2024-12-15T10:30:00Z"
}
Для получения более подробной информации о протоколе и схемах данных, пожалуйста, обратитесь к документации API или свяжитесь с нашей службой поддержки.