Файлы — обмен вложениями
Фото, видео и документы в тикетах и диалогах с агентами. Загрузка, отправка вложений, поиск по описанию, квота хранилища.
Как это устроено
Клиент присылает боту фото или документ — файл попадает в хранилище и прикрепляется к сообщению тикета или диалога с агентом. В обратную сторону так же: оператор и агент прикладывают файлы к ответу, человек получает их в том же мессенджере, где написал. Всё загруженное собирается в разделе «Файлы» кабинета — с поиском, описанием и повторным использованием: один и тот же прайс не нужно загружать дважды.
Что можно загружать
Изображения 10 MB jpeg, png, webp, gif
Видео 50 MB mp4, mov, webm
Документы 20 MB pdf, docx, xlsx, pptx, txt, csv, json, xml, zip
Тип определяется по содержимому файла, а не по расширению: переименованный исполняемый файл не пройдёт. Всё, чего нет в списке, отклоняется. Один клиент может прислать не больше 25 файлов и 50 МБ в сутки — это защищает ваше место от наполнения извне.
Место
Квота общая на аккаунт, а не на проект, и зависит от тарифа: 100 МБ на бесплатном, 300 МБ на «Лайте», 700 МБ на «Базовом», 1,5 ГБ на «Стандарте» и больше на старших тарифах. Одинаковые файлы занимают место один раз. Важное можно отметить звёздочкой — автоочистка его не тронет.
Эндпоинты
POST /v1/agent/media — загрузить файл (multipart)GET /v1/agent/media/{id} — скачать: 302 на временную ссылкуGET /v1/agent/files — найти файл по имени или описаниюPOST /v1/agent/say — отправить сообщение с вложениямиPOST /v1/helpdesk/tickets/{id}/reply — ответ в тикет с вложениями1. Загрузка файла
Файл загружается отдельным запросом и получает идентификатор. Отправка сообщения — второй шаг: так агент может подготовить вложение заранее, а при ошибке загрузки не теряется текст.
2. Отправка с вложением
В поле attachments перечисляются идентификаторы файлов — до 10 на сообщение. Файлы должны принадлежать тому же проекту, что и ключ.
3. Поиск готового файла
Файлы, загруженные вами в кабинете, доступны агенту того же проекта. Добавьте описание в карточке файла — по нему агент и находит нужное, вместо того чтобы загружать копию.
Ссылка временная и живёт 10 минут. Постоянных публичных адресов у файлов нет — хранилище закрыто, и каждый запрос проверяет права.
4. Ответ в тикет с файлом
5. Файл в рассылке
Вложение любого сообщения задаётся либо ссылкой (url), либо файлом хранилища (media_id) — но не обоими сразу. Для файла хранилища адрес выписывается в момент отправки, поэтому вложение не протухает в отложенной или повторяющейся рассылке, сколько бы она ни ждала своего часа.