Integración para la emisión de DTE
Gestión de Códigos de Autorización de Folios (CAF)
Los Códigos de Autorización de Folios (CAF) son archivos XML autorizados por el SII que contienen el rango de folios permitidos para emitir documentos tributarios electrónicos. API Gateway permite automatizar completamente la gestión de estos códigos, desde la solicitud hasta la consulta de estado.
Importante: La primera solicitud de CAF para cada tipo de documento debe realizarse manualmente en el portal del SII. Las solicitudes posteriores pueden automatizarse usando esta API.
¿Qué es un CAF?
Un CAF es un archivo XML que contiene:
- Rango de folios autorizados: Números de folio inicial y final
- Tipo de documento: El tipo de DTE al que aplica (33, 39, 61, etc.)
- Fecha de autorización: Cuándo fue emitido por el SII
- Firma digital del SII: Que valida su autenticidad
Ejemplo de estructura CAF
<AUTORIZACION>
<CAF version="1.0">
<DA>
<RE>76192083-9</RE>
<RS>MI EMPRESA SPA</RS>
<TD>33</TD>
<RNG>
<D>1000</D>
<H>1999</H>
</RNG>
<FA>2024-03-15</FA>
</DA>
<FRMA>...</FRMA>
</CAF>
</AUTORIZACION>
1. Solicitar un Nuevo CAF
Permite solicitar automáticamente un nuevo rango de folios al SII.
Endpoint
[POST] https://legacy.apigateway.cl/api/v1/sii/dte/caf/solicitar/{emisor}/{dte}/{cantidad}
Parámetros de Ruta
Parámetro | Tipo | Descripción | Ejemplo |
---|---|---|---|
emisor |
string | RUT del emisor | 76192083-9 |
dte |
string | Tipo de documento | 33 |
cantidad |
string | Cantidad de folios | 100 |
Parámetros de Query
Parámetro | Tipo | Default | Descripción |
---|---|---|---|
certificacion |
string | 0 |
0 : Producción1 : Certificación |
Ejemplo de Request
{
"auth": {
"cert": {
"cert-data": "MIIGZjCCBE6gAwIBAgIIf...",
"pkey-data": "MIIEvQIBADANBgkqhkiG..."
}
}
}
Ejemplo de Uso
curl -X POST https://legacy.apigateway.cl/api/v1/sii/dte/caf/solicitar/76192083-9/33/100?certificacion=0 \
-H "Content-Type: application/json" \
-d '{
"auth": {
"cert": {
"cert-data": "...",
"pkey-data": "..."
}
}
}'
Respuesta Exitosa
<?xml version="1.0" encoding="ISO-8859-1"?>
<AUTORIZACION>
<CAF version="1.0">
<DA>
<RE>76192083-9</RE>
<RS>MI EMPRESA SPA</RS>
<TD>33</TD>
<RNG>
<D>2000</D>
<H>2099</H>
</RNG>
<FA>2024-03-15</FA>
<RSAPK>...</RSAPK>
<IDK>100</IDK>
</DA>
<FRMA algoritmo="SHA1withRSA">...</FRMA>
</CAF>
<RSASK>...</RSASK>
<RSAPUBK>...</RSAPUBK>
</AUTORIZACION>
2. Descargar XML de CAF Existente
Permite descargar nuevamente un CAF ya autorizado por el SII.
Endpoint
[POST] https://legacy.apigateway.cl/api/v1/sii/dte/caf/xml/{emisor}/{dte}/{folio_inicial}/{folio_final}/{fecha_autorizacion}
Parámetros de Ruta
Parámetro | Tipo | Descripción | Ejemplo |
---|---|---|---|
emisor |
string | RUT del emisor | 76192083-9 |
dte |
string | Tipo de documento | 33 |
folio_inicial |
string | Primer folio del rango | 669 |
folio_final |
string | Último folio del rango | 678 |
fecha_autorizacion |
string | Fecha de autorización | 2024-03-15 |
Ejemplo de Request
{
"auth": {
"cert": {
"cert-data": "...",
"pkey-data": "..."
}
}
}
Caso de Uso
Este endpoint es útil cuando:
- Se perdió el archivo CAF original
- Se necesita recuperar un CAF histórico
- Se requiere validar información de un CAF
3. Consultar Estado de un Folio
Verifica el estado actual de un folio específico en el SII.
Limitación Este servicio NO funciona con folios de boletas (tipos 39 o 41). Solo es compatible con otros tipos de DTE.
Endpoint
[POST] https://legacy.apigateway.cl/api/v1/sii/dte/caf/estado/{emisor}/{dte}/{folio}
Parámetros de Ruta
Parámetro | Tipo | Descripción | Ejemplo |
---|---|---|---|
emisor |
string | RUT del emisor | 76192083-9 |
dte |
string | Tipo de documento | 33 |
folio |
string | Número de folio | 77 |
Parámetros de Query
Parámetro | Tipo | Default | Descripción |
---|---|---|---|
certificacion |
string | 0 |
0 : Producción1 : Certificación |
formato |
string | json |
json : Respuesta en JSONhtml : Respuesta en HTML |
Respuesta en JSON
{
"estado": "recibido",
"estado_glosa": "Documento recibido por el SII",
"track_id": "1234"
}
Estados Posibles
Estado | Descripción |
---|---|
recibido |
Documento recibido correctamente por el SII |
anulado |
Folio anulado |
pendiente |
Folio asignado pero no utilizado |
rechazado |
Documento rechazado por el SII |
4. Anular Folios
Permite anular un rango de folios no utilizados.
Endpoint
[POST] https://legacy.apigateway.cl/api/v1/sii/dte/caf/anular/{emisor}/{dte}/{folio_inicial}/{folio_final}
Parámetros de Ruta
Parámetro | Tipo | Descripción | Ejemplo |
---|---|---|---|
emisor |
string | RUT del emisor | 76192083-9 |
dte |
string | Tipo de documento | 33 |
folio_inicial |
string | Primer folio a anular | 707 |
folio_final |
string | Último folio a anular | 710 |
Consideraciones Importantes
- Solo se pueden anular folios no utilizados
- La anulación es irreversible
- Se puede anular un folio individual o un rango
Ejemplo: Anular un Solo Folio
# Para anular solo el folio 707
POST .../anular/76192083-9/33/707/707
Ejemplo: Anular un Rango
# Para anular del folio 707 al 720
POST .../anular/76192083-9/33/707/720
5. Listar Folios Solicitados
Obtiene el historial de todas las solicitudes de CAF realizadas.
Endpoint
[POST] https://legacy.apigateway.cl/api/v1/sii/dte/caf/solicitudes/{emisor}/{dte}
Parámetros de Query
Parámetro | Tipo | Default | Descripción |
---|---|---|---|
certificacion |
string | 0 |
0 : Producción1 : Certificación |
formato |
string | json |
json o html |
pagina |
string | 0 |
0 : Todas las solicitudes>0 : Página específica |
Respuesta
[
{
"cantidad": 601,
"fecha": "2024-03-01",
"inicial": 5618,
"final": 6218,
"mandatario": ""
},
{
"cantidad": 100,
"fecha": "2024-02-15",
"inicial": 5518,
"final": 5617,
"mandatario": ""
}
]
6. Listar Folios por Estado
Consulta folios dentro de un rango específico según su estado.
Endpoint
[POST] https://legacy.apigateway.cl/api/v1/sii/dte/caf/estados/{emisor}/{dte}/{folio_inicial}/{folio_final}/{estado}
Parámetros de Ruta
Parámetro | Tipo | Descripción | Ejemplo |
---|---|---|---|
emisor |
string | RUT del emisor | 76192083-9 |
dte |
string | Tipo de documento | 52 |
folio_inicial |
string | Folio inicial a consultar | 1 |
folio_final |
string | Folio final a consultar | 104 |
estado |
string | Estado a filtrar | recibidos |
Estados Disponibles
recibidos
: Documentos recibidos por el SIIanulados
: Folios anuladospendientes
: Folios asignados pero no utilizados
Respuesta
[
{
"cantidad": "9",
"inicial": "1",
"final": "9"
},
{
"cantidad": "31",
"inicial": "13",
"final": "43"
}
]