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))