Сообщению нужны серверный ID, ID чата и отправителя, тип, содержимое, время создания и версия изменения. client_message_id связывает повторный запрос с тем же результатом.
Какие поля нужны в модели сообщения API
Сообщению нужны серверный ID, ID чата и отправителя, тип, содержимое, время создания и версия изменения. client_message_id связывает повторный запрос с тем же результатом.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Проектируется API мессенджера с текстом, вложениями, редактированием и защитой от повторной отправки. Предложите минимальный контракт сообщения.
Ответ
Сообщению нужны серверный ID, ID чата и отправителя, тип, содержимое, время создания и версия изменения. client_message_id связывает повторный запрос с тем же результатом.
Вложения передавайте как проверенные ссылки на ресурсы с размером и типом, не как произвольные доверенные URL. Для удалённого сообщения определите tombstone, а для пагинации — устойчивый серверный курсор. Статусы доставки и прочтения зависят от получателя, поэтому один общий boolean часто недостаточен. Право читать сообщение проверяет backend по участию в чате.