POST /api/v1/UploadZipDocument
Endpoint del flujo ② — Gosocket recibe el documento que Docupath procesó: un .zip con el XML (en formato nativo de Gosocket) y el PDF original, codificado en Base64.
Endpoint
Sandbox
https://systemintegrator-sbx.gosocket.net/api/v1/UploadZipDocumentProducción
https://systemintegrator.gosocket.net/api/v1/UploadZipDocumentMétodo: POST · Autenticación: Basic Auth — credenciales asignadas por Gosocket a Docupath, una por ambiente.
Parámetros del body (JSON)
| Parámetro | Tipo | Req. | Descripción | Valores válidos |
|---|---|---|---|---|
country | String | Requerido | Código de país del documento | ar, bo, br, cl, co, cr, do, ec, gt, mx, pa, pe, py, sa, sv, uy |
externalId | String (UUID) | Requerido | El mismo external_id que Gosocket envió en el Flujo ① — inmutable, Docupath lo devuelve sin cambio | UUID de 36 caracteres |
batchId | String (UUID) | Requerido | El mismo batch_id que Gosocket envió en el Flujo ① — inmutable, Docupath lo devuelve sin cambio | UUID de 36 caracteres |
fileBase64 | String | Requerido | Contenido del .zip codificado en Base64 | ZIP válido en Base64 |
fileExt | String | Requerido | Extensión del archivo | Solo "zip" |
fileName | String | Requerido | Nombre del archivo ZIP | Alfanumérico (ej. DOC_AR_1.zip) |
ownerCode | String | Opcional | Código del propietario del documento en Gosocket | Alfanumérico |
externalId y batchId deben coincidir con los del Flujo ①
Gosocket los genera y los envía a Docupath en el Flujo ①. Docupath debe devolverlos sin cambio. Si se usa un UUID nuevo en un reintento en lugar de los originales, se rompe la trazabilidad end-to-end.
Request / Response
POST /api/v1/UploadZipDocument
POST https://systemintegrator-sbx.gosocket.net/api/v1/UploadZipDocument
Authorization: Basic <base64(USERNAME:PASSWORD)>
Content-Type: application/json
{
"country": "ar",
"externalId": "8390b9d4-98ac-ca4c-1590-455bf8333d77",
"batchId": "2e12f191-31c6-4f09-a781-687b000869bf",
"fileBase64": "UEsDBBQABgAIAAAAIQD...",
"fileExt": "zip",
"fileName": "DOC_AR_1.zip",
"ownerCode": "30718566XXXX"
}Campos de filesProcessed[]
| Campo | Tipo | Descripción |
|---|---|---|
externalId | String (UUID) | Identificador único del documento |
batchId | String (UUID) | Identificador único del lote al que pertenece el documento |
description | String | Detalle del procesamiento del documento |
fileName | String | Nombre del archivo XML dentro del ZIP |
series | String | Serie del documento |
number | Integer | Número de folio del documento |
documentStatus | String | Estado al ser recibido: Recibido (éxito) o Error |
documentTypeId | Integer | Código de tipo de documento en Gosocket (1 = factura, 2 = nota de crédito, …) |
senderCode | String | RUT/NIT del emisor extraído del XML |
senderName | String | Nombre del emisor extraído del XML |
receiverCode | String | RUT/NIT del receptor extraído del XML |
receiverName | String | Nombre del receptor extraído del XML |
date | DateTime | Fecha del documento (ISO 8601) |
netAmount | Numeric | Monto neto |
freeAmount | Numeric | Monto exento |
totalAmount | Numeric | Monto total |
taxAmount | Numeric | Monto de impuestos |
Campos raíz:
| Campo | Tipo | Valores posibles |
|---|---|---|
isSuccess | Boolean | true: exitoso / false: con errores |
statusCode | Integer | 200 OK · 400 error de validación · 401 no autorizado |
error.code | String | Código de error del servicio |
error.message | String | Mensaje de error descriptivo |
Catálogo de errores (HTTP 400)
| # | Campo | Condición |
|---|---|---|
| 1 | country | Valor no pertenece a la lista de países soportados |
| 2 | country | Vacío o no enviado |
| 3 | externalId | No es un UUID de 36 caracteres |
| 4 | externalId | Vacío o no enviado |
| 5 | batchId | No es un UUID de 36 caracteres |
| 6 | batchId | Vacío o no enviado |
| 7 | fileBase64 | Vacío o sin contenido |
| 8 | fileBase64 | Contenido no es Base64 válido |
| 9 | fileExt | Valor distinto de "zip" |
| 10 | fileExt | Vacío o no enviado |
| 11 | fileName | Vacío o no enviado |
| 12 | ZIP content | Solo PDF sin XML, o solo XML sin PDF |
| 13 | ZIP content | Nombres base de PDF y XML no coinciden (documentStatus: "Error") |