Processando anexos de entrada
Se você estiver criando um aplicativo de canal personalizado usando a API REST, poderá adicionar suporte para o envio de arquivos de mídia como anexos de entrada.
O corpo de solicitação do método message suporta uma matriz attachments, que pode especificar até cinco objetos de mídia. Os objetos de mídia enviados na matriz attachments podem ser interceptados e processados por um webhook de pré-mensagem configurado.
Para obter informações detalhadas sobre como acessar anexos usando a API, consulte a referência da API.
Exemplos
O exemplo a seguir mostra o corpo da solicitação que é enviado a um webhook de pré-mensagem com um corpo de mensagem que inclui o texto Hello e um arquivo de imagem JPEG como anexo. O aplicativo que recebe a solicitação do webhook pode analisar a matriz ' attachments e processar o anexo, opcionalmente modificando a mensagem, antes que ela seja processada pelo assistente.
{
"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 exemplo mostra uma solicitação " /message com estado que é enviada por um aplicativo de canal personalizado e inclui um único anexo de mídia.
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))