Importar contatos numa campanha
Acrescenta a lista (até 5.000 linhas por pedido) depois dos contatos que a campanha já tem. Linhas com telefone inválido voltam em refused, com a posição e o motivo. Numa campanha em curso, os contatos novos ficam devidos na próxima abertura da janela; numa concluída ou cancelada, o pedido é recusado (409, details.reason = campaign_closed). A Idempotency-Key é obrigatória: um reenvio por timeout devolve o mesmo relatório em vez de duplicar a lista.
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
Parâmetros de cabeçalho
Chave de 1 a 255 caracteres ASCII visíveis, estável por intenção do usuário: a mesma chave numa retentativa devolve a primeira resposta em vez de repetir o efeito.
Corpo da requisição
application/json
Definições TypeScript
Use o tipo request body no TypeScript.
O corpo de POST /campaigns/{campaign_id}/contacts.
Corpo da resposta
application/json
application/json
curl -X POST "https://example.com/campaigns/string/contacts" \ -H "Idempotency-Key: b3f0c1e2-4a5b-4c6d-8e9f-0a1b2c3d4e5f" \ -H "Content-Type: application/json" \ -d '{ "contacts": [ { "to": "string" } ] }'{ "imported": 0, "refused": [ { "reason": "string", "row": 0, "to": "string" } ], "total_contacts": 0}