Consultar si un certificado se puede renovar y cuánto cuesta
GET/certificate-request/:id/issuance/renewal
Indica si el certificado de la solicitud se puede renovar hoy (1 año más, sin reemitirlo), por qué no, sus fechas de vencimiento comercial y de revocación, el precio y la orden de renovación pendiente. Solo son renovables los certificados Viafirma emitidos, en PROCESSED, de 1 año (life menor a 2) y hasta revocation_date (vencimiento comercial + viafirma.revocation.grace_days, 15 días por defecto); se puede renovar desde la emisión, sin esperar al vencimiento. Si no es renovable, reason trae el código estable (ver CertificateRenewalEligibility) y quote y pending_order son null. Precio (quote): tarifa actual de 1 año (IVA incluido) para el tipo de usuario de quien consulta (users.type_id); si consulta un administrador (type_id 1), la del primer usuario no administrador de la empresa dueña de la solicitud (business_users) y, si la empresa no tiene ninguno, la del propio administrador (tipo 1). Para la mayoría de tipos se usa el tramo de 1 certificado; para los tipos 3 (Arrendamiento en Servidor) y 4 (Partner) el tramo se elige por volumen: solicitudes de la empresa en PROCESSED o PROCESSING (también las que siguen en emisión) creadas en el año actual o el anterior y aún vigentes (las de 1 año, sin fecha de vencimiento o con vencimiento futuro; las de 2 años, sin fecha de vencimiento o con más de un año de vigencia restante), más 1. El propio certificado consultado suele contar mientras no haya vencido (en el periodo de gracia ya no cuenta), por lo que el precio puede ser el de un tramo de mayor volumen. Orden pendiente (pending_order): la orden CERTIFICATE_RENEWAL en PENDING más reciente de la solicitud; si existe, se paga esa (con los endpoints de Órdenes) en lugar de crear otra. Este endpoint solo consulta: no crea ni modifica órdenes.
Request
Responses
- 200
- 401
- 404
- 429
- 500
Estado de renovación en dataRecords.data. Se responde 200 también cuando no es renovable (eligible=false).
No autenticado (token ausente, inválido o expirado).
La solicitud no existe o pertenece a otra empresa (el administrador accede a todas). Mensaje: La solicitud de certificado {id} no existe. (provider=null).
Límite general de 60 peticiones por minuto excedido.
Error interno. Hay dos formas de cuerpo: (a) error de la aplicación al evaluar la renovación o calcular el precio, p. ej. no hay un rango de precios configurado para el tipo de usuario: {success:false, message} con message 'Error interno del servidor. No se encontró un rango de precios configurado para la cantidad {n}.' (un fallo de base de datos se reemplaza por un texto genérico sin SQL ni datos); (b) error no controlado, p. ej. cuando {id} no es un número entero (como el UUID de la solicitud que usan los endpoints de descarga) o falla la base de datos al buscar la solicitud: lo responde el manejador de errores general con {"message": "Server Error"}, sin success, en producción; si la petición no envía Accept: application/json, la respuesta puede ser una página HTML.