Письма и диалоги
Список и страницы
GET /v1/mailboxes/{mailbox_id}/folders возвращает папки с общим количеством писем total, количеством непрочитанных unread и значением uidvalidity. Для списка писем используйте GET /v1/mailboxes/{mailbox_id}/messages: ответ содержит items, next_before и uidvalidity, до 40 писем на страницу.
Передавайте next_before как before следующего запроса. null означает конец списка. Поиск q ограничен 200 символами и выполняется по содержимому почты.
GET /v1/mailboxes/42/messages?folder=INBOXGET /v1/mailboxes/42/messages?folder=INBOX&before=120Идентификаторы писем
uid — идентификатор письма внутри папки, folder — имя папки, mailbox_id — ID ящика. Значение uidvalidity определяет версию нумерации писем в папке. Берите все четыре значения из ответа API и храните вместе.
Если uidvalidity изменился, заново загрузите список писем этой папки: старые uid больше нельзя использовать. Чтение содержимого не отмечает письмо прочитанным. Для отметки выполните POST /v1/mailboxes/{mailbox_id}/messages/actions с action=read.
POST /v1/mailboxes/42/messages/actions
{"folder":"INBOX","uidvalidity":123456,"uids":[120],"action":"read"}Переписка как диалог
GET /v1/mailboxes/{mailbox_id}/threads возвращает до 100 диалогов. Передайте thread_id выбранного диалога в GET /v1/mailboxes/{mailbox_id}/threads/{thread_id}, чтобы получить его письма от старых к новым.
Новое письмо может появиться в диалоге с небольшой задержкой. Обновите список; для проверки отправки используйте состояние операции. Повторно отправлять письмо из-за задержки отображения не нужно.