Comment on page
Отправка файлов Собеседнику | Слот Attachment
Слот Attachment – слот, предназначенный для отправки файлов-вложений указанного типа от Агента Собеседнику. Например, с помощью этого слота можно отправить Собеседнику аудио, видео или изображение, которое отобразится корректно в мессенджере с предпросмотром. Один слот Attachment отправляет один файл.


- 1.Name — название слота, которое будет отображено в Дереве сценария. Максимальная длина значения поля — 40 символов.
- 1.При сохранении Слота проверяется значение в поле:
- 1.если поле пустое, выводится ошибка Please enter a slot name
- 2.если в поле более 40 символов, выводится ошибка Name must contain no more than 40 characters
- 2.Source — ссылка на файл или переменная, содержащая ссылку на файл, который должен быть отправлен.
- 1.При сохранении Слота проверяется значение в поле:
- 1.если поле пустое, выводится ошибка Please enter a file source
- 2.Обрезка пробелов: по нажатию кнопки CREATE (при создании слота) или SAVE (при редактировании слота) обрезаются пробелы и переносы строк в начале и в конце поля Source.
- 3.Caption — сопутствующее текстовое сообщение к файлу или переменная, с текстом, который должен быть приложен файлу. Длинные сообщения будут обрезаны до 1024 символов (такая длина сообщения удовлетворяет требованиям всех поддерживаемых мессенджеров и омниканальных платформ).
- 4.Primary type — тип отправляемого файла, для корректного отображения и предпросмотра в конечном Канале. Допустимые варианты: Image, Audio, Video, File.
- 1.При сохранении Слота проверяется наличие выбранного типа файла:
- 1.при отсутствии типа выбранного типа файла выводится ошибка Please choose a primary type
Вы самостоятельно выбираете желаемый тип файла.
Например, в Telegram изображение может быть отправлено типом Image – тогда оно будет отображаться прямо в мессенджере, или типом File – будет отражено файлом, доступным для скачивания.

В Слоте Attachment допустимо использование ВыражениЙ и УправляющИХ конструкциЙ в полях Source и Caption. Подробнее: Синтаксис
Пример:
Значения контекстных переменных url и caption будут взяты из контекста чата. Фильтр |upper приведёт значение переменной caption к верхнему регистру.

При выполнении слота Attachment:
- 1.Агент получает значения в полях Source и Caption, выполняет конкатенацию в этих полях, если она присутствует, обрезает значение Caption до 1024 символов.
- 2.Агент выполняет отправку файла, доступного по ссылке в поле Source, и сопутствующего сообщения из поля Caption в конечный Канал с указанием Primary type – тип файла, который должен быть отправлен Собеседнику.
- 3.Конечный Канал валидирует ссылку из поля Source на предмет:
- это прямая ссылка на файл (файл скачивается по этой ссылке);
- файл по ссылке соответствует Primary type;
- файл по ссылке удовлетворяет критериям для Primary type в этом конечном Канале по размеру и контенту. Важно: Для определения требований к файлам каждого типа необходимо ознакомиться с официальной документацией тех каналов, в которых размещается Агент. В каждом мессенджере и соцсети свои требования, которые могут быть меняться им в одностороннем порядке.
- 4.В случае успешной валидации файла по полю Source, файл доставляется Собеседнику в указанном Primary type, к файлу прикрепляется сопутствующее сообщение (не более 1024 символа из поля Caption). Важно: Доставка файлов большого размера может занять продолжительное время. Это следует учитывать при построении Сценария: Собеседник может успеть написать Агенту до того, как ему будет доставлен большой файл.
- 5.В случае неуспешной валидации файла по полю Source или ошибки отправки из конечного Канала, Агент повторяет отправку данных из слота Attachment, но уже в виде двух текстовых сообщений: первое – значение из поля Source, второе – значение из поля Caption. Перед такой отправкой также происходит конкатенация и получение значений переменных, если они используются в этих полях.
- 6.Если конечный Канал не поддерживает отправку файлов, значения полей Source и Caption отправляются двумя текстовыми сообщениями. Перед такой отправкой также происходит конкатенация и получение значений переменных, если они используются в этих полях.
Не все конечные Каналы поддерживают передачу файлов Собеседнику
«в виде файлов», некоторые Каналы передают только с сылку на скачивание файла. Актуальная информация по каждому Каналу размещена в соответствующих статьях в разделе Размещение агента в каналах.