Criar um canal
Cria um canal do tipo pedido. A configuração é validada pelo tipo, e uma chave que a plataforma não lê é recusada com o nome dela. A credencial é só de escrita e vale para o Chatwoot e o WhatsApp oficial; a conexão não oficial nasce pareando e recebe a sessão pelo QR. O agente precisa ser um agente de texto do mesmo cliente que atende conversas. A mesma identidade no mesmo cliente, ou um phone_number_id já usado na plataforma, responde 409.
Autorização
bearer channels: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: channels:write
Parâmetros de cabeçalho
Chave opcional de 1 a 255 caracteres ASCII visíveis; quando enviada, vale o mesmo contrato da §8.
Corpo da requisição
application/json
Definições TypeScript
Use o tipo request body no TypeScript.
O corpo de POST /channels, discriminado por type (09 §4.3, resposta
11): a configuração é a do tipo, estrita — uma chave que a plataforma não
lê é recusada com o nome dela.
Uma caixa de entrada do Chatwoot.
Corpo da resposta
application/json
application/json
curl -X POST "https://example.com/channels" \ -H "Idempotency-Key: b3f0c1e2-4a5b-4c6d-8e9f-0a1b2c3d4e5f" \ -H "Content-Type: application/json" \ -d '{ "config": { "account_id": 0, "base_url": "string" }, "name": "string", "type": "chatwoot" }'{ "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978", "campaign_eligibility": { "eligible": true, "reason": "string" }, "capabilities": { "delivery": "none", "initiation": "never", "owner": "external", "requires_pairing": true, "session_window_seconds": 0 }, "created_at": "2019-08-24T14:15:22Z", "enabled": true, "external_identity": "string", "has_credential": true, "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "is_serving": true, "last_status_at": "2019-08-24T14:15:22Z", "name": "string", "status": "disconnected", "status_detail": "string", "status_label": "string", "tenant_id": 0, "type_label": "string", "updated_at": "2019-08-24T14:15:22Z", "config": { "account_id": 0, "auto_respond": true, "base_url": "string", "transcribe_audio": true }, "type": "chatwoot"}