Archivos
Descarga de archivos
Descarga el XML original o el PDF del documento a partir de los enlaces devueltos por consultas y callbacks.
GET
/openapi/files/{kind}/{ref}No requiere cabeceras de firma.
Los enlaces de descarga en las respuestas de consulta y en las cargas de callback tienen el formato https://api.v2.tffiscal.com/openapi/files/{kind}/{ref}?token=…. Sin cabeceras de firma: el token viaja en el enlace y basta un GET simple. El token está vinculado a la ruta, al integrador y a la aplicación; cambiar la ruta o reutilizarlo en otro archivo lo invalida. Use el enlace exactamente como se devolvió.
Parámetros de ruta
kind* | string | Tipo de archivo |
ref* | string | Referencia del archivo |
* Campo obligatorio
Parámetros de consulta
token* | string | Token del enlace |
* Campo obligatorio
302
Redirige a una URL de almacenamiento de objetos válida durante 60 segundos. El cliente debe seguir redirecciones (
curl -L). La respuesta lleva Cache-Control: no-store; no almacene los enlaces en caché.Sin cuerpo de respuesta
- Validez: 7 días por defecto; la plataforma puede configurar de 1 a 365 días por integrador, y el ajuste solo afecta a los enlaces emitidos después. Cada consulta emite enlaces nuevos.
- PDF bajo demanda:
danfe,danfce,dacte,daceydanfsese renderizan en la primera descarga, así que el enlace ya es utilizable en cuanto el documento queda autorizado. Si el renderizado aún no terminó, la respuesta es 503 conRetry-After. - Los fallos son estados HTTP: 403 cuando la aplicación o el integrador está desactivado; el cuerpo es el sobre de la plataforma con
success=false. - Límite de tasa y facturación: las descargas cuentan en el límite de la aplicación y tienen su propio grupo
FILES; no se facturan.
kindTipo de archivo
| Valores | Significado |
|---|---|
| xml | XML original: documento autorizado o recibo de evento, por id de archivo |
| danfe | PDF de la DANFE de la NF-e, por la clave de 44 dígitos |
| danfce | PDF del cupón de la NFC-e en 80 mm, por la clave de 44 dígitos |
| dacce | PDF de la carta de corrección (DACCE), por id de archivo |
| dacte | PDF del DACTE del CT-e, por la clave de 44 dígitos |
| dace | PDF del DACE del DC-e, por la clave de 44 dígitos |
| danfse | PDF de la DANFSe de la NFS-e, por la clave de 50 dígitos o el identificador de la DPS |
| Código | HTTP | |
|---|---|---|
| 10009035 | 401 | Token inválido: la firma no coincide, el enlace fue alterado o reutilizado en otro archivo, o la aplicación que lo emitió ya no existe. |
| 10009035 | 404 | Enlace inexistente: kind desconocido, o el ref de un enlace xml no es un identificador de archivo. |
| 10009036 | 401 | Enlace expirado. Consulte el documento de nuevo para obtener un enlace nuevo. |
| 10009004 | 403 | Aplicación deshabilitada: todos los enlaces que emitió dejan de funcionar. |
| 10009015 | 403 | Aplicación aún no vigente (pendiente de aprobación o rechazada). |
| 10009014 | 403 | Integrador deshabilitado. |
| 10004001 | 404 | La NF-e del enlace no existe (DANFE). |
| 10017003 | 404 | El CT-e del enlace no existe (DACTE). |
| 10019003 | 404 | La DC-e del enlace no existe (DACE). |
| 10018003 | 404 | La NFS-e del enlace no existe (DANFSe). |
| 10022006 | 404 | La NFC-e del enlace no existe (cupón). |
| 10013011 | 404 | Archivo no encontrado (XML). |
| 10004010 | 409 | NF-e no autorizada: no hay DANFE. mensagem indica la situación actual. |
| 10017046 | 409 | La situación actual del CT-e no permite DACTE. |
| 10019046 | 409 | La situación actual de la DC-e no permite DACE. |
| 10018060 | 409 | La situación actual de la NFS-e no permite DANFSe. |
| 10022012 | 409 | La situación actual de la NFC-e no permite cupón: solo Autorizada, Cancelada y ContingenciaPendente lo tienen. |
| 10013013 | 409 | Archivo no disponible por ahora (archivado, en cuarentena o expirado). |
| 10009006 | 429 | Límite de llamadas de la aplicación excedido. Reintente tras Retry-After. |
| 10013016 | 429 | Demasiadas descargas desde una misma IP, para enlaces sin aplicación (los que llegan por webhook). Reintente tras Retry-After. |
| 10009037 | 503 | Documento aún generándose. Reintente el mismo enlace tras Retry-After (30 s). |
