The Spanish version is the authoritative reference. View in Spanish
POST /api/v1/UploadZipDocument
Endpoint of flow ② — Gosocket receives the document Docupath processed: a .zip with the XML (in Gosocket native format) and the original PDF, Base64-encoded.
Endpoint
Sandbox
https://systemintegrator-sbx.gosocket.net/api/v1/UploadZipDocumentProduction
https://systemintegrator.gosocket.net/api/v1/UploadZipDocumentMethod: POST · Authentication: Basic Auth — credentials assigned by Gosocket to Docupath, one per environment.
Body parameters (JSON)
| Parameter | Type | Req. | Description | Valid values |
|---|---|---|---|---|
country | String | Required | Country code of the document | ar, bo, br, cl, co, cr, do, ec, gt, mx, pa, pe, py, sa, sv, uy |
externalId | String (UUID) | Required | The same external_id Gosocket sent in Flow ① — immutable, Docupath returns it unchanged | 36-character UUID |
batchId | String (UUID) | Required | The same batch_id Gosocket sent in Flow ① — immutable, Docupath returns it unchanged | 36-character UUID |
fileBase64 | String | Required | Base64-encoded content of the .zip | Valid Base64 ZIP |
fileExt | String | Required | File extension | Only "zip" |
fileName | String | Required | Name of the ZIP file | Alphanumeric (e.g. DOC_AR_1.zip) |
ownerCode | String | Optional | Code of the document owner in Gosocket | Alphanumeric |
externalId and batchId must match those from Flow ①
Gosocket generates them and sends them to Docupath in Flow ①. Docupath must return them unchanged. Using a new UUID on a retry instead of the originals breaks end-to-end traceability.
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"
}filesProcessed[] fields
| Field | Type | Description |
|---|---|---|
externalId | String (UUID) | Unique document identifier |
batchId | String (UUID) | Unique identifier of the batch the document belongs to |
description | String | Detail of the document's processing |
fileName | String | Name of the XML file inside the ZIP |
series | String | Document series |
number | Integer | Document folio number |
documentStatus | String | Status upon receipt: Recibido (success) or Error |
documentTypeId | Integer | Gosocket document type code (1 = invoice, 2 = credit note, …) |
senderCode | String | Issuer's tax ID extracted from the XML |
senderName | String | Issuer's name extracted from the XML |
receiverCode | String | Receiver's tax ID extracted from the XML |
receiverName | String | Receiver's name extracted from the XML |
date | DateTime | Document date (ISO 8601) |
netAmount | Numeric | Net amount |
freeAmount | Numeric | Tax-exempt amount |
totalAmount | Numeric | Total amount |
taxAmount | Numeric | Tax amount |
Root fields:
| Field | Type | Possible values |
|---|---|---|
isSuccess | Boolean | true: successful / false: with errors |
statusCode | Integer | 200 OK · 400 validation error · 401 unauthorized |
error.code | String | Service error code |
error.message | String | Descriptive error message |
Error catalog (HTTP 400)
| # | Field | Condition |
|---|---|---|
| 1 | country | Value not in the list of supported countries |
| 2 | country | Empty or not sent |
| 3 | externalId | Not a 36-character UUID |
| 4 | externalId | Empty or not sent |
| 5 | batchId | Not a 36-character UUID |
| 6 | batchId | Empty or not sent |
| 7 | fileBase64 | Empty or no content |
| 8 | fileBase64 | Content is not valid Base64 |
| 9 | fileExt | Value other than "zip" |
| 10 | fileExt | Empty or not sent |
| 11 | fileName | Empty or not sent |
| 12 | ZIP content | PDF only with no XML, or XML only with no PDF |
| 13 | ZIP content | PDF and XML base names don't match (documentStatus: "Error") |