SIIRCV

Paso 3: Obtener detalle de descarga asincrona de ventas

Obtener el detalle de una descarga asincrona de ventas.

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

Obtener el detalle de una descarga asincrona de ventas.

Mismo flujo que el detalle de compras pero el path usa {emisor} (no {receptor}). Retorna el detalle como array JSON (default) o CSV (?formato=csv). Si el control no termino, devuelve el shape de estado con terminada=null.

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
emisorstringRUT del emisor (validado modulo 11)
periodostringAAAAMM
solicitud_idstringid retornado por async/solicitar
dtestringCodigo tipo DTE (use 3941 para boletas afectas/exentas)

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": "1234-0",
            "razon_social": "RAZON SOCIAL",
            "folio": "12414",
            "fecha": "2025-09-01",
            "fecha_vencimiento": null,
            "fecha_recepcion": "2025-09-01 08:01:43",
            "fecha_acuse": null,
            "fecha_reclamo": null,
            "exento": "0",
            "neto": "40000",
            "iva": "7600",
            "total": "47600",
            "impuesto_adicional": []
        }
    ]
}

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

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

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

{
    "data": {
        "id": 371028377,
        "uuid": "SIN-BLOB",
        "dte": 33,
        "estado": "REGISTRO",
        "creada": "2026-04-01 10:15:30",
        "terminada": null,
        "seccion": "VENTA",
        "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
emisor
string · path
RUT del emisor de las ventas
periodo
string · path
Periodo `AAAAMM`
solicitud_id
string · path
`id` retornado por `ventas/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