ReferenciaÓrdenesCargar Documento Tributario
POST
Cargar Documento Tributario
Endpoint
https://sellercenter-api.falabella.com//v1/marketplace-sellers/invoice/pdfSetInvoicePDF. Para una orden que haya alcanzado al menos el estado ready_to_ship, permite la carga del documento tributario en formato PDF.
POSTCargar Documento Tributario
curl --request POST \--url "https://sellercenter-api.falabella.com/v1/marketplace-sellers/invoice/pdf" \--header "UserID: [email protected]" \--header "Version: 1.0" \--header "Timestamp: 2025-07-19T10:30:00+0000" \--header "Action: SetInvoicePDF" \--header "Format: JSON" \--header "Service: Invoice" \--header "Signature: YOUR_SIGNATURE" \--header "Content-Type: application/json" \--data '{"orderItemIds": ["8682604"],"invoiceNumber": "45663","invoiceDate": "2023-07-19","invoiceType": "BOLETA","invoiceDocumentFormat": "pdf","invoiceDocument": "BASE64_PDF_CONTENT","operatorCode": "FACL"}'
SetInvoicePDF. Para una orden que haya alcanzado al menos el estado ready_to_ship, permite la carga del documento tributario en formato PDF.
Sobre la firma
Para firmar la solicitud, la cadena a firmar es el resultado concatenado de los headers `Action`, `Format`, `Service`, `Timestamp`, `UserID` y `Version`, ordenados por nombre y excluyendo `Signature`. Los nombres y valores deben codificarse en URL según RFC 3986, concatenarse con `=` y separarse con `&`. Luego, con ayuda del API key asociado al UserID, se debe calcular la firma usando SHA256.
Ejemplo PHP de firma
<?php
date_default_timezone_set('UTC');
$headers = [
'accept' => 'application/json',
'content-type' => 'application/json',
];
$userID = '[email protected]';
$apiVersion = '1.0';
$action = 'SetInvoicePDF';
$format = 'JSON';
$service = 'Invoice';
$timestamp = date('c');
$parametersForSignature = [
'UserID' => $userID,
'Version' => $apiVersion,
'Action' => $action,
'Format' => $format,
'Timestamp' => $timestamp,
'Service' => $service,
];
ksort($parametersForSignature);
$encodedParameters = [];
foreach ($parametersForSignature as $name => $value) {
$encodedParameters[] = rawurlencode($name) . '=' . rawurlencode($value);
}
$concatenatedParameters = implode('&', $encodedParameters);
$apiKey = 'YOUR_API_KEY';
$signature = hash_hmac('sha256', $concatenatedParameters, $apiKey, false);
$headers['Signature'] = rawurlencode($signature);
$requestHeaders = array_merge($headers, $parametersForSignature);
print_r($requestHeaders);Headers
| Nombre | Tipo | Descripción |
|---|---|---|
| UserID | string | El ID del usuario que realiza la llamada. La lista de usuarios autorizados se mantiene en la interfaz web de Seller Center en Configuración/Gestión de usuarios. |
| Version | string | La versión de la API contra la que se va a ejecutar esta llamada, en formato mayor-punto-menor. Debe ser actualmente 1.0, aunque la versión real de la API sea 2.6.20. |
| Timestamp | string | La hora actual en formato ISO8601 relativo a UTC. Si no se suministra, aparece el mensaje de error 'E001: Parameter Timestamp is mandatory'. Si la marca de tiempo es demasiado antigua o está en el futuro, aparece 'E003: Timestamp has expired'. |
| Signature | string | La firma criptográfica que autentifica la solicitud. Debe calcularse con SHA256 usando el API key del usuario especificado en UserID. Si es incorrecta, se devuelve 'E007: Login failed. Signature mismatch'. |
| Action | string | Nombre de la función que se va a llamar. Obligatorio y debe ser 'SetInvoicePDF' en este caso. |
| Format | string | Formato de respuesta. Debe ser JSON. |
| Service | string | Servicio asociado. Debe ser Invoice. |
Body Params
orderItemIds
array[string]
RequeridoEl identificador de los Item ids de la orden que deben ser incluidos en el documento.
invoiceNumber
string
RequeridoEl número de documento. Debe ser igual que los campos NroDTE y Folio en el cuerpo del XML.
invoiceDate
date
RequeridoFecha del documento.
invoiceType
string
RequeridoEl nombre del tipo de documento. Nota: BOLETA no es válido para Colombia (FACO). Valores válidos: BOLETA, FACTURA, NOTA_DE_CREDITO.
operatorCode
string
RequeridoCódigo de país. FACL = Chile, FACO = Colombia, FAPE = Perú.
Errores
| Código de error | Mensaje |
|---|---|
| E004 | Invoice with invoice number %s already exists |
| E004 | Max limit reached. Total number of invoice documents should be less than or equal to total items in an order |
| E004 | Invalid seller order item status for document %s |
| E004 | Order contains FBF items. PDF upload only supports FBS orders. |
| E004 | Invoice date must be less than or equal to current date |
| E004 | OrderItem(s) not found %s |
| E007 | Login failed. Signature mismatching |
| E1000 | Internal Application Error |
Respuesta 200
{
"SuccessResponse": {
"Head": {
"RequestId": "13e55362-3cc4-446b-b3db-c1df0900ae9e",
"RequestAction": "SetInvoicePDF",
"Timestamp": "2015-07-01T11:11:11+0000"
},
"Body": {
"Invoice": {
"message": "PDF uploaded successfully"
}
}
}
}Respuesta 400
{
"ErrorResponse": {
"Head": {
"RequestAction": "SetInvoicePDF",
"ErrorType": "Sender",
"ErrorCode": "E004",
"ErrorMessage": "Invalid Request"
},
"Body": {
"errors": [
{
"status": 400,
"code": "Bad Request",
"title": {
"en": "",
"es": ""
}
}
]
}
}
}Respuesta 500
{
"ErrorResponse": {
"Head": {
"RequestAction": "SetInvoicePDF",
"ErrorType": "Sender",
"ErrorCode": "E1000",
"ErrorMessage": "Internal Application Error"
},
"Body": {
"errors": [
{
"status": 500,
"code": "Internal Server Error",
"title": {
"en": "",
"es": ""
}
}
]
}
}
}