Enviar Campaña Envía una campaña a través de un canal activo del workspace. Puede usar la plantilla ya guardada en la campaña o una plantilla indicada explícitamente en el request.
POST https://api.platica.mx/v1/campaigns/{campaignId}/send
Parámetros de la URL Parámetro Tipo Descripción Requerimiento campaignIdstring Identificador único de la campaña obligatorio
Ejemplos de request {
"channelId" : "5215512345678" ,
"template" : {
"params" : [ "Juan" , "20% de descuento" ],
"sendToProblematic" : false ,
"sendToUndeliverable" : false
}
}
{
"channelId" : "5215512345678" ,
"template" : {
"name" : "promo_verano_2026" ,
"params" : [ "Juan" , "20% de descuento" ],
"sendToProblematic" : false ,
"sendToUndeliverable" : false
}
}
Envío con imagen y fechas programadas {
"channelId" : "5215512345678" ,
"template" : {
"name" : "promo_verano_2026" ,
"params" : [ "Juan" ],
"type" : "image" ,
"file" : "https://example.com/promo.jpg" ,
"scheduledDates" : [
"2026-07-01T10:00:00Z" ,
"2026-07-08T10:00:00Z"
],
"sendToProblematic" : false ,
"sendToUndeliverable" : false
}
}
Envío con botones dinámicos {
"channelId" : "5215512345678" ,
"template" : {
"name" : "promo_con_enlace" ,
"params" : [ "Juan" ],
"buttons" : [
{
"index" : 0 ,
"type" : "button" ,
"sub_type" : "url" ,
"text" : "Ver oferta" ,
"parameters" : [
{ "type" : "text" , "text" : "promo2026" }
]
}
]
}
}
Parámetros del cuerpo Parámetro Tipo Descripción Requerimiento channelIdstring Identificador del canal. Puede coincidir con el phoneNumber o con el channelId de un agente activo obligatorio templateobject Configuración del template para el envío obligatorio
Objeto template Parámetro Tipo Descripción Requerimiento namestring Nombre del template a usar. Si se omite, se usa el template configurado en la campaña opcional paramsstring[] Valores para los parámetros variables del template, en orden opcional typestring Tipo de media adjunto: "image", "video" o "document" opcional filestring URL http(s) del archivo a adjuntar. Es obligatorio cuando la plantilla requiere media opcional buttonsarray Parámetros dinámicos para los botones del template opcional scheduledDatesstring[] Fechas de envío programadas en formato ISO 8601. Deben ser fechas futuras opcional sendToProblematicboolean Si se debe enviar a contactos con número problemático opcional (default false) sendToUndeliverableboolean Si se debe enviar a contactos con entregas fallidas previas opcional (default false)
Parámetro Tipo Descripción Requerimiento indexnumber Índice del botón en el template (empieza en 0) obligatorio typestring Tipo de componente. Si se omite, la API usa "button" opcional sub_typestring Subtipo: "url", "phone_number", "quick_reply" u "otp" opcional textstring Texto del botón. La API puede inferirlo desde la plantilla opcional placeholderstring Placeholder o valor base definido en la plantilla para botones dinámicos opcional parametersarray Parámetros dinámicos del botón obligatorio
Parámetro Tipo Descripción Requerimiento typestring Tipo de parámetro del botón obligatorio textstring Valor textual del parámetro obligatorio urlstring URL asociada al parámetro cuando aplica opcional selectedFieldsstring[] Campos seleccionados para mapear contenido dinámico opcional
Respuesta 200 OK {
"status" : "success" ,
"message" : "Campaign sent successfully" ,
"data" : {
"status" : "queued"
}
}
data contiene la respuesta del servicio de envío aguas arriba, por lo que su estructura puede variar entre workspaces o integraciones.
Errores comunes Código Descripción 400Plantilla no encontrada, parámetros inválidos, botones incompatibles, URL de archivo inválida o scheduledDates no futuras 404Campaña no encontrada o canal (channelId) sin agente activo 500Error al comunicarse con el servicio de envío
Notas Si template.name se omite, se usa la plantilla guardada en la campaña. Si la campaña no tiene una plantilla configurada, el envío falla con 400. El número de elementos en params debe coincidir exactamente con el número de variables esperado por la plantilla. Si envías buttons, la cantidad de botones y sus índices deben existir en la plantilla validada. Cuando la plantilla requiere media, file debe ser una URL válida http o https. Todas las fechas de scheduledDates deben estar en el futuro al momento del request.