Skip to content
English
  • There are no suggestions because the search field is empty.

🧩 ¿Cómo utilizar la API de Plantillas en Atom?

La API de Plantillas de Atom permite integrar tus propias aplicaciones con el servicio de envío de mensajes por WhatsApp usando plantillas preaprobadas (Templates Messages). Con esta API podrás:

  • ✅ Enviar un mensaje con plantilla (template)
  • 📋 Obtener un listado de plantillas disponibles
  • 🔍 Consultar los detalles de una plantilla por su ID

🌐 Ambientes disponibles

Ambiente Uso previsto Endpoint base
Producción Para clientes finales y operaciones reales https://us-central1-atomchat-io.cloudfunctions.net/templates
AI Ambiente alternativo disponible para integraciones específicas o casos de uso designados. https://us-central1-atom-ai.cloudfunctions.net/templates

1. Enviar una Plantilla (Template Message)

Este servicio permite el envío de un Template Message utilizando un número de WhatsApp Oficial y el templateId correspondiente.

Comportamiento

  • Número con conversación activa:

    Si el número ya tiene una conversación, el mensaje se enviará sobre esa conversación y la confirmación será inmediata.

  • Número sin conversación activa:

    Si no existe una conversación previa, el mensaje quedará en estado “pendiente” hasta recibir la confirmación del proveedor de WhatsApp Oficial.

Detalles Técnicos

  • Tipo de conexión: Acceso público por Internet
  • Método: POST
  • Encabezados obligatorios:
    • Content-type: application/json
    • Charset: utf-8
    • Authorization: Bearer (token público)
  • Endpoint según ambiente:
    • Producción:

      https://us-central1-atomchat-io.cloudfunctions.net/templates

    • AI:

      https://us-central1-atom-ai.cloudfunctions.net/templates

Parámetros del Cuerpo (JSON)

Parámetro Descripción Tipo Requerido
templateId ID del Template Message de AtomChat. string
phoneNumber Número de teléfono al que se enviará la plantilla. Debe incluir el código de país sin el signo + y sin espacios.Correcto: 50755667788Incorrecto: +50755667788, 55667788, 507 55667788 string
clientName Nombre del cliente. Si no se incluye, se usará el número de teléfono como valor por defecto. string Opcional
groupName Grupo al que se asignará la conversación. Si no se indica, se utilizará el primer grupo asociado a la integración. string Opcional
assign Define si la conversación se asigna a un agente (true) o al bot (false, valor por defecto). boolean Opcional
params Objeto con los parámetros requeridos por la plantilla. Ejemplo: { "param1": "valor", "param2": "otro valor" } object Opcional

Ejemplo de Cuerpo (JSON)

json
CopiarEditar
{
"templateId": "id_del_template",
"phoneNumber": "50755667788",
"clientName": "Juan Pérez",
"groupName": "Soporte",
"assign": true,
"params": {
"param1": "valor",
"param2": "otro valor"
}
}

Respuestas Posibles

Escenario Código Respuesta
Plantilla enviada 200 { "success": true, "message": "Sent", "data": { "conversation_id": "abc123" } }
Plantilla pendiente de envío 202 { "success": false, "conversationId": "abc123", "status": 202 }
Parámetros incorrectos 400 { "success": false, "message": "No hay datos para enviar" }
Faltan parámetros requeridos 400 Respuesta con detalle técnico sobre los params faltantes
Plantilla sin ID o mensaje definido 400 Respuesta con detalle técnico sobre los campos template.appId o template.message
Canal no conectado 401 Respuesta de error indicando que el canal de WhatsApp no está configurado
Token incorrecto 401 Respuesta de error por token público inválido
Límite de conversaciones alcanzado 401 { "success": false, "message": "The client has reached conversations limit" }
Error interno del sistema 500 { "message": "Something went wrong while the operation was executed", "type": "Internal Server Error" }

2. Listar Plantillas

Este endpoint permite recuperar un listado de plantillas activas disponibles en el canal asociado al token público.

Detalles Técnicos

  • Tipo de conexión: Acceso público por Internet
  • Método: GET
  • Encabezados obligatorios:
    • Content-type: application/json
    • Charset: utf-8
    • Authorization: Bearer (token público)

Endpoint

Utilizar la URL base correspondiente al ambiente:

  • Producción:

    https://us-central1-atomchat-io.cloudfunctions.net/templates?page=1&size=1000&sort=asc

  • AI:

    https://us-central1-atom-ai.cloudfunctions.net/templates?page=1&size=1000&sort=asc

Parámetros Opcionales

Parámetro Descripción Tipo Requerido
page Número de página. Default: 1 string No
size Cantidad de resultados por página string No
sort Orden de resultados (ej: asc o desc) string No

Ejemplo de Respuesta JSON

json
CopiarEditar
{
"length": 2,
"page": 1,
"items": [
{
"id": "b5ssgNtFPa5Vbrb8TOxt",
"message": "Hola, Bienvenido a almacenes tia, siempre de todo a menor precio, siempre",
"buttons": [],
"status": "APPROVED",
"active": true,
"createdAt": "2022-06-02T18:49:32.786Z",
"updatedAt": "2022-06-29T17:21:01.098Z",
"bodyParams": [],
"description": "Plantilla Tia"
},
{
"id": "7gKfsuDayJeBqqSGfYIY",
"message": "Hola, 1 👋 Te saludamos desde *2* 🛒Vimos que te interesó uno de nuestros productos y *queremos que sea tuyo* 😉Te invitamos a volver a tu compra *en un clic* ✨👇3",
"buttons": [],
"status": "APPROVED",
"active": true,
"createdAt": "2022-06-04T02:29:43.652Z",
"updatedAt": "2022-06-04T16:38:13.083Z",
"bodyParams": [ "client_name", "companyName", "url" ],
"description": "shopify_abandoned_checkout"
}
]
}


3. Obtener Plantilla por ID

Este servicio permite obtener los detalles completos de una plantilla específica utilizando su templateId.

Detalles Técnicos

  • Tipo de conexión: Acceso público por Internet
  • Método: GET
  • Encabezados obligatorios:
    • Content-type: application/json
    • Charset: utf-8
    • Authorization: Bearer (token público)

Endpoint

Utilizar la URL base correspondiente al ambiente:

  • Producción:

    https://us-central1-atomchat-io.cloudfunctions.net/templates/{templateId}

  • AI:

    https://us-central1-atom-ai.cloudfunctions.net/templates/{templateId}

Reemplazá {templateId} por el ID real de la plantilla que deseás consultar.

Ejemplo de Respuesta JSON

json
CopiarEditar
{
"id": "b5ssgNtFPa5Vbrb8TOxt",
"message": "Hola, Bienvenido a almacenes tia, siempre de todo a menor precio, siempre",
"buttons": [],
"status": "APPROVED",
"active": true,
"createdAt": "2022-06-02T18:49:32.786Z",
"updatedAt": "2022-06-29T17:21:01.098Z",
"bodyParams": [],
"description": "Plantilla Tia"
}


Consideraciones Finales

  • Ambiente:

    Verificá que estás utilizando el endpoint correcto según el ambiente (Producción o AI), especialmente en pruebas internas y desarrollos.

  • Validación en el phoneNumber:

    Asegurate de utilizar el formato correcto del número de teléfono (código de país sin el signo + ni espacios) para evitar errores en el envío.

  • Errores comunes:

    Revisá las respuestas de error para identificar problemas en parámetros, autorización (token), o limitaciones en el canal de WhatsApp.