Nominar una factura innominada
Cómo identificar al receptor de una factura aprobada y recuperar un resultado incierto sin duplicar la nominación.
La nominación identifica al cliente de una FE que originalmente se emitió como innominada. Es un evento sobre la factura existente: conserva el CDC, XML firmado y KuDE originales.
1. Verificá la factura
Usá una API key del mismo contribuyente y ambiente de emisión. La nominación está disponible en DEV y PROD; SANDBOX responde 422.
Consultá el estado y continuá sólo si la FE está APROBADO o APROBADO_OBSERVACION. El receptor original debe ser no contribuyente, INNOMINADO, con número "0". Una factura ya identificada no es elegible.
2. Prepará el receptor y guardá la intención
Guardá el CDC, cuerpo de la solicitud y una Idempotency-Key antes de enviar. Reutilizá estos datos si perdés la respuesta.
Para identificar a un consumidor con cédula, guardá este contenido en nominacion.json, reemplazando los datos por los del cliente:
{
"motivo": "Identificación del cliente a su solicitud",
"receptor": {
"naturaleza": "NO_CONTRIBUYENTE",
"tipoOperacion": "B2C",
"pais": "PRY",
"tipoDocumento": "CEDULA_PARAGUAYA",
"numeroDocumento": "1234567",
"nombreRazonSocial": "Juan Pérez"
}
}Para B2B, usá naturaleza: "CONTRIBUYENTE", tipoOperacion: "B2B", pais: "PRY", tipoContribuyente, ruc y digitoVerificador; omití tipoDocumento y numeroDocumento. También se admite B2F, con domicilio extranjero. La referencia de nominación detalla todos los campos y reglas; el objeto de receptor de emisión no sirve sin adaptar sus nombres.
3. Enviá la nominación
Definí SIFENDE_API_KEY, CDC e IDEMPOTENCY_KEY con la clave de acceso, el CDC de la factura y la clave de intención que guardaste:
curl --include -X POST \
"https://api.sifende.com.py/api/v1/documento-electronico/$CDC/nominar" \
--header "Authorization: Bearer $SIFENDE_API_KEY" \
--header "Idempotency-Key: $IDEMPOTENCY_KEY" \
--header 'Content-Type: application/json' \
--data-binary @nominacion.json4. Interpretá el resultado
| Respuesta | Acción |
|---|---|
200, estadoEvento: APROBADO | Guardá el evento y protocolo. La nominación quedó confirmada |
200, estadoEvento: RECHAZADO | Revisá codigoRespuesta y mensajeRespuesta; el HTTP por sí solo no confirma la nominación |
503 evento-nominacion-error | Esperá Retry-After: 2 y repetí exactamente la misma solicitud y clave |
400 | Corregí los campos o condiciones que indique el error; verificá si ya existe un evento antes de crear otra intención |
409 evento-nominacion-error | Revisá la nominación existente en el panel; no intentes sustituir una aprobada con otra solicitud |
Un resultado incierto conserva el evento ENVIADO y requiere un reintento: no hay recuperación en segundo plano. El reintento consulta la confirmación antes de reenviar. Si enviaste una clave, los demás errores y plazos de replay siguen las reglas de idempotencia.
La nominación no consume numeración ni cupo de emisión. Sólo el evento aprobado aporta el receptor efectivo al preparar NCE/NDE desde el panel; el KuDE original conserva sus datos.