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

Canal Personalizado: mapeo de campos del payload (entrada/salida)

Configurá el mapeo de campos de tu Canal Personalizado para que Omnifox entienda el formato JSON de tu sistema.

Jul 11, 2026

Cuando el JSON que manda o espera tu sistema no coincide con el formato por defecto de Omnifox, usás el mapeo de campos para "traducir" entre ambos formatos, sin tener que cambiar nada del lado de tu sistema.

Requisitos

  • Un Canal Personalizado ya creado (ver el artículo "Conectar un Canal Personalizado")
  • Conocer los nombres exactos de los campos de tu payload JSON de entrada y salida

Cómo configurar el mapeo

  1. Entrá al canal (Canales → editar tu Custom Channel) y abrí la sección Field Mappings.
  2. Hacé clic en Add para agregar una fila de mapeo.
  3. Elegí la dirección: In (entrada, mensajes que llegan de tu sistema) o Out (salida, mensajes que Omnifox te manda).
  4. Completá Source field (el campo tal como lo nombra el payload de origen) y Target field (el campo equivalente en el otro formato).
  5. Repetí por cada campo que necesites traducir; podés borrar filas con el ícono de basura.

Configuración

  • Entrada (In): por defecto Omnifox busca text (texto del mensaje), sender (nombre de quien escribe), id (identificador externo) y type (image/photo/video/audio/voice/file/document, cualquier otro valor se trata como texto). Si tu sistema usa otros nombres (por ejemplo body, from.name, msg_id), mapealos acá.
  • Salida (Out): el cuerpo por defecto que arma Omnifox incluye message_id, conversation_id, channel_id, recipient, type, content.text, content.media_url, content.caption, reply_to, sender.name, sender.phone, metadata y sent_at. Un mapeo de salida define qué clave de TU sistema corresponde a cada uno de esos campos (en notación de puntos).
  • Los campos de origen que falten en un mensaje se envían como null — no hace falta mapear todos.

Ejemplo

Si tu sistema envía {"body": "Hola", "from": {"name": "Ana"}, "msg_id": "77"} como entrada, mapeás: body → text, from.name → sender, msg_id → id. Para la salida, si tu API espera {"to": "...", "message": "..."}, mapeás to → recipient y message → content.text.

Consejos

  • Empezá sin mapeo: si tu sistema ya usa los nombres por defecto (text/sender/id/type), no necesitás configurar nada.
  • El mapeo es simple (sin JSONPath ni transformaciones complejas); para lógica más avanzada, ajustá el formato del lado de tu sistema.

Solución de problemas

  • Los mensajes entrantes llegan vacíos o sin remitente: revisá que el Source field coincida exactamente con la clave del JSON, incluyendo mayúsculas y notación de punto para campos anidados.
  • Los mensajes salientes le llegan a tu sistema con campos en null: confirmá el mapeo de salida contra la clave por defecto correspondiente (por ejemplo content.text, no text).
¿Te fue útil?

Artículos relacionados