Generar XML de RVD de Boletas (ex RCOF)
Generar XML del RCOF/RVD (Reporte Ventas Diarias) y opcionalmente enviarlo al SII.
/api/v1/vendemas/dte/rcof/generarv1 · ESTABLEGenerar XML del RCOF/RVD (Reporte Ventas Diarias) y opcionalmente enviarlo al SII.
Construye el XML del Reporte de Ventas Diarias firmado digitalmente.
El RVD se debe enviar al SII de lunes a domingo, todos los dias,
existan o no movimientos. Cada envio reemplaza al anterior siempre y
cuando tenga una secuencia siguiente a la ultima enviada. Si
enviar_sii == "1", ademas envia el XML al SII y retorna el
track_id.
Autenticacion requerida: API token en header X-API-Token con scope vendemas:write
- certificado digital del emisor en
auth.cert(PFX o PEM).
Quota: Consume 1 consulta | Peso: 5x (operacion critica si enviar_sii=1)
Parametros de consulta
| Parametro | Tipo | Default | Descripcion |
|---|---|---|---|
enviar_sii | string | 0 | 0 solo genera; 1 envia al SII y retorna track_id |
Body (JSON)
| Campo | Tipo | Requerido | Descripcion |
|---|---|---|---|
auth.cert.cert-data + auth.cert.pkey-data | string | Si* | Certificado + llave privada PEM en base64 |
auth.cert.pfx-data + auth.cert.passphrase | string | Si* | Alternativa: PKCS#12 (.pfx) en base64 |
emisor | string | Si | RUT del emisor |
resolucion.fecha | string | Si | Fecha resolucion SII AAAA-MM-DD |
resolucion.numero | int | Si | Numero resolucion SII (0 = certificacion) |
secuencia | int | Si | Numero de secuencia del dia |
documentos[] | array | Si | Lista de documentos del dia |
*Usar cert-data + pkey-data (PEM) o pfx-data (PKCS#12).
Estructura de cada documento
| Campo | Tipo | Descripcion |
|---|---|---|
TpoDoc | int | Tipo DTE (39, 41, etc.) |
NroDoc | int | Folio |
FchDoc | string | AAAA-MM-DD |
MntNeto / MntIVA / TasaImp / MntExe / MntTotal | int | Montos |
Anulado | bool (opcional) | True si folio anulado |
Respuesta exitosa (200)
Si el envio al SII falla, retorna track_id_error en vez de track_id.
Errores especificos
| Codigo | error_code | Causa | Resolucion |
|---|---|---|---|
| 400 | VALIDATION_ERROR | Datos invalidos (emisor/documentos faltantes) | Revisar body |
| 400 | AUTH_ERROR | Certificado invalido o passphrase incorrecta | Renovar certificado |
| 401 | HTTP_401 | API token ausente o invalido | Enviar X-API-Token valido |
| 403 | INSUFFICIENT_SCOPE | Token sin scope vendemas:write | Generar token con scope |
| 429 | SII_RATE_LIMIT / QUOTA_EXCEEDED | Rate limit | Respetar Retry-After |
| 502 | SII_UPLOAD_ERROR | SII rechazo el envio | Reintentar con mismo XML |
| 503 | SII_UNAVAILABLE | SII en mantenimiento | Reintentar en 5 min |
Args: body: Request body con estructura:
Returns: Diccionario con:
certificacion(int):1si NroResol == 0,0si producción.xml(str): XML del RCOF firmado en base64.track_id(int, opcional): ID de seguimiento SII (solo sienviar_sii == "1").track_id_error(str, opcional): Mensaje de error si el envío falló.
Raises:
ValueError: Si faltan datos de certificado, emisor o documentos.
XmlSignatureError: Si la firma digital falla.
RuntimeError: Si el envío al SII falla (solo cuando enviar_sii == "1").
Parámetros
Respuestas
Forma de la respuesta
Código 200. Estructura del JSON devuelto.