Formato de errores
Todo error de la API usa el estado HTTP real y el mismo formato de cuerpo, para que su sistema trate las fallas de una sola manera.
JSON
{
"ok": false,
"erro": {
"codigo": "signatario_invalido",
"mensagem": "Há um signatário com dados inválidos.",
"campo": "signatarios.0.email"
}
}| Campo | Descripción |
|---|---|
codigo |
Estable. Úselo en la lógica de su sistema |
mensagem |
Viene en el idioma de la cuenta (portugués, inglés o español) y puede mostrarse al usuario; el texto puede cambiar con el tiempo |
campo |
Aparece cuando el error se refiere a un parámetro. En los firmantes, indica la posición en la lista (a partir de 0) y el campo, como signatarios.1.email. En las variables de plantilla, variaveis.<chave> |
Consejo nunca compare el texto de
mensagemen su código. Comparecodigo, que no cambia.
Códigos por estado HTTP#
| HTTP | Cuándo | Códigos |
|---|---|---|
| 400 | Parámetro ausente o inválido | parametro_obrigatorio, parametro_invalido, data_invalida, json_invalido, titulo_obrigatorio, valor_invalido, prazo_invalido, signatarios_obrigatorio, signatario_invalido, signatario_email_obrigatorio, cpf_cnpj_invalido, papel_invalido, canal_indisponivel (en el registro del firmante), nivel_indisponivel, documento_invalido, documento_protegido (PDF con contraseña), modelo_variavel_faltando, motivo_obrigatorio, webhook_url_invalida, webhook_eventos_invalidos |
| 401 | Sin clave, clave inválida, revocada o desactivada | nao_autenticado, chave_invalida |
| 402 | Se alcanzó el límite de sobres del plan en el mes | plano_limite |
| 403 | Cuenta bloqueada o cancelada, prueba vencida, sin plan, alcance insuficiente | conta_inativa, conta_teste_vencido, plano_invalido, escopo_insuficiente |
| 404 | Ruta o recurso inexistente (o de otra cuenta) | rota_inexistente, envelope_nao_encontrado, signatario_nao_encontrado, modelo_nao_encontrado, webhook_nao_encontrado |
| 405 | Método no aceptado por la acción (el encabezado Allow indica cuál vale) |
metodo_nao_permitido |
| 409 | El estado actual no permite la acción | situacao_invalida, envelope_encerrado, envelope_vencido, signatario_fora_da_vez, documento_pendente, arquivo_indisponivel, canal_indisponivel (otp_gerar para un firmante de otro canal), webhook_limite |
| 413 | Documento de más de 20 MB | documento_grande |
| 429 | Cuota por minuto o límite de códigos por hora | cota_excedida, otp_reenvio_limite |
| 500 | Falla inesperada de Ravisign | erro_interno |
| 501 | Acción todavía no disponible | nao_implementado |
| 503 | Indisponibilidad temporal de un servicio de Ravisign; repita en algunos minutos | pdf_indisponivel, pdf_concatenacao_indisponivel, assinatura_indisponivel, carimbo_nao_configurado, otp_envio_falhou |
Cuándo repetir una solicitud#
| Situación | Qué hacer |
|---|---|
429 cota_excedida |
Espere los segundos del encabezado Retry-After y repita |
429 otp_reenvio_limite |
El límite de 4 códigos por hora se libera a lo largo de la hora siguiente. Use el código ya generado, que devuelve signatarios/otp_pendente |
| 500 y 503 | Repita más tarde, con una espera creciente entre los intentos (por ejemplo 1, 5 y 15 minutos) |
| Falla de red sin respuesta | Antes de crearlo de nuevo, busque el sobre por referencia_externa en envelopes/listar para no crear un duplicado |
| Demás 4xx | No se resuelven repitiendo: corrija el parámetro o el estado indicado |
Ejemplo de tratamiento#
PHP
<?php
$resposta = json_decode($corpo, true);
if (($resposta['ok'] ?? false) !== true) {
$erro = $resposta['erro'] ?? [];
switch ($erro['codigo'] ?? '') {
case 'plano_limite':
// avisar o administrador: o limite de envelopes do mês acabou
break;
case 'cota_excedida':
// reagendar depois do Retry-After
break;
default:
// registrar codigo, campo e mensagem para análise
}
}
¿No encontró lo que buscaba?
contato@ravisystems.com.br
Escriba al soporte de Ravi Systems al correo de abajo.