DOM360
Campanhas

Iniciar, pausar, retomar ou cancelar uma campanha

PATCH
/campaigns/{campaign_id}

Leva a campanha ao status pedido pela matriz de transição: rascunho → agendada ou em curso; agendada → em curso ou pausada; em curso ↔ pausada; qualquer estado aberto → cancelada. Pedir o estado em que ela já está responde 200 com a campanha como está, então repetir depois de um timeout é seguro. Concluída e cancelada não reabrem (409 INVALID_STATE_TRANSITION, details.reason = invalid_transition). Ir para scheduled ou active exige campaigns:execute, ao menos um contato e o cliente sem bloqueio (402). Cancelar encerra os contatos ainda não tratados; pausar ou cancelar não desliga uma ligação em curso — a campanha só para de chamar o próximo.

Autorização

bearer campaigns:write
AutorizaçãoBearer <token>

Credencial da v3: o JWT da sessão (o mesmo da v2) ou um token pessoal dom_pat_…. A lista de escopos de cada operação diz o que ela exige: uma capacidade (agents:read), authenticated ou session-only. Segredo de máquina (X-Agent-Secret, X-API-Token, sdk_…) não é aceito.

Em: header

Escopo: campaigns:write

Parâmetros de caminho

campaign_id*string

Id da campanha

Corpo da requisição

application/json

Definições TypeScript

Use o tipo request body no TypeScript.

O corpo de PATCH /campaigns/{campaign_id}: só o estado.

Corpo da resposta

application/json

application/json

curl -X PATCH "https://example.com/campaigns/string" \  -H "Content-Type: application/json" \  -d '{    "status": "scheduled"  }'
{  "cadence": {    "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",    "call_spacing_seconds": 0,    "created_at": "2019-08-24T14:15:22Z",    "description": "string",    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "max_attempts": 0,    "name": "string",    "retry_interval_seconds": 0,    "tenant_id": 0,    "updated_at": "2019-08-24T14:15:22Z"  },  "counters": {    "active": 0,    "answered": 0,    "completed": 0,    "failed": 0,    "pending": 0,    "total": 0  },  "created_at": "2019-08-24T14:15:22Z",  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "name": "string",  "next_attempt_at": "2019-08-24T14:15:22Z",  "progress": 0,  "status": "draft",  "tenant_id": 0,  "updated_at": "2019-08-24T14:15:22Z",  "window": {    "allowed_weekdays": [      0    ],    "daily_end_time": "string",    "daily_start_time": "string",    "end_at": "2019-08-24T14:15:22Z",    "start_at": "2019-08-24T14:15:22Z",    "timezone": "string"  },  "type": "voice",  "voice": {    "agent_context_columns": [      "string"    ],    "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",    "agent_task": "string",    "source_file_name": "string"  }}