API de Enrolamiento
CAF

Consultar los rangos de folios anulados para el tipo de documento.

POST
/v1/caf/{rut}/anulados/{tipoDocumento}

Consultar los rangos de folios anulados para el tipo de documento.

Autorización

basic
headerAuthorizationBasic <token>

Parámetros de ruta

rut*string

RUT de la empresa.

tipoDocumento*integer

Tipo del documento DTE.

Formatoint32

Parámetros de query

ambiente?integer

Ambiente del SII: 0 = Homologación (certificación), 1 = Producción. Si se omite, opera en producción: páselo siempre explícito. Un valor que no se reconoce no da error: la operación corre en producción. Un número distinto de 0 y 1 no da error y corre en homologación.

Formatoint32
Por defecto1
Valor en01

Cuerpo del request

Datos del certificado.

application/json
  1. body

Datos del certificado digital.

Contrasenna*string

Contraseña del PFX, en claro o cifrada con la clave de cifrado del perfil del cliente. Dato sensible: no se registra en logs del integrador.

Data*string

PFX del certificado, en base64. Dato sensible: no se registra en logs del integrador.

Formatobyte

Cuerpo de la respuesta

Antes que nada, el parámetro ambiente: si no se envía, se consulta el SII de producción y el certificado se valida también contra producción. Un certificado habilitado solo en el ambiente de certificación del SII queda rechazado ahí, y el error que vuelve habla del certificado y no de los folios anulados: antes de revisar el PFX, la contraseña o los permisos, verifique que envió ambiente=0.

Estado 200: Rut, TipoDocumento, Estado y Rangos, con una entrada en Rangos por cada fila de la tabla del SII y en el mismo orden en que el SII las envía. Cada rango trae FolioInicial, FolioFinal y Cantidad, donde Cantidad = FolioFinal - FolioInicial + 1, con los dos extremos incluidos. Rangos nunca viene nula: es una lista vacía cuando la empresa no registra folios anulados. Para el RUT 1-9 y para los RUT de integración del perfil del cliente no se consulta al SII y la respuesta es siempre Estado "OK" con Rangos vacía, lo mismo que devuelve una empresa real sin folios anulados. Un 200 no significa éxito. Los rechazos conocidos del SII también vuelven con HTTP 200, con el código en Estado y Rangos vacía; los valores posibles de Estado son "OK", "CODE_ERROR_CERTIFICATE_PERM" (el titular del certificado no tiene permisos para ver los documentos emitidos) y "CODE_ERROR_ENTERPRISE_IS_MYPYME" (la empresa usa el sistema de facturación del SII y no es posible ver sus folios anulados). Hay que mirar Estado, no solo el código HTTP.

Estado 500: el cuerpo trae el código y el mensaje separados por dos puntos. Si no viene el cuerpo del POST, o viene sin Data o sin Contrasenna: "CERT_REQUERIDO:Los datos del certificado son requeridos.". Si el certificado no se puede validar, se propaga el error de la validación tal cual, con su propio código. Para cualquier otra falla consultando el SII: "UKN:Error consultado folios anulados en el SII." seguido del detalle del error.

application/json
  1. response

Resultado de la consulta de rangos de folios anulados. El nombre del esquema conserva la grafía histórica («Restultado»), igual que RestultadoConsultaFolios y AnulacionMasivaRestultadoAnular.

Estado?|

Posibles estados: OK; CODE_ERROR_ENTERPRISE_IS_MYPYME (la empresa usa el sistema de facturación del SII y no es posible ver sus folios anulados); CODE_ERROR_CERTIFICATE_PERM (el titular del certificado no tiene permisos para ver los documentos emitidos). Una falla no controlada no llega en este campo: sale como HTTP 500 con el código UKN. La respuesta viaja con HTTP 200 aunque este campo traiga un CODE_ERROR_*, igual que en la consulta de uso de folios: un 200 no significa éxito; revise Estado.

Rangos?array<>|

Rangos de folios anulados, uno por fila de la tabla del SII y en el orden en que el SII los envía. Lista vacía cuando la empresa no registra folios anulados para el documento, y también cuando Estado trae un error. Nunca viene nula.

Rut?|

RUT de la empresa consultada, normalizado con guion y digito verificador.

TipoDocumento?integer

Tipo del documento DTE consultado.

Formatoint32
curl --request POST \  --url 'https://api.enrolamiento.cl/v1/caf/1-9/anulados/1?ambiente=0' \  --header 'Accept: application/json' \  --header 'Authorization: Basic <base64 de usuario:apikey>' \  --header 'Content-Type: application/json' \  --data '{  "Contrasenna": "********",  "Data": "MIIC"}'
{  "Estado": "OK",  "Rangos": [    {      "Cantidad": 10,      "FolioFinal": 110,      "FolioInicial": 101    }  ],  "Rut": "11111111-1",  "TipoDocumento": 33}

Reintentos e idempotencia

Idempotente: sí. Repetirla con los mismos datos no duplica nada.

Qué hacerCódigos y status
Reintentar solo, con espera (automatico)409, SII_ERROR_CXN
Consultar el estado antes de repetir (manual)CERT_ERROR, ERROR_GENERAL
No repetir: corregir la causa (nunca)CERT_REQUERIDO

Un código que no figura en esta tabla se resuelve con la regla de respaldo.