ReferenciaÓrdenesCargar Documento Tributario
POST

Cargar Documento Tributario

Endpoint

https://sellercenter-api.falabella.com//v1/marketplace-sellers/invoice/pdf

SetInvoicePDF. 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

NombreTipoDescripción
UserIDstringEl 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.
VersionstringLa 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.
TimestampstringLa 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'.
SignaturestringLa 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'.
ActionstringNombre de la función que se va a llamar. Obligatorio y debe ser 'SetInvoicePDF' en este caso.
FormatstringFormato de respuesta. Debe ser JSON.
ServicestringServicio asociado. Debe ser Invoice.

Body Params

orderItemIds

array[string]
Requerido
El identificador de los Item ids de la orden que deben ser incluidos en el documento.

invoiceNumber

string
Requerido
El número de documento. Debe ser igual que los campos NroDTE y Folio en el cuerpo del XML.

invoiceDate

date
Requerido
Fecha del documento.

invoiceType

string
Requerido
El nombre del tipo de documento. Nota: BOLETA no es válido para Colombia (FACO). Valores válidos: BOLETA, FACTURA, NOTA_DE_CREDITO.

operatorCode

string
Requerido
Código de país. FACL = Chile, FACO = Colombia, FAPE = Perú.

Errores

Código de errorMensaje
E004Invoice with invoice number %s already exists
E004Max limit reached. Total number of invoice documents should be less than or equal to total items in an order
E004Invalid seller order item status for document %s
E004Order contains FBF items. PDF upload only supports FBS orders.
E004Invoice date must be less than or equal to current date
E004OrderItem(s) not found %s
E007Login failed. Signature mismatching
E1000Internal 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": ""
          }
        }
      ]
    }
  }
}