POST /api/v2/ticket/custom cria o ticket e devolve o id (no topo da resposta, sem envelope).id em ticket_id, junto do identificador da chamada e da URL da gravação.| Ponto | Regra |
|---|---|
| Validade da URL | Precisa continuar acessível por ~20 minutos. A primeira tentativa ocorre ~15s após o 202, e em caso de falha há mais 19 tentativas de minuto em minuto |
| Query string | Suportada, desde que a extensão venha antes da ?. .../call.mp3?sig=abc funciona; .../download?file=call não |
| Reenvio | Seguro com o mesmo call_id: não gera áudio duplicado. Enquanto o download está pendente, o reenvio devolve 202 mas não troca a URL do job em curso; depois de falha definitiva, reprocessa com a URL nova |
| Identidade da chamada | O call_id é a identidade da ligação no tenant. Reaproveitar um call_id já usado em outro ticket devolve 422 — proteção contra anexar áudio no atendimento errado |
| Ligação sem gravação | recording_url é obrigatória. Para registrar ligação sem áudio, use uma nota no ticket (POST /api/v2/ticket/message com is_note: true) |
| Rede interna | URLs apontando para endereço privado, loopback ou link-local são recusadas |
| Tamanho | Teto de 100 MB (~1h45 de wav 8 kHz mono). Acima disso o download é abortado e o áudio não entra no ticket — o 202 já terá sido devolvido |