Iniciar, pausar, retomar ou cancelar uma campanha
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:writeCredencial 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
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" }}