Mensajes

ToolEndpoint RESTAnotaciones
send_messagePOST /v1/messagesescritura, no destructiva
send_template_messagePOST /v1/messages/templateescritura, no destructiva

send_message

Envía un mensaje personalizado dentro de una conversación existente. La herramienta resuelve la conversación por conversationId y channelId; si hay varias conversaciones para el mismo teléfono, usa la más reciente que coincide con el canal. Para WhatsApp, Instagram y Facebook, la ventana de servicio debe estar abierta.

Argumentos

CampoTipoRequeridoDescripción
channelIdstringCanal del agente que enviará el mensaje.
conversationIdstringTeléfono o identificador de conversación del cliente.
contentstring \| objectTexto simple, contenido estructurado para media/interactivos o instrucción al agente.
type"text" \| "image" \| "video" \| "file" \| "audio" \| "interactive" \| "email" \| "instruction"noTipo del mensaje cuando content es objeto. Si content es string, se usa text.
clientobjetonoDatos del cliente (name, email, customFields, owners, …) para crearlo/enriquecerlo.
campaignIdstringnoAgrupa el envío en una campaña. Default "api".
delaynumber msnoProgramar con delay (3000-86 400 000 ms).
scheduleTimeISO 8601noProgramar con fecha exacta. Mutuamente exclusivo con delay.

Ejemplo de invocación

{
  "name": "send_message",
  "arguments": {
    "channelId": "wb-12345",
    "conversationId": "+521234567890",
    "content": "Hola, te escribo desde Platica API",
    "client": {
      "name": "Ana López",
      "customFields": {
        "placas": "ABC123"
      }
    }
  }
}

Ejemplo con media

{
  "name": "send_message",
  "arguments": {
    "channelId": "wb-12345",
    "conversationId": "+521234567890",
    "type": "image",
    "content": {
      "image": {
        "url": "https://cdn.assets.com/foto.jpg",
        "caption": "Aquí está la foto"
      }
    }
  }
}

Ejemplo de instrucción al agente

Una instrucción no llega al cliente: se aplica sobre el agente que opera la conversación. Usa mode: "wait" para que el agente espere al próximo mensaje del cliente con la instrucción registrada como contexto, o mode: "resume" para reanudar al agente para que continúe el flujo.

{
  "name": "send_message",
  "arguments": {
    "channelId": "wb-12345",
    "conversationId": "+521234567890",
    "type": "instruction",
    "content": {
      "text": "Continúa con el flujo de venta y ofrece un descuento del 10%.",
      "mode": "resume"
    }
  }
}

send_template_message

Envía un mensaje basado en una plantilla aprobada de WhatsApp al cliente identificado por conversationId (número de teléfono internacional). Crea la conversación y/o el cliente si no existen. Se puede enviar inmediatamente, con delay (en ms, mínimo 3000) o con scheduleTime (ISO 8601, hora de México si no incluye zona).

Argumentos

CampoTipoRequeridoDescripción
channelIdstringCanal de WhatsApp del agente que enviará.
conversationIdstringTeléfono destinatario en formato E.164.
template.namestringNombre exacto de la plantilla.
template.type"image" \| "video" \| "document"noSi la plantilla tiene header multimedia.
template.filestring (URL)noURL pública del archivo cuando type está presente.
template.paramsstring[]noValores ordenados para las variables del body.
template.buttons[]objetonoOverride de parámetros de botones dinámicos (máx 3).
template.components[]objetonoComponentes adicionales (raramente necesario).
clientobjetonoDatos del cliente (name, email, …) para crearlo/enriquecerlo.
campaignIdstringnoAgrupa el envío en una campaña. Default "api".
delaynumber msnoProgramar con delay (3000-86 400 000 ms).
scheduleTimeISO 8601noProgramar con fecha exacta. Mutuamente exclusivo con delay.

Ejemplo de invocación

{
  "name": "send_template_message",
  "arguments": {
    "channelId": "wb-12345",
    "conversationId": "+521234567890",
    "template": {
      "name": "bienvenida_v1",
      "params": ["Ana", "10%"]
    },
    "client": {
      "name": "Ana López",
      "email": "ana@example.com"
    }
  }
}