Descargar XML
GET /api/v1/documento-electronico/:cdc/xml — descargá el XML firmado del documento, con el código QR, tal como se envió a SIFEN.
El XML firmado es el documento legal; el KuDE es su representación gráfica. Guardalo junto al KuDE cuando el documento esté aprobado.
GET /api/v1/documento-electronico/:cdc/xml
Retorna el XML firmado del documento, con el código QR, tal como se envió a SIFEN.
curl "https://api.sifende.com.py/api/v1/documento-electronico/$CDC/xml" \
-H "Authorization: Bearer $SIFENDE_API_KEY" \
-o "$CDC.xml"Autenticación
Authorization: Bearer {api-key} — requerido. El documento tiene que pertenecer al contribuyente y al ambiente de la clave.
Path parameters
| Parámetro | Tipo | Descripción |
|---|---|---|
cdc | string | CDC del documento, 44 dígitos |
Respuestas
200 OK
Content-Type: application/xml
El body es el XML firmado. Conserva Content-Disposition: attachment; filename="{cdc}.xml".
El XML está disponible desde que el documento se registra, pero sólo es el comprobante válido cuando SIFEN lo aprueba. Consultá el estado y guardá el XML cuando sea APROBADO o APROBADO_OBSERVACION. En SANDBOX, el XML no tiene validez fiscal.
Errores
| Status | Tipo | Descripción |
|---|---|---|
| 401 | — | API key ausente o inválida |
| 403 | document-archived | El período de acceso del plan actual finalizó |
| 403 | plan-operation-not-allowed | El plan de la clave no incluye la API de integración |
| 404 | documento-electronico-not-found | Documento no encontrado o no accesible para esta clave |
| 409 | documento-xml-not-available | El documento existe pero todavía no tiene XML firmado |
| 500 | internal-error | Error al procesar la solicitud |
Un CDC de otro contribuyente o de otro ambiente responde 404, igual que uno inexistente.
Un documento archivado responde el Problem Detail document-archived y no entrega el XML.
Ejemplo
async function descargarXml(cdc: string): Promise<string> {
const res = await fetch(
`https://api.sifende.com.py/api/v1/documento-electronico/${cdc}/xml`,
{ headers: { Authorization: `Bearer ${process.env.SIFENDE_API_KEY}` } },
);
if (res.status === 200) return res.text();
const problem = await res.json();
throw new Error(`No se pudo descargar el XML (${problem.status}): ${problem.type}`);
}Descargar KuDE
GET /api/v1/documento-electronico/:cdc/kude — descargá el KuDE (comprobante) en PDF o seguí la preparación asincrónica cuando todavía no está disponible.
Cancelar Documento
POST /api/v1/documento-electronico/:cdc/cancelar — enviá el evento de cancelación a SIFEN para un documento aprobado.