PEPINO ZAPdocs
Referência da APICampanhas

Cria uma campanha (rascunho)

Ver como Markdown
POST
/v1/campaigns

Cria uma campanha de disparo em massa em rascunho (DRAFT) — nada e enviado aqui (o disparo ocorre em POST /v1/campaigns/{id}/start). A mensagem e um template com variaveis por destinatario ({{nome}} e o que vier em vars). Cada destinatario pode ser so o numero (string) ou um objeto com phone, name e vars. Numeros sao normalizados para digitos, com vazios e duplicados descartados (totalRecipients pode ser menor que a lista); limite de 10.000 por campanha. A cadencia anti-ban e opcional — campos omissos usam defaults sensatos. GATING: criar exige que a CONTA tenha o add-on "Disparo em massa" — ter API key valida NAO basta; sem o add-on a API retorna 402 em producao (no modo teste e liberado).

Authorization

bearerAuth
AuthorizationBearer <token>

API key enviada como Authorization Bearer pzk_live_... ou pzk_test_...

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/campaigns" \  -H "Content-Type: application/json" \  -d '{    "name": "Promo Junho",    "instanceId": "cm5x8a9k20001abc123def456",    "template": "Ola {{nome}}! Aproveite {{desconto}} so hoje. Responda PARAR para sair.",    "recipients": [      {        "phone": "+55 11 99999-0001",        "name": "Maria",        "vars": {          "desconto": "20% off"        }      },      "5511999990002"    ],    "cadence": {      "warmup": {        "base": 20,        "factor": 1.2,        "cap": 200      },      "window": {        "start": "08:00",        "end": "23:00",        "tz": "America/Sao_Paulo"      },      "pacing": {        "baseSeconds": 60,        "jitterPct": 0.2      },      "autoPause": {        "consecutiveThreshold": 5      },      "validateNumbers": true    }  }'
{
  "id": "camp_8Tn4Wb1cMrA",
  "totalRecipients": 2
}
{
  "error": {
    "code": "BAD_REQUEST",
    "message": "Body invalido"
  }
}
{
  "error": {
    "code": "UNAUTHORIZED",
    "message": "API key ausente ou invalida"
  }
}
{
  "error": {
    "code": "PAYMENT_REQUIRED",
    "message": "E necessario um plano ativo para usar este recurso. Assine em \"Meu plano\"."
  }
}
{
  "error": {
    "code": "FORBIDDEN",
    "message": "Projeto inativo ou sem permissao"
  }
}
{
  "error": {
    "code": "NOT_FOUND",
    "message": "Instancia nao encontrada"
  }
}