SIIRCV

Paso 3: Obtener detalle de descarga asincrona de compras

Obtener el detalle de una descarga asincrona de compras.

POST /api/v1/sii/rcv/compras/async/detalle/{receptor}/{periodo}/{solicitud_id}/{dte}/{estado}
import requests
 
headers = {
    "X-API-Token": "sk_live_replace_with_your_token",
}
 
response = requests.post(
    "https://api.fiscalbridge.cl/api/v1/sii/rcv/compras/async/detalle/76192083-9/202601/371028377/33/REGISTRO",
    headers=headers,
)
response.raise_for_status()
print(response.json())

Obtener el detalle de una descarga asincrona de compras.

Cuando el control termino, retorna el detalle como array JSON (default) o como CSV (?formato=csv). Si todavia no termino, retorna el shape de estado con terminada=null para que el cliente reintente.

Autenticacion requerida: API token con scope sii:read + credenciales SII PassAuth.

Quota: Consume 1 consulta | Peso: 3x (paso 1 al SII + paso 2 cuando hay archivo).


Parametros de ruta

ParametroTipoDescripcion
receptorstringRUT del receptor (validado modulo 11)
periodostringAAAAMM
solicitud_idstringid retornado por async/solicitar
dtestringCodigo tipo DTE
estadostringEstado del documento

Parametros de consulta

ParametroDefaultDescripcion
ambiente00 produccion, 1 certificacion
formatojsonjson parsea CSV; csv retorna passthrough text/csv

Respuesta — control TERMINADO + formato=json (200, application/json)

{
    "data": [
        {
            "dte": 33,
            "tipo_transaccion": "Del Giro",
            "rut": "12345-0",
            "razon_social": "RAZON SOCIAL",
            "folio": "10518",
            "fecha": "2025-09-01",
            "fecha_recepcion": "2025-09-01 10:52:28",
            "fecha_acuse": "2025-09-01 13:39:33",
            "exento": "0",
            "neto": "25966",
            "iva": "4934",
            "total": "30900",
            "impuesto_adicional": []
        }
    ]
}

Respuesta — control TERMINADO + formato=csv (200, text/csv)

Content-Type: text/csv con Content-Disposition: inline; filename="RCV_COMPRA_<estado>_<rut>_<periodo>_<dte>.csv".

Respuesta — control aun no terminado (200, application/json)

Mismo shape que /compras/async/estado/... con data.terminada == null:

{
    "data": {
        "id": 371028377,
        "uuid": "SIN-BLOB",
        "dte": 33,
        "estado": "REGISTRO",
        "creada": "2026-04-01 10:15:30",
        "terminada": null,
        "seccion": "COMPRA",
        "registros": 0
    }
}

Errores especificos

Codigoerror_codeCausaResolucion
400FORMATO_NO_SOPORTADOformato distinto de json o csvUsar json o csv
400AUTH_ERRORCredenciales SII incorrectasRevisar RUT/clave
401HTTP_401API token ausente o invalidoEnviar X-API-Token valido
400VALIDATION_ERRORRUT del path con DV invalido (modulo 11)Usar un RUT chileno valido
429SII_RATE_LIMIT / QUOTA_EXCEEDEDRate limitRespetar Retry-After
502SII_GATEWAY_ERRORSII retorno errorReintentar
503SII_UNAVAILABLESII en mantenimientoReintentar en 5 min

Parámetros

Header / Body
Tipo
Descripción
Requerido
dte
string · path
Codigo tipo DTE
estado
string · path
Estado del documento
periodo
string · path
Periodo `AAAAMM`
receptor
string · path
RUT del receptor
solicitud_id
string · path
`id` retornado por `compras/async/solicitar`
ambiente
string · query
`0` produccion, `1` certificacion
No
formato
any · query
`json` (default, parsea CSV) o `csv` (passthrough text/csv)
No

Cuerpo de la solicitud

Requerido. Content-Type: application/json.

{
  "auth": {
    "pass": {
      "clave": "string",
      "rut": "string"
    }
  }
}

Respuestas

200Cuando el control esta TERMINADO retorna `data: list[item]` con el detalle parseado a JSON (default `formato=json`) o `text/csv` passthrough si `formato=csv`. Cuando aun no termina, retorna `{data: control}` con `terminada=null` (cliente reintenta).
400`AUTH_ERROR` credenciales SII incorrectas o `formato` no soportado
401API token ausente o invalido
403Sin scope `sii:read` o cuenta bloqueada
422Body con formato invalido
429Limite de tasa excedido
502Error en servicio SII upstream
503SII en mantenimiento