API
Iniciar sesión
Documentación › Campañas › Crear borrador de campaña
POST

Crear borrador de campaña

POSThttps://app.sendapp.ai/api/campaigns/draft
Crea una campaña como borrador. No envía nada: para enviarla, usa después el endpoint de lanzamiento. Los destinatarios se eligen por tag; el mensaje puede ser texto o una plantilla aprobada. En el texto puedes usar los marcadores {{name}}, {{phone}}, {{email}}.
Crear un borrador NO envía mensajes. Para enviar se necesita una llamada explícita al endpoint de lanzamiento.
Parámetros
apikey obligatorio
Tu API Key.
token obligatorio
Token de la cuenta.
name obligatorio
Nombre de la campaña.
channel obligatorio
whatsapp, whatsapp-web o sms.
message_type obligatorio
template, text, text_media o media_only.
message opcional
Texto del mensaje (para text / text_media).
template_name opcional
Nombre de la plantilla (para message_type=template).
template_language opcional
Idioma de la plantilla.
media_url opcional
URL pública del media (del endpoint de subida).
media_type opcional
image, audio, video o document.
recipient_type opcional
all (todos los contactos) o tags (filtrar por etiqueta). Por defecto all.
tags opcional
Array de etiquetas de destinatarios (si recipient_type=tags).
scheduled_at opcional
Fecha/hora de envío programado. Omitido = envío manual.
Solicitud
curl -X POST 'https://app.sendapp.ai/api/campaigns/draft' \
  -H 'Content-Type: application/json' \
  -d '{
    "apikey": "YOUR_API_KEY",
    "token": "YOUR_ACCOUNT_TOKEN",
    "name": "Promo de verano",
    "channel": "whatsapp",
    "message_type": "template",
    "template_name": "promo_estate",
    "recipient_type": "tags",
    "tags": ["shopify"]
  }'
<?php
$ch = curl_init('https://app.sendapp.ai/api/campaigns/draft');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
    CURLOPT_POSTFIELDS => json_encode([
        'apikey'         => 'YOUR_API_KEY',
        'token'          => 'YOUR_ACCOUNT_TOKEN',
        'name'           => 'Promo de verano',
        'channel'        => 'whatsapp',
        'message_type'   => 'template',
        'template_name'  => 'promo_estate',
        'recipient_type' => 'tags',
        'tags'           => ['shopify'],
    ]),
]);
echo curl_exec($ch); // { status:'success', campaign_id: 148 }
const res = await fetch('https://app.sendapp.ai/api/campaigns/draft', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    apikey: 'YOUR_API_KEY',
    token: 'YOUR_ACCOUNT_TOKEN',
    name: 'Promo de verano',
    channel: 'whatsapp',
    message_type: 'template',
    template_name: 'promo_estate',
    recipient_type: 'tags',
    tags: ['shopify']
  })
});
console.log(await res.json()); // { status:'success', campaign_id: 148 }
Respuesta (200 OK)
{
  "status": "success",
  "message": "Draft saved.",
  "campaign_id": 512
}
Error
{
  "status": "error",
  "message": "Draft not found or already launched."
}