SetInvoicePDF. For an order that has reached at least the ready_to_ship status, allows the upload of the tax document in PDF format.

ABOUT THE SIGNATURE

To sign the request, the string to sign is the concatenated result of:

The following headers from the request, sorted by name:

  • Action
  • Format
  • Service
  • Timestamp
  • UserID
  • Version
  • Excluding the Signature parameter.

The names and values must be URL-encoded according to the RFC 3986 standard, concatenated with the '=' character. Each set of parameters (name=value) must be separated with the '&' character.

Then, using the API key, the signature should be calculated using the SHA256 algorithm.

You can take the following PHP example as a reference:

<?php

// Set the timezone if it's not configured correctly in php.ini
date_default_timezone_set("UTC");

// Default headers
$headers = [
    'accept' => 'application/json',
    'content-type' => 'application/json'
];

// Request data
$userID = '[email protected]';
$apiVersion = '1.0';
$action = 'FeedList';
$format = 'JSON';
$service = 'Invoice';

// Get the current timestamp in ISO 8601 format
$timestamp = date('c');

// Parameters for the signature
$parametersForSignature = [
    'UserID' => $userID,
    'Version' => $apiVersion,
    'Action' => $action,
    'Format' => $format,
    'Timestamp' => $timestamp,
    'Service' => $service
];

// Sort the parameters by name
ksort($parametersForSignature);

// URL-encode the parameters
$encodedParameters = [];
foreach ($parametersForSignature as $name => $value) {
    $encodedParameters[] = rawurlencode($name) . '=' . rawurlencode($value);
}

// Concatenate the URL-encoded parameters into a string
$concatenatedParameters = implode('&', $encodedParameters);

// API key associated with the UserID
$apiKey = 'b1bdb357ced10fe4e9a69840cdd4f0e9c03d77fe';

// Calculate the signature and add it to the headers
$signature = hash_hmac('sha256', $concatenatedParameters, $apiKey, false);
$headers['Signature'] = rawurlencode($signature);

// Merge the headers for the request
$requestHeaders = array_merge($headers, $parametersForSignature);

print_r($requestHeaders);

 

🚧

Important

Remember that this upload is not allowed for those orders where falabella.com issues the invoice on behalf of the seller, meaning when the ShipmenType is Own Warehouse.

Errors

Error CodeMessage
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
Language