Procesamiento de archivos adjuntos de entrada
Si está creando una aplicación de canal personalizada mediante la API REST, puede añadir soporte para el envío de archivos multimedia como archivos adjuntos de entrada.
El cuerpo de solicitud del método message da soporte a una matriz attachments, que puede especificar hasta 5 objetos multimedia. Los objetos multimedia que se envían en la matriz de mensajes de respuesta ( attachments ) pueden ser interceptados y procesados por un webhook de mensaje previo configurado.
Para obtener información detallada sobre cómo acceder a los archivos adjuntos mediante la API, consulta la referencia de la API.
Ejemplos
El siguiente ejemplo muestra el cuerpo de la solicitud que se envía a un webhook previo al mensaje con un cuerpo de mensaje que incluye el texto Hello y un archivo de imagen JPEG como archivo adjunto. La aplicación que recibe la petición webhook puede analizar el array ' attachments ' y procesar el adjunto, opcionalmente modificando el mensaje, antes de que sea procesado por el asistente.
{
"event":{
"name":"message_received"
},
"options":{
},
"payload":{
"input":{
"message_type":"text",
"text":"Hello",
"source":{
"type":"user",
"id":"00000000000000000000000000000000"
},
"options":{
"suggestion_only":false,
"return_context":true
},
"attachments": [
{
"media_type": "image/jpeg",
"url": "https://example.com/yourphoto.jpeg"
}
]
},
"context":{
"global":{
"system":{
"user_id":"00000000000000000000000000000000"
}
},
"integrations":{
"text_messaging":{
"assistant_phone_number":"+12223334444",
"private":{
"user_phone_number":"+14443332222",
"request_id":"00000000-0000-0000-0000-000000000000",
"ip_address":"172.10.10.10"
}
}
}
}
}
}
Este ejemplo muestra una solicitud de estado " /message " enviada por una aplicación de canal personalizada que incluye un único archivo multimedia adjunto.
service
.message({
assistant_id: '{assistant_id}',
session_id: '{session_id}',
input: {
message_type: 'text',
text: 'Hello',
attachments: [
{
'media_type': 'image/jpeg',
'url': 'https://example.com/yourphoto.jpeg'
}
]
}
})
.then(res => {
console.log(JSON.stringify(res, null, 2));
})
.catch(err => {
console.log(err);
});
response=service.message(
assistant_id='{assistant_id}',
session_id='{session_id}',
input={
'message_type': 'text',
'text': 'Hello',
'attachments': [
{
'media_type': 'image/jpeg',
'url': 'https://example.com/yourphoto.jpeg'
}
]
}
).get_result()
print(json.dumps(response, indent=2))