Moraviq Voice para desenvolvedoresAPI v2

Erros e limites

Todo erro do /v2 tem a mesma forma, com o request_id que também vem no cabeçalho X-Request-Id. Mande o request_id quando abrir um chamado de suporte.

HTTP/1.1 409 Conflict
X-Request-Id: req_9a32c15b6cf043c19974ea42e572cfaf

{"error": "taken_elsewhere", "request_id": "req_9a32c15b6cf043c19974ea42e572cfaf"}

Códigos

HTTPerrorO que fazer
400bad_requestJSON inválido ou Idempotency-Key ausente (detail: idempotency_key)
401unauthorizedsem detalhe, de propósito: confira iss, aud, kid, relógio, jti repetido, vida do token. O SDK pede token novo e repete uma vez
403forbidden, scope_missingcredencial certa na rota errada, ou falta o escopo
403not_allowedo seu authorize_url negou (modo callback); detail: unavailable se ele não respondeu em 3 s
403partner_disabledconta suspensa: fale com o suporte
404call_not_found, site_not_found, device_not_foundnão existe, ou não é seu: a resposta é a mesma de propósito
409taken_elsewhereoutro aparelho atendeu primeiro: pare de tocar
409attendant_busyem group, quem tentou atender já está em outra chamada
409call_not_ringingcancelar ou atender depois do toque
409idempotency_in_progresso primeiro pedido com esta chave ainda está em curso: tente de novo em 1 s
422validation_failedcampo inválido ou desconhecido; detail diz qual
422idempotency_conflictmesma chave com corpo diferente: chave nova
422ring_timeout_out_of_range, metadata_too_large15 a 60 s e até o do site; até 16 chaves e 1 KB
426client_too_oldo SDK está abaixo da versão mínima que o seu app exige (console, Apps e push); detail traz a versão mínima. Atualize o SDK. Os SDKs mandam X-Voice-Client e param de reconectar com este código
429rate_limitedespere o Retry-After (segundos); detail: station_quota é a cota do posto
503unavailabletente de novo com espera crescente

Erros no SDK

Os SDKs emitem o evento error com um código fechado, igual nos seis: mic_denied, token_failed, not_allowed, taken_elsewhere, attendant_busy, push_unavailable, client_too_old. A promessa que falhou traz o código do REST em VoiceError.code, com status, requestId e retryAfter.

Limites

LimitePadrãoOnde
Requisições20 por segundo, rajada de 50, por contacabeçalhos RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset em toda resposta autenticada
Chamadas simultâneasmax_concurrent do site (1 a 500) e 50 por contafailed/site_limit ou partner_limit
Chamadas por posto30 em 10 minutos429 rate_limited, station_quota
Toque30 s (15 a 60 por site)missed/no_answer
Duração1 hmax_duration
Sockets3 por aparelho, 20 mensagens por segundo, frame até 64 KB4429, error rate_limited, 4413
Destinatários20 callees por chamada422 validation_failed
Sandboxlimite diário de chamadas (estimativa: 200) e dados apagados em 30 diassó no sandbox hospedado