Ricky logorickyDocs

Validar un borrador de plantilla

POST
/templates/validate

Revisa un borrador con las reglas del editor de plantillas de Ricky y responde cada problema que encuentra, sin enviar nada a Meta. Un cuerpo que no es un borrador responde 400; un borrador que incumple una regla responde 200 con valid: false. Meta puede rechazar en su revisión un borrador válido.

Permiso: templates:read.

Autorización

bearerAuth
headerAuthorizationBearer <clave>

Una clave de API de la organización, rky_live_…, creada en Configuración → API. Envíala solo desde un servidor.

application/json
  1. body

El cuerpo de POST /templates; aquí channel_id es opcional.

channel_id?string

Canal de WhatsApp cuya cuenta de negocio será dueña de la plantilla.

Formatouuid
name*string

Letras minúsculas, dígitos y guiones bajos, empezando por una letra.

Patrón^[a-z][a-z0-9_]*$
Longitudlength <= 512
language*string

Código de idioma, por ejemplo es o en_US.

Patrón^[a-z]{2,3}(?:_[A-Z]{2})?$
category*string

UTILITY para novedades sobre algo que el cliente pidió; MARKETING en los demás casos.

Uno de"MARKETING""UTILITY"
parameter_format?string

Cómo se escriben las variables: {{first_name}} o {{1}}. No se puede cambiar después.

Predeterminado"NAMED"
Uno de"NAMED""POSITIONAL"
header?|||||

TEXT, IMAGE, VIDEO, DOCUMENT o LOCATION. Envía null para no tener encabezado.

body*

El texto del mensaje.

footer?|

Texto del pie, sin variables.

buttons?array<||>

Respuestas rápidas, hasta dos enlaces y un teléfono. Las respuestas rápidas no pueden ir entre los otros botones.

Elementositems <= 10

Cuerpo de la respuesta

Éxito.

application/json
  1. response
data*

El resultado de revisar un borrador de plantilla sin enviarlo.

curl -X POST 'https://getricky.ai/api/v1/templates/validate' \  -H 'Content-Type: application/json' \  -d '{  "channel_id": "8f3c2a5e-6b1d-4c7a-9e2f-1a2b3c4d5e6f",  "name": "pedido_listo",  "language": "es",  "category": "UTILITY",  "parameter_format": "POSITIONAL",  "body": {    "text": "Hola {{1}}, tu pedido {{2}} está listo para retirar.",    "examples": {      "1": "Ana",      "2": "10482"    }  },  "footer": "Casa Nativa",  "buttons": [    {      "type": "QUICK_REPLY",      "text": "Gracias"    }  ]}'
{  "data": {    "valid": true,    "errors": [      {        "param": "body.examples.1",        "message": "Example required for {{1}}."      }    ],    "components": null  }}