🇪🇸 Español 🇬🇧 English 🇧🇷 Português

Canal Personalizado: mapeamento de campos do payload (entrada/saída)

Configure o mapeamento de campos do seu Canal Personalizado para que a Omnifox entenda o formato JSON do seu sistema.

Jul 11, 2026

Quando o JSON que seu sistema envia ou espera não corresponde ao formato padrão da Omnifox, você usa o mapeamento de campos para "traduzir" entre os dois formatos, sem precisar mudar nada do lado do seu sistema.

Requisitos

  • Um Canal Personalizado já criado (veja o artigo "Conectar um Canal Personalizado")
  • Conhecer os nomes exatos dos campos do seu payload JSON de entrada e saída

Como configurar o mapeamento

  1. Acesse o canal (Canais → editar seu Custom Channel) e abra a seção Field Mappings.
  2. Clique em Add para adicionar uma linha de mapeamento.
  3. Escolha a direção: In (entrada, mensagens vindas do seu sistema) ou Out (saída, mensagens que a Omnifox envia para você).
  4. Preencha o Source field (o campo tal como está no payload de origem) e o Target field (o campo equivalente no outro formato).
  5. Repita para cada campo que precisar traduzir; apague linhas com o ícone de lixeira.

Configuração

  • Entrada (In): por padrão a Omnifox procura text (texto da mensagem), sender (nome de quem escreve), id (identificador externo) e type (image/photo/video/audio/voice/file/document; qualquer outro valor é tratado como texto). Se seu sistema usa outros nomes (por exemplo body, from.name, msg_id), mapeie-os aqui.
  • Saída (Out): o corpo padrão montado pela Omnifox inclui message_id, conversation_id, channel_id, recipient, type, content.text, content.media_url, content.caption, reply_to, sender.name, sender.phone, metadata e sent_at. Um mapeamento de saída define qual chave do SEU sistema corresponde a cada um desses campos (notação com ponto).
  • Campos de origem ausentes numa mensagem são enviados como null — não é preciso mapear todos.

Exemplo

Se seu sistema envia {"body": "Oi", "from": {"name": "Ana"}, "msg_id": "77"} como entrada, você mapeia: body → text, from.name → sender, msg_id → id. Para a saída, se sua API espera {"to": "...", "message": "..."}, mapeia to → recipient e message → content.text.

Dicas

  • Comece sem nenhum mapeamento: se seu sistema já usa os nomes padrão (text/sender/id/type), não há nada para configurar.
  • O mapeamento é propositalmente simples (sem JSONPath nem transformações complexas); para lógica mais avançada, ajuste o formato do lado do seu sistema.

Solução de problemas

  • Mensagens recebidas chegam vazias ou sem remetente: confira se o Source field bate exatamente com a chave do JSON, incluindo maiúsculas/minúsculas e notação de ponto para campos aninhados.
  • Mensagens de saída chegam ao seu sistema com campos em null: revise o mapeamento contra a chave padrão correta (por exemplo content.text, não text).
Isso foi útil?

Artigos relacionados