Черновики и отложенные сообщения
В API появились черновики — неотправленные сообщения, которые сотрудник видит в
поле ввода чата и дописывает сам. С полем schedule тот же метод создаёт
отложенное сообщение: оно уходит в назначенное время и может повторяться.
Были добавлены новые методы:
- POSTНовый черновик
- GETСписок черновиков
- GETИнформация о черновике
- PUTРедактирование черновика
- DELETEУдаление черновика
Работают они только с личным токеном: скоупы черновиков токенам ботов не выдаются. Как приём применить агенту — в новом разделе Черновик вместо отправки.
Описан метод скачивания файла. Он нужен вложениям, у которых нет прямой ссылки на хранилище: зашифрованным и отправленным из безопасного контура пространства. Обе настройки разобраны в новом разделе Шифрование и безопасный контур.
У вложений появился тип video и длительность голосового, аудио- и видеофайла.
Описания методов в справочнике переписаны: теперь в каждом сказано, кого метод пускает, что меняется в пространстве после вызова и чего он молча не делает.
429 ждёт не меньше срока из Retry-After. Пауза дольше минуты не повторяется: узел возвращает ошибку вместо того, чтобы держать прогон часамиMessage: подсказка к полю Entity ID объясняет, что в нём лежит в зависимости от Entity Type, а Parent Message ID — что ответ появится в ленте чата, а не в тредеReaction: у поля Code сказано, что нужен сам символ эмодзи — +1 и :+1: отклоняютсяProfile и User: у поля срока статуса сказано, что смещение вида +03:00 учитывается, а время без смещения считается UTCDraft: новый ресурс — операции Create, Get, Get Many, Update и Delete для черновиков и отложенных сообщений. Отложенное создаётся полем Schedule, недоступно токенам ботовMessage: у вложений появился тип Video и поле Duration Ms — длительность голосового, аудио- и видеофайлаTrigger: в объекте треда поля Message ID и Message Chat ID объявлены необязательными — у треда без сообщения-родителя они приходят пустымиChat: у операции Request Export поле Webhook URL больше не обязательноFile: операция Get — скачивание вложения, у которого нет прямой ссылки: зашифрованного или конфиденциального429 ждёт не меньше срока из Retry-After: прежний потолок в 60 секунд убран. Пауза дольше минуты не повторяется — команда сразу возвращает ошибку с заголовкомpachca api <метод> --spec и --docs показывают развёрнутые описания методов: кого метод пускает, что меняется в пространстве после вызова и чем он отличается от соседнегоpachca drafts — черновики и отложенные сообщения: create, get, list, update, delete. Отложенное задаётся флагом --schedule, отменяется удалениемduration_ms и тип videopachca chats request-export больше не требует --webhook-urlpachca files get — скачивание вложения, у которого нет прямой ссылки: зашифрованного или конфиденциального. Путь задаётся обязательным флагом --save429 ждёт не меньше срока из Retry-After — джиттер добавляется вверх, а не вниз. Пауза дольше минуты не повторяется вовсе: ответ возвращается вызывающему коду вместе с заголовкомmessage_id и message_chat_id в объекте треда исходящих вебхуков стали nullable — у треда без сообщения-родителя они приходят nullwebhook_url в запросе Экспорт сообщений (POST /chats/exports) больше не обязательноНовый черновик (POST /drafts), Список черновиков (GET /drafts), Информация о черновике (GET /drafts/{id}), Редактирование черновика (PUT /drafts/{id}) и Удаление черновика (DELETE /drafts/{id})duration_ms в объекте файла и значение video у file_typedrafts:read и drafts:write, события аудита oauth_device_authorization_approved и oauth_device_authorization_denied, пять кодов ошибок расписанияСкачивание файла (GET /files/{id}) — отдаёт содержимое вложения, у которого в url стоит адрес API429 не меньше срока из Retry-After — джиттер добавляется вверх, а не вниз: повтор раньше срока попадает в ещё закрытое окно и продлевает паузу