DOM360
Ligações

Abrir uma sessão de estúdio

POST
/agents/{agent_id}/studio-sessions

Abre uma sala para ensaiar com o agente de voz pelo navegador, sem discar para ninguém. contact_phone é o número que o ensaio finge estar atendendo — o pré-hook do agente o usa para procurar a pessoa no CRM. A resposta traz o crachá da sala (token), e por isso não é guardada para retentativa: repetir com a mesma Idempotency-Key responde IDEMPOTENCY_REPLAY_UNAVAILABLE. Agente desligado responde 409; agente em produção de cliente bloqueado, 402 — um rascunho continua ensaiando. Agente de texto não tem estúdio de voz: 404.

Autorização

bearer calls:execute
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: calls:execute

Parâmetros de caminho

agent_id*string

Id do agente de voz

Parâmetros de cabeçalho

Idempotency-Key?|

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.

Pedido de uma sessão de estúdio: um ensaio de voz com o agente, no navegador.

Corpo da resposta

application/json

application/json

curl -X POST "https://example.com/agents/string/studio-sessions" \  -H "Idempotency-Key: b3f0c1e2-4a5b-4c6d-8e9f-0a1b2c3d4e5f" \  -H "Content-Type: application/json" \  -d '{}'
{  "livekit_url": "string",  "room_name": "string",  "token": "string",  "voice_mode": "string"}