IT
RESTful JSON API Ver. 1.2
rel. 1.2.143
Qapla' srl   •   06492420481

Introduction

APIs provide the possibility to integrate Qapla' both for reading and writing with your own ecommerce system or for an e-commerce to which a plugin or connector has not yet been implemented.

Previous versions
Previous versions of this API are still active, but considered as deprecated.
Webhook
Qapla' also has a Webhook service which is an integral part of the API.

API Key

In oder to use the APIs, it is necessary to know the Private API Keys assigned to your channel(s), available on the Control Panel in the section:
Settings \ [CHANNEL_NAME]

This API key must be protected and kept secret.

API Key

Endpoint

https://api.qapla.it/[API_VERSION]/[ENDPOINT]
[API_VERSION]It is the version value of the API.
[ENDPOINT]It is the endpoint you need to invoke.

Response

The JSON response to a Request uses this standard format

    
[API_NAME]The name of the API consumed
[OK/KO]OK in case of a positive answer, KO In case of an error
[ERROR_MESSAGE]It is null in case of OK and will contain the error in case of KO

Rate limiting

The system uses the TokenBucket algorithm with the following parameters:

Bucket capacity 120 Maximum of 120 requests
Tokens per second 2 Refilling at a rate of 2 per second
Warning
A multiple request (e.g. pushShipment or pushOrder with 100 shipments or orders) is evaluated as 100 tokens.
HTTP Response Status Codes
Exceeding the limit will lead to the following HTTP response
429 Too Many Requests
and the following response error by any API involved
"error": "Too Many Requests"
Abuse
The abuse of the use will lead to a BAN of the API Key.

Sandbox

There isn't any proper sandbox environment. However you can use the sandbox field in the API methods (where supported) to use the test infrastructure, without having operational effects (like costs, picking requests sent to the carries, etc...)

Test

Once the API Key has been obtained, a connection test can be immediately performed using the API getChannel.

Postman Collection

Postman A Postman Collection is available.

Shipments

The primary key to identify a shipment is:

pushShipment

pushShipment allows you to upload one or more shipments through a POST of data in JSON format.

In combination with the Webhook creates an integrated shipping management system.

POSThttps://api.qapla.it/1.2/pushShipment/
Request

In this example, two shipments are loaded, one in "minimum" and one "complete" format.



            
Parameters

There are 3 types of shipment loading modes.

  1. "minimum" containing 3 mandatory fields*
  2. "necessary" to activate additional communication services to the customer such as transactional emails, etc.
  3. "complete" always with the first 3 mandatory fields, but containing all the information

*Mandatory parameter

Parameter required to activate transactional emails and / or SMS


The maximum number of shipments that can be sent for individual request is 100.
apiKey(string) The API Key assigned to the channel into which you want to import shipments
pushShipment(array)

It is an array of maximum 100 shipments to load.

trackingNumber*(string) The tracking number / shipping number / waybill of the courier
courier*(string) The Qapla' courier code
shipDate*(string) Shipment date
reference(string) Order reference
platformOrderID(string) Optional numeric or alphanumeric ID, used as additional order reference
orderDate(string) Order date
weight(float) Potential weight of the shipment
parcels(int) Any packages of the shipment
length(float) Potential measures: lenght
width(float) Potential measures: width
height(float) Potential measures: height
name(string) Recipient Name
street(string) Recipient address
city(string) Recipient City
ZIP(string) Recipient postal code
state(string) Recipient province
country(string) Recipient country in format ISO 3166-1 alpha-2 (Example: IT)
email(string) Recipient email
telephone(string) Recipient telephone
agent(string) Email address of a customer business contact
amount(float) Potential amount of the shipment (to be communicated to the customer. Ex: cash on delivery)
pod(boolean) It is true if payment is cash on delivery
shipping(float) Potential cost of shipment
custom1(string) Custom value 1
custom2(string) Custom value 2
custom3(string) Custom value 3
note(string) A note regarding the shipment (max 255 chars)
language(string) Shipment language ( ISO 639-1 , ex: 'fr').
A null or unrecognized value will indicate the shipment as 'it'.
origin(string) Origin of shipment, permitted values:
amazon, carrefour_es, cdiscount, ebay, ecwid, eprice, ibs, magento, magento2, manomano_de, manomano_es, manomano_fr, manomano_gb, manomano_it, prestashop, privalia_es, privalia_it, shopify, spartoo_be, spartoo_cn, spartoo_de, spartoo_es, spartoo_fr, spartoo_gb, spartoo_gr, spartoo_it, spartoo_nl, spartoo_pl, spartoo_pt, storeden, vtex, woocommerce, worten_es, worten_pt, mediaMarkt_de
isReturnable(bool) If it is true, it indicates the possibility of returning the entire shipment.
deliveryDate(string) Potential delivery request date
tag(string) A "tag" to identify shipments belonging to a group.
isTrackingNumber(bool) It is true when placed in the trackingNumber field it is the real tracking number of the shipment.
rows

It is an array of "order lines".

It is not mandatory, but if populated it has some data that is.

sku*(string) Article code
name*(string) Article description
qty*(int) Quantity
weight(float) Potential article weight
url(string) The specific url of the product
imageUrl(string) The url of the product image
price*(float) Price
total(float) Total price
isReturnable(bool) If it is true, it indicates the possibility of returning the single item
Response Body200


                
Errors

In case of error, each shipping line will be reported:


        

getShipment

getShipment allows you to read the status of a shipment through the tracking number, the order reference or the ID.

For a total and integrated management of the update cycle of shipments, also evaluate the Webhook.

🛈
Remember the usage limits and also evaluate the Webhook.
GEThttps://api.qapla.it/1.2/getShipment/?apiKey=[API_KEY]&trackingNumber=[TRACKING_NUMBER]
GEThttps://api.qapla.it/1.2/getShipment/?apiKey=[API_KEY]&reference=[ORDER_REFERENCE]
GEThttps://api.qapla.it/1.2/getShipment/?apiKey=[API_KEY]&id=[SHIPMENT_ID]
GEThttps://api.qapla.it/1.2/getShipment/?apiKey=[API_KEY]&custom1=[CUSTOM1]
Parameters
Parameter Description
apiKey*(string) The API Key assigned to the channel we want to query
Exclusive parameters
trackingNumber(string) The interested tracking number
reference(string) The order reference
id(int) Shipment ID
custom1, custom2, custom3(string) The fields custom1, custom2, custom3
Optional parameters
lang The language of the names of the Qapla' status (it, en, es), default: it.

Example:

&lang=en
data

The flag data specifies which and how much data we want to receive, by default it returns minimal data on the progress of the shipment.
It can have the following values:

Parameter Description
If no parameter is specified, it will be returned the minimum data
all Minimum data + all the data to follow
consignee Minimum data + recipient data
children Minimum data + data of child shipments, if any
parent Minimum data + data of the parent shipment, if any
flag Minimum data + data relating to the report of the shipment, if any
notifications Minimum data + notification data (email sms, webhook, qaplAPP)
history Minimum data + shipment tracking history
rows Minimum data + product rows

The parameter can be combined separated by commas, for example

&data=consignee,history
in order to get only these data.
Response Body200


            
Description
result The result of the operation: OK or KO in case of error
error The error in case of result: KO
version The API version
lang The required language / transferred as parameter (default: it)
count Number of current shipments
shipments

It is an array that can contain more than one shipment

id Shipment ID
hash The hash of the shipment, used for example by the tracking page
url Web address of the tracking page of this shipment
reference Order reference
trackingNumber The tracking number
isDeleted It is true (boolean value) if the shipment is cancelled
isArchived It is true (boolean value) if the shipment is filed
origin The origin of the shipment if loaded (es: magento, prestashop, amazon, ecc)
courier
code Courier code
name Name of the courier
icon Icon's URL of the courier
note Possible notes from the courier on the shipment
estimatedDeliveryDate Possible estimated date of expected delivery
url Address URL of the courier
trackingURL Tracking URL address of the courier for this shipment
status

Current status of the shipment

date Status date, as reported by the courier
dateISO The ISO version YYYY-MM-DD HH:MM:SS of the date communicated by the courier
status Status communicated by the courier
place Location communicated by the courier
qaplaStatus

The "translation" of the status of the courier in the status of Qapla'

id The ID of the status
status The description
detailID ID of the possible detail
detail Description of the possible detail
color The color assigned by Qapla' to the status
icon Status icon
dateUpd The date in which the shipment status has been updated on Qapla'
lastCheck The date of the last control of the shipment status
shipDate The shipment date communicated when the shipment is loaded
orderDate The order date communicated when the shipment is loaded
dateIns The upload date of the shipment
consignee

Recipient data

name Recipient name
address Recipient address
city Recipient city
state Recipient province
country Recipient country
email Recipient email
isAmazon It is true (boolean value) if the recipient email is from Amazon
phone Recipient telephone number
language The language in which the shipment will "speak" when notifications such as email or SMS are sent
newTrackingNumber Possible new tracking number assigned to shipment
oldTrackingNumber Possible old tracking number in case it has been populated the field newTrackingNumber
hasNewTrackingNumber It is true (boolean value) if the shipment has obtained a new tracking number
isTrackingNumber It is true (boolean value) if the trackingNumber value contains the true tracking number
trueTrackingNumber It contains the potential "true" tracking number
altTrackingNumber It contains an alternative tracking number in case the shipment has changed it for the same courier during the trip
returnTrackingNumber It indicates any return tracking number if different from the outward one
isReturnShipment It is true (boolean value) if the shipment is a return / restitution shipment
isCOD It is true (boolean value) if the shipment is cash on delivery
amountText The textual amount of the shipment
amount The amount as a float number
isDelivered It is true (boolean value) if the shipment is delivered
isChild It is true (boolean value) if the shipment is "daughter" of another shipment, in this case the "parent" field will be populated
parent

The "father" shipment

id Shipment ID
reference The order reference of the shipment
trackingNumber The order tracking number of the shipment
courier The courier code of the shipment
url The URL to this same API to call back the "father" shipment
hasChildren It is true (boolean value) if the shipment has "children", in this case the "children" field will be populated
children

It is an array of "child" shipments

id Shipment ID
reference The order reference of the shipment
trackingNumber The order tracking number of the shipment
courier The courier code of the shipment
url The URL to this same API to call back the "father" shipment
custom1 The custom1 value as imported
custom2 The custom2 value as imported
custom3 The custom3 value as imported
deliveryMode It can assume the values ​​"home" for a delivery direct to the recipient or "pickup" for a delivery direct to a collection point (Pickup point)
hasFlag It is true (boolean value) if the shipment has been "reported", in this case the "flag" field is populated
flag
Description The description of the flag
Note The potential note
notifications

All notifications sent by status for this shipment. Obtainable using the data parameter=notifications and included if data=all

email

It is an array of sent email

result It is OK if the email has been successful, otherwise KO
statusID The Qapla' status for which the email has been sent
status Description of the sent status
date Sent date
error Possible error
isOpened It is true (boolean value) if the email has been opened / read
sms

It is an array of SMS sent

result It is OK if the SMS has been successful, otherwise KO
statusID The Qapla' Status for which SMS has been sent
status Description of the sent status
date Sent date
webhook

It is an array of sent webhook

result It is OK if the email has been successful, otherwise KO
statusID The Qapla' status for which the webhook has been sent
status Description of the sent status
date Sent date
qaplAPP

It is an array of sent notifications to qaplAPP

result It is OK if the email has been successful, otherwise KO
statusID The Qapla' status or which notification has been sent to qaplAPP
status Description of the sent status
date Notification date
trackingHistory

It is an array of following elements:

date The date of the status as communicated by the courier
dateISO The ISO version YYYY-MM-DD HH:MM:SS of the date communicated by the courier
status Status communicated by the courier
place The place
qaplaStatus

The "translation" of the status of the courier in the status of Qapla'

id Status ID
status The description
detailID ID of the possible detail
detail Description of the possible detail
color The color assigned by Qapla' to the status
icon Status icon
Errors
In case of error the "result" field will contain "KO" and the "error" field the description of the error.
{
"getShipment": {
    "result": "KO",
    "error": "[ERROR_MESSAGE]"
}
}

getShipments

getShipments allows you to receive the list of shipments imported from Qapla' by input date, shipping date, order date.
GEThttps://api.qapla.it/1.2/getShipments/?apiKey=[API_KEY]&[DATE]
Parameters
ParameterDescription
apiKeythe API Key assigned to the channel we want to query
[DATE]*
shipDateshipment date in format ISO 8601 "YYYY-MM-DD"
orderDateorder date in format ISO 8601 "YYYY-MM-DD"
dateInsupload date in format ISO 8601 "YYYY-MM-DD"
*If no parameter is set, it will be used by default dateIns and current date.
Response Body200


            
Description
result(string) The result of the operation: OK or KO in case of error
error(string) The error in case of result: KO
version(string) The API version
search(string) The parameter ascribed as search
count(int) Number of current shipments
shipments(array) It is an array that can contain more than one shipment
id(int) Numeric ID of the shipment
getShipment(string) The url to the getShipment API for this shipment
reference(string) The order reference
trackingNumber(string) The tracking number
isDeleted(bool) It is true (boolean value) if the shipment is cancelled
isArchived(bool) It is true (boolean value) if the shipment is filed
origin(string) Shipment origin platform
courier(string) The courier code of the shipment
statusID(int) The Qapla' status of the shipment
statusDetailID(int) Possible Qapla' status of detail
shipDate(string) Shipment date
orderDate(string) Order date
dateIns(string) Upload date to Qapla''
language(string) Shipment language
custom1(string) The custom1 value
custom2(string) The custom2 value
custom3(string) The custom3 value
Errors

        

updateShipment

updateShipment allows you to update a shipment.
PUThttps://api.qapla.it/1.2/updateShipment/


            
Parameters

The same parameters of the pushShipment are sent considering that the primary key is composed by

  • trackingNumber
  • courier
Response Body200

        

deleteShipment

deteleShipment allows you to delete a shipment.
DELETEhttps://api.qapla.it/1.2/deleteShipment/


            
Parameters
Parameter Description
apiKey*(string) the API Key assigned to the channel we want to query
courier*(string) shipment's courier code
trackingNumber*(string) shipment's tracking number
Response Body200

        

undeleteShipment

undeleteShipment allows you to restore a shipment.
PATCHhttps://api.qapla.it/1.2/undeleteShipment/


            
Parameters
Parameter Description
apiKey*(string) the API Key assigned to the channel we want to query
courier*(string) shipment's courier code
trackingNumber*(string) shipment's tracking number
Response Body200

        

trackingByTimeFrame

trackingByTimeFrame allows you to obtain the list of shipments that have undergone an update of the tracking status included in the dateFrom/dateTo timeframe.
GEThttps://api.qapla.it/1.2/trackingByTimeFrame/
Parameters
Parameter Description
apiKey*(string) The API Key assigned to the channel we want to query
Optional parameters
dateFrom(timestamp) default: an hour ago. In format ISO 8601 "yyyy-mm-dd hh:mm:ss"
dateTo(timestamp) in format ISO 8601 "yyyy-mm-dd hh:mm:ss"
lang The language of the names of the Qapla' status (it, en, es), default: it.

Example:

&lang=en
Response Body200


            
Description
result The result of the operation: OK or KO in case of error
error The error in case of result: KO
version The version of API
lang The language requested / passed as a parameter (default: it)
count Number of current shipments
shipments The description of shipment

Orders

The primary key to identify an order is:

An order update occurs if during a pushOrder, the date of update "updatedAt" is greater than the recorded date.

pushOrder

pushOrder allows you to upload one or more orders via a POST of data in JSON format.
POSThttps://api.qapla.it/1.2/pushOrder/


            
            
Parameters

*Mandatory parameter


The maximum number of orders that can be sent for each individual request is 100.
apiKey*(string) The API Key assigned to the channel we want to query
origin(string) Origin of order, permitted values:
amazon, carrefour_es, cdiscount, ebay, ecwid, eprice, ibs, magento, magento2, manomano_de, manomano_es, manomano_fr, manomano_gb, manomano_it, prestashop, privalia_es, privalia_it, shopify, spartoo_be, spartoo_cn, spartoo_de, spartoo_es, spartoo_fr, spartoo_gb, spartoo_gr, spartoo_it, spartoo_nl, spartoo_pl, spartoo_pt, storeden, vtex, woocommerce, worten_es, worten_pt, mediaMarkt_de
pushOrder(array)

It is an array of maximum 100 orders to load.

reference*(string) Order alphanumeric reference
orderID(int) Possible order numeric reference
courier*(string) The Qapla' courier code
courierService(string) Possible kind of courier service; for example it can be the contract code of GLS Italy. If the field is empty or not sent, the default is '0'.
status(string) Order status (processing, complete, ecc)
createdAt*(YYYY-MM-DD HH:MM:S) Order creation date
updatedAt*(YYYY-MM-DD HH:MM:SS) Order update date
Attention
This date is used to determine whether to update the order on Qapla'
name*(string) Recipient name
street*(string) Recipient address
city*(string) Recipient city
state*(string) Recipient province
postCode*(string) Recipient postal code
country*(string) Recipient country in formatISO 3166-1 alpha-2 (Example: IT)
email(string) Recipient email
telephone(string) Recipient telephone
amount(float) Shipment amount.
Specify only one separator (the dot) to indicate decimals, and do not use separators to indicate thousands. Give a maximum of two decimal digits. Example: 2340.23
currencyCode(string) Currency code ISO 4217 (default: EUR)
payment Type of payment
isCOD(boolean) It is true if payment is cash on delivery
notes(string) Any order note
weight(float) Potential weight of the order
parcels(int) Any order packages
length(float) Potential measures: lenght
width(float) Potential measures: depth
height(float) Potential measures: height
isReturnable(bool) If it is true, it indicates the possibility of returning the entire order.
shippingCODPaymentOption(string) Payment method of cash on delivery if different from default settings (to be agreed)
shippingInsurance(float | string)

Potential insured amount

ALL-IN: insert into "shippingDeliveryOptions" the following string: ALLIN

To generate directly with SDA, the value must be passed in the form of a string, specifying one of the following codes:

Code Insurance type
If no parameters are specified, no insurance type will be applied
AS01 UP TO EURO 258,23
AS02 UP TO EURO 516,46
AS03 UP TO EURO 1.549,37
AS04 UP TO EURO 2.582,28
AS05 ASSICURATA INTERNAZIONALE UP TO 1.500,00
AS12 ASSICURATA ROAD EUROPE
AS13 ASSICURATA EXPORT BOX

To generate directly with CRONO PTI, the value must be passed in the form of a string, specifying one of the following codes:

Code Insurance type
If no parameters are specified, no insurance type will be applied
AS01 UP TO EURO 258,23
AS02 UP TO EURO 516,46
AS03 UP TO EURO 1.549,37
AS04 UP TO EURO 2.582,28
AS05 ASSICURATA INTERNAZIONALE UP TO 1.500,00
AS12 ASSICURATA ROAD EUROPE
AS13 ASSICURATA EXPORT BOX
AS14 ASSICURATA CRONO INTERNAZIONALE
shippingDeliveryOptions(string | JSON)



If two values are to be used, they must be separated by commas
Example: A,P or 22,07

For PTI courier you need to use a JSON structured as follows


                                                
shippingRequiredDeliveryDate(YYYY-MM-DD) The delivery request date in the format YYYY-MM-DD
pickUpDate(YYYY-MM-DD) The collection date requested to the courier in format YYYY-MM-DD
custom1,1,3(string) Potential custom fields
pickupPoint(string) Possible code of a pickup point
content(string) The content of the goods that may be present on the label (depends on the courier)
rows(array)

It is an array of "order rows".

It is not mandatory, but if populated it has some mandatory data.

sku*(string) Article code
name*(string) Article description
qty*(int) Quantity
price*(float) Price
total(float) Total price
weight(float) Potential article weight
url(string) The specific url of the product
imageUrl(string) The url of the product image
notes(string) Product notes
assemblyTypes(array)

Possible list of assembly types, one per product, for couriers who support this information

code*(string) The code of the selected type of assembly

Available for the "courierService" 20 (HD). One element must be specified for each element of rows.

Available values for "code":

Code Description
5 Appliance Activation
09 Built-in ovens/cookers with declaration of conformity
08 Built-in refrigerators
07 Built-in dishwashers and washing machines
11 DUAL Air Conditioning Installation with piping to be prepared
14 DUAL Air Conditioning Installation with pre-prepared piping
10 MONO Air Conditioning Installation with piping to be prepared
13 MONO Air Conditioning Installation with pre-prepared piping
12 TRIAL Air Conditioning Installation with piping to be prepared
15 TRIAL Air Conditioning Installation with pre-prepared piping
K Basic HD Installation
Z Complex HD Installation
Y Medium HD Installation
W Simple HD Installation
06 Wall-mounted TV Installation
20 Assembly of 30
17 Exercise Bike Assembly
18 Elliptical Assembly
4 Multifunctional Structure Assembly
16 Treadmill Assembly
1 Assembly of Treadmill, Exercise Bike, and Elliptical
2 Ping Pong Table Assembly
3 Rowing Machine Assembly
sender

It is the sender of the shipment if different from the contract holder.

code(string) The code to assign to the sender for a better identification
businessName(string) Business name
street(string) Address
city(string) City
state(string) Province
postCode(string) Postal code
country(string) Country in format ISO 3166-1 alpha-2 (Example: IT)
email(string) Sender email
telephone(string) Sender telephone
referent(string) Contact person of the sender
isDefault(bool) It is true if the sender will be saved as default for all other shipments
PUDO(object)

Allows you to set a Pick-up or Drop-off point for the collection of goods. Each field must be completed according to the courier's need. Refer to the tables below

id*(string) PUDO identification
type(string) Type of Service
name(string) Service Name
address(string) Address of the Pick-up or Drop-off point
city(string) City of the Pick-up or Drop-off point
state(string) Province of the Pick-up or Drop-off point
country(string) Country of the Pick-up or Drop-off point
postalCode(string) Postal code of the Pick-up or Drop-off point
description(string) Description
harmonisedId(string) Additional numeric ID of the Pick-up o Drop-off, derived from getPudos. Es. 104
keyword(string) Keyword of the Pick-up o Drop-off, derived from getPudos. Es 'DHL Servicepoint'
psfKey(string) PsfKey of the Pick-up o Drop-off, derived from getPudos. Es 'ES-0004240'
postnumber(string) Postnumber of the Pick-up o Drop-off, only if 'packstation' type. It is a code that the end customer personally owns
DHL / BRT / INPOST / FEDEX
Attribute Value
id*(string) PUDO identification
TNT ITA / GLS-ITA
Attribute Value
id*(string) Possible values:
  • TNT: identification code of TNT point/Locker;
  • GLS-IT: identification code called SHOP_ID;
type*(string) Possible values:
  • TNT: 3 (TNT point) o 5 (TNT Locker);
  • GLS-IT: identification code called PARTNER_SHOP_ID;
PTI(Poste Italiane)
Attribute Value
id*(string) PUDO identification
type*(string) Possible values:
  • ConsegnaPuntoPoste
  • ConsegnaUfficioPostale
  • ConsegnaLocker
  • ConsegnaPUDOUPS
name*(string) Name
UPS
Attribute Value
id*(string) PUDO identification
address*(string) Address
city*(string) City
country*(string) Country
name*(string) Name
postalCode*(string) Postal Code
state*(string) State
SDA
Attribute Value
id*(string) PUDO identification
address*(string) Address
city*(string) City
name*(string) Name
postalCode*(string) Postal code
state*(string) State
DHLPARCEL-ES
Attribute Value
id*(string) PUDO identification
address*(string) Address
city*(string) City
country*(string) Country
postalCode*(string) Postal code
harmonisedId*(string) Harmonized Id
keyword*(string) Keyword
psfKey*(string) PsfKey
postnumber(string) PostNumber
invoice(object)

It allows you to set information regarding the invoice associated with the shipment, useful for shipments that have to go through customs.
Mandatory for DHL

number*(string) Invoice number
Response Body200


            
            
Description
version(string) The number version of this API
result(string) It is "OK" if the transmission was successful, "KO" in case of an error
error(string) Possible error message in case of "KO" result
count(int) Number of orders sent in the request
orders(array)

It is an array that corresponds to the number of orders sent in the request.

row(int) Number of row
reference(string) The order reference sent in the request
orderID(int) Possible order numeric ID sent in the request
action(string) It includes the following values:
  • imp: imported order
  • upd: updated order
  • del: deleted order
  • skp: no action taken
  • ext: order already existing
  • err: report an error
error(string) Possible error on loading of this order
imported(int) Counter of imported orders
updated(int) Counter of updated orders
deleted(int) Counter of deleted orders
skipped(int) Counter of skipped orders
existing(int) Counter of existing orders
Errors
The error message is reported in the "error" field.

        

getOrder

getOrder allows you to recover an order.
GEThttps://api.qapla.it/1.2/getOrder/?apiKey=[API_KEY]&reference=[ORDER_REFERENCE]
Parameters

* Mandatory parameter

° At least one of the parameters is mandatory

Parameter Description
apiKey*(string) The API Key assigned to the channel we want to query
reference°(string) The order reference
reference°(string) Alternative order reference
Response Body200

        

getOrders

getOrders allows you to receive the list of orders imported from Qapla'.
GEThttps://api.qapla.it/1.2/getOrders/?apiKey=[API_KEY]&[DATE]
Parameters
Parameter Description
apiKey*(string) The API Key assigned to the channel we want to query
[DATE]
updatedAt Order update date in format ISO 8601 "YYYY-MM-DD"
createdAt Order date in format ISO 8601 "YYYY-MM-DD"
dateIns Upload date in format ISO 8601 "YYYY-MM-DD"
dateFrom / dateTo Date range for the value "updatedAt" in format ISO 8601 "yyyy-mm-dd hh:mm:ss"
If no [DATE] parameter is transferred the default is dateFrom = 1 hour ago at 00.
Response Body200

        

deleteOrder

deleteOrder allows you to delete an order.
DELETEhttps://api.qapla.it/1.2/deleteOrder/


            
Parameters
Parameter Description
apiKey*(string) The API Key assigned to the channel we want to query
reference*(string) The order reference
Response Body200

        

updateOrder

updateOrder is replaced by the pushOrder setting and the updatedAt parameter is used to determine whether the order should be updated.
updatedAt*(YYYY-MM-DD HH:MM:SS) Order update date
Attention
This date is used to determine whether to update the order on Qapla', or if the order has already been imported from Qapla'. A more recent value in this field will cause Qapla' to treat it as an "updated order" and then update all previously imported data.

undeleteOrder

undeleteOrder allows you to restore a deleted order.
PATCHhttps://api.qapla.it/1.2/undeleteOrder/


            
Parameters
Parameter Description
apiKey*(string) The API Key assigned to the channel we want to query
reference*(string) The order reference
Response Body200

        

detectOrderCourier

Attention
This API is currently being tested. Ask for activation to Customer Care.
detectOrderCourier allows you to get the courier to assign to the order, following preset rules (settings to be configured on the Control Panel).

Useful before of a createLabel to identify in advance the courier to use.

It is based on 3 rules to identify the courier according to weight, any cash on delivery amount and the destination zip code.

If you have clear rules such as the following:

weightCODCAP
less than or equal to 3KgGLS
greater than 3 Kgless than 100 €BRT
greater than 3 Kggreater than 100 €less than 70000 (north)GLS
greater than 3 Kggreater than 100 €greater than 70000 (south)BRT

it is possible to predetermine and pre-assign the courier to the order before the label is created, for example with the createLabel.

POSThttps://api.qapla.it/1.2/detectOrderCourier/
Request


            
Parameters

*Mandatory Parameter

Parameter Description
apiKey*(string) The channel's API Key
country*(string) Recipient country in format ISO 3166-1 alpha-2 (Example: IT)
weight*(float) Potential weight of the order
cod(float) Amount of the shipment, if the shipment is cash on delivery
postCode(string) Recipient postal code
Response Body200


            
Parameter Description
courier(json) Contains id, code and name of the identified courier
rule(json) Contains id, and name of the identified rule
request(json) The parameters of the request
Errors
In case of error the "result" field will contain "KO" and the "error" field the description of the error.

apiVirtual

apiVirtual allows you to update the status of a virtual courier shipment.
POSThttps://api.qapla.it/virtual/


            
Parameters

*Mandatory parameter

apiKey*(string) The API Key assigned to the channel we want to query
apiVirtual(array)

It is an array that can hold maximum 100 updates.

trackingNumber*(string) The tracking number of the shipment to be updated
statusID / statusDetailID*(float) The ID of the status of the shipment and any statusDetailID
status(string) The textual description of the shipment status
place(string) The location where the shipment is located
date(YYYY-MM-DD HH:MM:S) The date in ISO 8601 format "yyyy-mm-dd hh: mm: ss"
note(string) Any shipping notes
Response Body200

            
Errors
In case of error the "result" field will contain "KO" and the "error" field the description of the error.

Platforms

A series of tools to communicate directly with your platform / marketplace already configured on the channel, without going through Qapla'

fetchPlatformOrders

fetchPlatformOrders allows you to receive the list of orders on a platform.
GEThttps://api.qapla.it/1.2/fetchPlatformOrders/?apiKey=[API_KEY]&platform=[PLATFORM]&orderFormat=[ORDERFORMAT]&skip
Parameters
Parameter Description
apiKey*(string) The API Key assigned to the channel we want to query
platform(string) The associated platform. If it is not indicated, the platform (CMS) associated with the channel is considered. If no platform is associated with the channel, the parameter becomes mandatory to indicate a marketplace.
Possible values:
amazon, carrefour, cdiscount, ebay, ecwid, eprice, ibs, magento, magento2, manomano, prestashop, privalia, shopify, spartoo, storeden, vtex, woocommerce, worten, leroymerlin, greenweez, maisondumonde, mediamarkt, bigcommerce, commercelayer, shopware6, aliexpress, allegro, sprinter
dateFrom / dateTo(timestamp) Date range for the value "updatedAt" in format ISO 8601 "yyyy-mm-dd hh:mm:ss"
orderFormat(string) If the value (platform) is passed, orders will be returned in original format. If no value is passed, the results will be returned in standard format (qapla).
skip(string) Skip order statuses.
Response Body200


            
Errors
In case of an error the "result" field will contain "KO" and the "error" field the description of the error.
{
"fetchPlatformOrders": {
    "result": "KO",
    "error": "[ERROR_MESSAGE]"
}
}

updatePlatformOrder

updatePlatformOrder allows you to update orders on a platform.
PUThttps://api.qapla.it/1.2/updatePlatformOrder/


            
Authentication

Authentication takes place via the APIKey of the channel, passing Q-API-Key in the request header

Parameter Description
Q-API-Key*(string) The channel's API Key
Parameters
Parameter Description
platform*(string) The associated platform, for example a marketplace.
Allowed values:
magento, magento2, prestashop, shopify, woocommerce, amazon, ibs, manomano, spartoo, carrefour, leroymerlin, greenweez, maisondumonde, mediamarkt, bigcommerce, commercelayer, ecwid, shopware6, storeden, vtex, aliexpress, allegro, ebay, eprice, privalia, sprinter, worten
reference(string) Order alphanumeric reference. To be entered, if required, based on the specific platform used.
orderID(int) Order numeric reference. To be entered, if required, based on the specific platform used.
courier*(string) The Qapla' courier code
trackingNumber*(string) The tracking number of the order to be updated
setShipped(bool) It is true if shipment is set. To be used according to the peculiarities of the platform used.
setDelivered(bool) It is true if delivery is set. To be used according to the peculiarities of the platform used.
storeCountry(string) The country code in ISO 2 format of the marketplace. (if requested)
trackingUrl(string) An URL to view tracking information
Response Body200

        

Labels

createLabel

createLabel allows you to create a label in PDF or ZPL format (Settings should be configured on the control panel).
Attention
Ask for activation to Customer Care.
POSThttps://api.qapla.it/1.3/createLabel/
Test
It is possible to obtain a test "dummy label" using the courier with GENERIC code.
Request

            
Parameters

*Mandatory Parameters

Parameter Description
apiKey*(string) The channel's API Key
sandbox(boolean) It is true if using the sandbox (test mode)
Attention: this parameter works if the courier has already been set correctly on the channel.
Contact Qaplà's Customer Care.
origin(string) Shipment origin, permitted values:
amazon, carrefour_es, cdiscount, ebay, ecwid, eprice, ibs, magento, magento2, manomano_de, manomano_es, manomano_fr, manomano_gb, manomano_it, prestashop, privalia_es, privalia_it, shopify, spartoo_be, spartoo_cn, spartoo_de, spartoo_es, spartoo_fr, spartoo_gb, spartoo_gr, spartoo_it, spartoo_nl, spartoo_pl, spartoo_pt, storeden, vtex, woocommerce, worten_es, worten_pt, mediaMarkt_de
reference*(string) Order's alphanumeric reference
orderID(string) Possible order's numeric reference
courier*(string) The Qapla' courier code
courierService*(string) Possible kind of courier service; for example it can be the contract code of GLS Italy. If the field is empty or not sent, the default is '0'.
name*(string) Recipient name
address*(string) Recipient address
city*(string) Recipient city
state*(string) Recipient province
postCode*(string) Recipient Postal Code
country*(string) Recipient country in format ISO 3166-1 alpha-2 (I.E.: IT)
email(string) Recipient email
telephone(string) Recipient telephone
amount(float) Shipment amount.
Specify only one separator (the dot) to indicate decimals, and do not use separators to indicate thousands. Give a maximum of two decimal digits. Example: 2340.23
currencyCode(string) Currency code ISO 4217 (default: EUR)
isCOD(boolean) It is true if payment is cash on delivery
payment(string) Possible order's payment method. Can be set to CONTRASSEGNO only if isCOD is also set to true
notes(string) Any order note
weight(float) Potential weight of the order
parcels(int) Any order packages
length(float) Potential measures: lenght
width(float) Potential measures: width
height(float) Potential measures: height
shippingCODPaymentOption(string) Payment method of cash on delivery if different from default settings (to be agreed)
shippingInsurance(float | string)

Potential insured amount

ALL-IN: insert into "shippingDeliveryOptions" the following string: ALLIN

To generate directly with SDA, the value must be passed in the form of a string, specifying one of the following codes:

Code Insurance type
If no parameters are specified, no insurance type will be applied
AS01 UP TO EURO 258,23
AS02 UP TO EURO 516,46
AS03 UP TO EURO 1.549,37
AS04 UP TO EURO 2.582,28
AS05 ASSICURATA INTERNAZIONALE UP TO 1.500,00
AS12 ASSICURATA ROAD EUROPE
AS13 ASSICURATA EXPORT BOX

To generate directly with CRONO PTI, the value must be passed in the form of a string, specifying one of the following codes:

Code Insurance type
If no parameters are specified, no insurance type will be applied
AS01 UP TO EURO 258,23
AS02 UP TO EURO 516,46
AS03 UP TO EURO 1.549,37
AS04 UP TO EURO 2.582,28
AS05 ASSICURATA INTERNAZIONALE UP TO 1.500,00
AS12 ASSICURATA ROAD EUROPE
AS13 ASSICURATA EXPORT BOX
AS14 ASSICURATA CRONO INTERNAZIONALE
shippingDeliveryOptions(string | JSON)



If two values are to be used, they must be separated by commas
Example: A,P or 22,07

For PTI courier you need to use a JSON structured as follows


                                    
shippingRequiredDeliveryDate(YYYY-MM-DD) The delivery request date in the format YYYY-MM-DD
pickupDate(YYYY-MM-DD) The collection date requested to the courier in format YYYY-MM-DD

For the SDA courier, if this field is not specified when creating the label, during the transmission of the label it will be automatically assigned the working day following that of transmission.
gSpedPrinterID(int) Possible printer id (user_id) for the Gsped Labeling Machine (to be agreed)
printNodePrinterID(int | string) Possible id or name of the printer to be used with PrintNode (to be agreed)
forceReprint(int) If set to 1, it forces the label to be printed again via PrintNode; valid when used with "printNodePrinterID"
content(string) The content of the goods that may be present on the label (depends on the courier)
custom1(string) A custom field
custom2(string) A custom field
custom3(string) A custom field
sender

It is the sender of the shipment if different from the contract holder.

code(string) The code to assign to the sender for a better identification
businessName(string) Business name
street(string) Address
city(string) City
state(string) Province
postCode(string) Postal code
country(string) Country in format ISO 3166-1 alpha-2 (Example: IT)
email(string) Sender email
telephone(string) Sender telephone
referent(string) Contact person of the sender
isDefault(bool) It is true if the sender will be saved as default for all other shipments
tradeDocuments

Electronic documents to be sent to the courier. You can upload more than one file per shipment. The maximum size of each file is 5 MB.

For the moment only available for DHL, FedEx and UPS couriers.

Passed as an array of objects, with three mandatory elements each:
type(string) The type of the file, which varies according to the courier (see table)
name(string) The name of the file
content(string) File content in base64 encoding
  FEDEX DHL UPS
AUTHORIZATION_FORM  
CERTIFICATE_OF_ORIGIN
COMMERCIAL_INVOICE
DECLARATION  
EXPORT_ACCOMPANYING_DOCUMENT  
EXPORT_LICENSE  
IMPORT_PERMIT  
NAFTA_CERTIFICATE_OF_ORIGIN  
ONE_TIME_NAFTA  
OTHER
OTHER_DOCUMENT  
PACKING_LIST  
POWER_OF_ATTORNEY  
PRO_FORMA_INVOICE  
SED_DOCUMENT  
SHIPPER_LETTER_OF_INSTRUCTION  
rows(array)

It is an array of "order rows".

It is not mandatory, but if populated it has some mandatory data.

sku*(string) Article code
name*(string) Article description
qty*(int) Quantity
price*(float) Price
total(float) Total price
weight(float) Potential article weight
url(string) The specific url of the product
imageUrl(string) The url of the product image
notes(string) Product notes
isReturnable(bool) Product eligible for returns. If not set it is true
assemblyTypes(array)

Possible list of assembly types, one per product, for couriers who support this information

code*(string) The code of the selected type of assembly

Available for the "courierService" 20 (HD). One element must be specified for each element of rows.

Available values for "code":

Code Description
5 Appliance Activation
09 Built-in ovens/cookers with declaration of conformity
08 Built-in refrigerators
07 Built-in dishwashers and washing machines
11 DUAL Air Conditioning Installation with piping to be prepared
14 DUAL Air Conditioning Installation with pre-prepared piping
10 MONO Air Conditioning Installation with piping to be prepared
13 MONO Air Conditioning Installation with pre-prepared piping
12 TRIAL Air Conditioning Installation with piping to be prepared
15 TRIAL Air Conditioning Installation with pre-prepared piping
K Basic HD Installation
Z Complex HD Installation
Y Medium HD Installation
W Simple HD Installation
06 Wall-mounted TV Installation
20 Assembly of 30
17 Exercise Bike Assembly
18 Elliptical Assembly
4 Multifunctional Structure Assembly
16 Treadmill Assembly
1 Assembly of Treadmill, Exercise Bike, and Elliptical
2 Ping Pong Table Assembly
3 Rowing Machine Assembly
PUDO(object)

Allows you to set a Pick-up or Drop-off point for the collection of goods. Each field must be completed according to the courier's need. Refer to the tables below

id*(string) PUDO identification
type(string) Type of Service
name(string) Service Name
address(string) Address of the Pick-up or Drop-off point
city(string) City of the Pick-up or Drop-off point
state(string) Province of the Pick-up or Drop-off point
country(string) Country of the Pick-up or Drop-off point
postalCode(string) Postal code of the Pick-up or Drop-off point
description(string) Description
harmonisedId(string) Additional numeric ID of the Pick-up o Drop-off, derived from getPudos. Es. 104
keyword(string) Keyword of the Pick-up o Drop-off, derived from getPudos. Es 'DHL Servicepoint'
psfKey(string) PsfKey of the Pick-up o Drop-off, derived from getPudos. Es 'ES-0004240'
postnumber(string) Postnumber of the Pick-up o Drop-off, only if 'packstation' type. It is a code that the end customer personally owns
DHL / BRT / INPOST / FEDEX
Attribute Value
id*(string) PUDO identification
TNT ITA / GLS-ITA
Attribute Value
id*(string) Possible values:
  • TNT: identification code of TNT point/Locker;
  • GLS-IT: identification code called SHOP_ID;
type*(string) Possible values:
  • TNT: 3 (TNT point) o 5 (TNT Locker);
  • GLS-IT: identification code called PARTNER_SHOP_ID;
PTI(Poste Italiane)
Attribute Value
id*(string) PUDO identification
type*(string) Possible values:
  • ConsegnaPuntoPoste
  • ConsegnaUfficioPostale
  • ConsegnaLocker
  • ConsegnaPUDOUPS
name*(string) Name
UPS
Attribute Value
id*(string) PUDO identification
address*(string) Address
city*(string) City
country*(string) Country
name*(string) Name
postalCode*(string) Postal Code
state*(string) State
SDA
Attribute Value
id*(string) PUDO identification
address*(string) Address
city*(string) City
name*(string) Name
postalCode*(string) Postal code
state*(string) State
DHLPARCEL-ES
Attribute Value
id*(string) PUDO identification
address*(string) Address
city*(string) City
country*(string) Country
postalCode*(string) Postal code
harmonisedId*(string) Harmonized Id
keyword*(string) Keyword
psfKey*(string) PsfKey
postnumber(string) PostNumber
invoice(object)

It allows you to set information regarding the invoice associated with the shipment, useful for shipments that have to go through customs.
Mandatory for DHL

number*(string) Invoice number
dangerousGoods(JSON)

For FEDEX courier you need to use a JSON structured as follows

parcel: represents the number of the parcels that contains the dangerous goods (in the example a shipment with 3 parcels and only the first and the third contain dangerous goods)

type: battery

batteryPackingType: It can take 2 values

  • CONTAINED_IN_EQUIPMENT
  • PACKED_WITH_EQUIPMENT
batteryMaterialType: It can take 2 values
  • LITHIUM_METAL
  • LITHIUM_ION

                                    
Response Body200

            
Parameter Description
isShipped(boolean) It istrue if the order has alredy been labeled and returns the label alredy created.
id(int) Shipment ID. Important to invoke other APIs.
trackingNumber(string) Shipment tracking number.
returnTrackingNumber(string) If a returnn label is requested
format(string) Label format:
  • PDF (base64)
  • JPG (base64)
  • ZPL
labels(array) An array with the base64 of the labels obtained (there may be multiple labels for multiple packages or returns, etc.).

Or

The ZPL for printing on Zebra, as configured on the Control Panel.
Errors
In case of error the "result" field will contain "KO" and the "error" field will contain the description of the error.

deleteLabel

deleteLabel allows you to delete a label created with createLabel.
Attention
This API is currently being tested. Ask for activation to Customer Care.
DELETEhttps://api.qapla.it/1.2/deleteLabel/

            
Parameters
Parameter Description
apiKey*(string) The API Key assigned to the channel we want to query
id*(int) The label id returned from createLabel
Response Body200

        

getLabel

getLabel allows you to download a label created on Qapla' in the orignal courier format (PDF, JPG or ZPL).

Warning: the getLabel does NOT work with dummy labels created with the GENERIC courier (even with the createLabel API).

GEThttps://api.qapla.it/1.2/getLabel/?apiKey=[API_KEY]&trackingNumber=[TRACKING_NUMBER]
GEThttps://api.qapla.it/1.2/getLabel/?apiKey=[API_KEY]&reference=[ORDER_REFERENCE]
GEThttps://api.qapla.it/1.2/getLabel/?apiKey=[API_KEY]&id=[SHIPMENT_ID]
Parameters
Parameter Description
apiKey*(string) The API Key assigned to the channel we want to query
Exclusive parameters
trackingNumber(string) Concerned tracking number
reference(string) Order reference
parcel(int) The parcel number corresponding to the label (default = 1) - Only for PDF labels
id(int) the shipment id
json(string) if used (eg: &json) force a JSON response
getReturnLabel(string) if used (eg: &getReturnLabel) returns the contextual return label
Response Body200
The label with the proper content type (JPG, PDF or txt for ZPL)

Otherwise, if the &json param is used



            
Errori
In caso di errore il campo "result" conterrà "KO" ed il error la descrizione dell'errore.
Errors
In case of an error the "result" field will contain "KO" and the "error" field the description of the error.

confirmLabel

confirmLabel allows you to confirm and send to the courier labels created with createLabel and to obtain the Loading List (borderò / manifest) in PDF format.
Attention
Ask for activation to Customer Care.
POSThttps://api.qapla.it/1.2/confirmLabel/
Request


            
Parameters
Attention Use "labelCreationDate" or "labelID".

*Mandatory Parameter

Parameter Description
apiKey*(string) The channel's API Key
courier*(string) The Qapla' courier code
labelCreationDate*(date) The label’s date of creation in ISO 8601 format is "YYYY-MM-DD"
labelID*(array) An array of shipments ID obtained with createLabel
Response Body200


            
Parameter Description
courier(string) Courier code
number(string) Confirmation number
date(string) Confirmation date
shipments(int) Number of confirmed shipments
manifest(string) Manifest in Base64 encoded PDF
Errors
In case of error, the "result" field will contain "KO" and the "error" field the description of the error.

Couriers

getCouriers

getCouriers allows to request the couriers' list both in total and by individual country/region.
GEThttps://api.qapla.it/1.2/getCouriers/?apiKey=[API_KEY]&country=[COUNTRY_LIST]&code=[COURIER_CODE]
Parameters
Parameter Description
apiKey the API Key assigned to the channel we want to query
Optional parameters
country empty for all couriers, or a comma-separated list of country values
country=it,fr,global
The available values are:
AustriaatAustria
BelgiumbeBelgium
SwitzerlandchSwitzerland
ChinacnChina
CypruscyCyprus
Czech RepublicczCzech Republic
GermanydeGermany
DenmarkdkDenmark
EstoniaeeEstonia
SpainesSpain
eu
FinlandfiFinland
FrancefrFrance
United KingdomgbUnited Kingdom
global
GreecegrGreece
Hong KonghkHong Kong
CroatiahrCroatia
HungaryhuHungary
IrelandieIreland
ItalyitItaly
South KoreakrSouth Korea
LithuanialtLithuania
LatvialvLatvia
MaltamtMalta
MalaysiamyMalaysia
NetherlandsnlNetherlands
PolandplPoland
PortugalptPortugal
RussiaruRussia
SwedenseSweden
SloveniasiSlovenia
USAusUSA
South AfricazaSouth Africa
code The Qapla' code of the courier
code=BRT
Response Body200
The following URL
GEThttps://api.qapla.it/1.2/getCouriers/?apiKey=[API_KEY]&country=global
will result:

        

detectCourier

detectCourier tries to determine the courier from the tracking number provided, responding with a list of couriers.
GEThttps://api.qapla.it/1.2/detectCourier/?apiKey=[API_KEY]&trackingNumber=[TRACKING_NUMBER]
Parameters
Parameter Description
apiKey The API Key assigned to the channel we want to query
trackingNumber The tracking number to be identified
Response Body200

        

Channels

getChannel

getChannel allows you to obtain information on the channel connected to the API Key and the company who created it.
GEThttps://api.qapla.it/1.2/getChannel/?apiKey=[API_KEY]
Parameters
Parameter Description
apiKey The API Key assigned to the channel we want to query
Optional Parameters
data It obtains information on the configuration of the channel with respect to the platform and/or marketplaces.

Possible values (all, platform, marketplaces)

Response Body200

        

Misc

getCredits

getCredits allows you to get the remaining credits on your premium account.
GEThttps://api.qapla.it/1.2/getCredits/?apiKey=[API_KEY]
Parameters
Parameter Description
apiKey The API Key assigned to the channel we want to query
Response Body200


            
Description
result(string) The result of the operation: OK or KO in case of error
error(string) The error in case of result: KO
credits(int) Remaining credits
date(string) Count update date

getQaplaStatus

getQaplaStatus allows you to get the detailed list of Qapla' shipping status
GEThttps://api.qapla.it/1.2/getQaplaStatus/?apiKey=[API_KEY]&lang=[LANG]&id=[ID]
Parameters
Parameter Description
apiKey(string) The API Key assigned to the channel we want to query
Optional parameters
lang(string) The language of the names of the Qapla' status (it, en, es), default: it.

Example:

&lang=en
id(int) Possible id of which you want to get informations

Example:

&id=3
Response Body200


            
result(string) The result of the operation: OK or KO in case of error
error(string) The error in case of result: KO
version(string) The version of API
qaplaStatus(array) It is an array of status
statusID(int) The Qapla' status
status(string) Name of the status
statusDescription(string) Description of the status
color(string) The color assigned to the status
icon(string) The icon assigned to the status
statusDetailID(int) Possible status detail
statusDetail(string) Name of the detail
statusDetailDescription(string) Description of the detail

getPudos

getPudos allows you to request the list of PUDOs (Pick Up Drop Off points) of several couriers at the same time.
Attention
Ask for activation to Customer Care.
POSThttps://api.qapla.it/1.2/getPudos/?apiKey=[API_KEY]
Request

            
Parameters

*Mandatory Parameters

Parameter Description
apiKey*(string) The channel's API Key del canale
postCode*(string) Postal code of the locality you intend to search for PUDOs
country*(string) ISO 3166-2 code of the country where the postcode is located. No quality control of the code is performed
couriers(array) List of Qapla's "Courier Codes" whose PUDOs you want to know. Valid courier codes are BRT, DHL, DHLPARCEL-ES, FEDEX, FERMOPOINT, GLS, INPOST, PTI, UPS, CORREOS, TIPSA, CORREOS, CORREOS-EXPRESS, MRW-ES, SEUR, NACEX-ES and SENDING. If this parameter is not specified or left empty, PUDO locations for all valid and configured couriers in Qapla' will be retrieved
province(string) Province of the locality being searched
city(string) Town/city of the location being searched (required for TIPSA)
street(string) Address, complete with house number if applicable
radius(number) Radius, expressed in KM, within which to limit the search for PUDOs. Specifying a value ≤ 0 is equivalent to specifying no radius
limit(number) Number of PUDOs returned per courier. Specifying a value ≤ 0 is equivalent to specifying no limit, in which case the courier will return its default
Response Body200

            
Parameter Description
result(string) Indicates whether the operation was successful, possible values are 'OK' and 'KO'
error(string) Contains the description of the error, if any, that was raised, empty if result = 'OK'
data(array)

Array of objects containing the list of PUDOs. Each element of the array corresponds to the response obtained from a courier

statusCode(int)

Error code, result of the query made to the courier

200(int) OK/No error
404(int) NOT FOUND; the courier's webservice returned an empty list of PUDOs
408(int) TIMEOUT; the courier's webservice took too long to respond
500(int) GENERIC ERROR;
501(int) EMPTY RESPONSE; the courier's webservice did not return a response
522(int) UNPROCESSABLE RESPONSE; the courier webservice returned an output that could not be interpreted (e.g. invalid JSON or XML)
599(int) CUSTOM ERROR; the webservice replied with an error specific to the courier queried, more information on the error can be found in the 'error' field
courier(string) Code of the courier company queried (e.g. GLS, DHL, PTI, etc.)
error(string) Possible description of the error if one was raised during the query of the individual courier
servicePointList(array)

Array of objects containing the list of PUDOs. Each element of the array corresponds to the response obtained from a courier

ID(string) Internal identifier used by the courier
name(string) Name of exercise/shop/locker
type(string) Identifies the type of PUDO: SHOP = shop, LOCKER = post office, LOCKER = locker, SHOPINSHOP = shop within another shop (used by GLS)
telephone(string) Telephone number
street(string) PUDO address
postCode(string) PUDO postal code
city(string) City/town of PUDO
province(string) PUDO Province
country(string) PUDO country code (2 characters)
coordinates(oggetto) It contains two attributes, 'latitude' and 'longitude', of float type, which respectively contain the latitude and longitude of the geographical point where the PUDO is located
distance(float) The distance in km from the address/location being researched
notes(string) Any notes/indications
businessDays(array) Indicates the days and hours when the PUDO is open, see dedicated section
availableServices(array) Array of objects consisting of two attributes 'serviceCode' and 'serviceDescription', both of type string; they represent the services available from the PUDO; the 'serviceCode' field may be absent if not provided by the courier
courierSpecific(array) Array of objects consisting of two attributes 'name' and 'value', both of type string; they represent specific fields for a given courier (e.g. harmonisedId for DHLPARCEL-ES)
holidays(array di oggetti) Array of objects consisting of two attributes 'startDate' and 'endDate', both of type string and representing respectively start and end dates of scheduled closing periods. The dates are in the format "yyyy-mm-dd"
pushOrderPUDO(oggetto) JSON object that can be passed to the 'pushOrder' API and can have different fields depending on the courier. For more information see pushOrder
Business Days

An object of the array businessDays represents a weekly opening day and has several attributes:

Parameter Description
day(int) Indicates the number of the day of the week according to ISO 8601 coding ( 1 = Monday...7 = Sunday)
dayName(string) The name of the day of the week in English
dayNameIT(string) The name of the day of the week in Italian
businessHours(array) Array of objects consisting of two attributes, 'open' and 'close', both of type string, representing a time in the format 'hh: mm'

Script

Qapla's APIs can be efficiently queried using JavaScript scripts.

Tracking Script

By entering and configuring our Tracking Script, you can get tracking anywhere on the site.

<!-- Place this code after <body> tag -->
<script type="text/javascript">
    let apiKey = "7b1b7235"; // your channel's public API Key
    let reference = "104"; // your order's reference
    // let noCSS = true;
    // let compact = true;
    // let lang = "en";
</script>

<script type="text/javascript" src="https://api.qapla.it/js/1.2/qapla-tracking.min.js"></script>

<!-- Place this element where you want to display the Qapla' Tracking -->
<div id="qapla-tracking"></div>
Parameters
ParameterDescription
apiKey*(string)The "public" API KEY present in the configuration of the sales channel on the Qapla' Control Panel (CP).
reference*/ trackingNumber*(string)Track by order reference or by tracking number.
noCSS(bool)If true not include the standard css, allowing an override.
compact(bool)If true a compact version is displayed.
lang(string)

if set it shows the courier statuses in the selected language. If not set, the default ('it') is used

lang(string)

Languages in which courier statuses can be displayed

it(string) Italian
en(string) English
de(string) German
fr(string) French
es(string) Spanish
pt(string) Portuguese
zh(string) Chinese
ru(string) Russian
jp(string) Japanese
cs(string) Czech
rn(string) Romanian
hu(string) Hungarian
ar(string) Arabic
sk(string) Slovak
pl(string) Polish
kr(string) Korean
Result
The result is an HTML that will be inserted into the element with id qapla-tracking having the following content. tracking

Help

Qapla' Status

It's the interpretation of the status of the shipment with values that Qapla' assigns to each possible state of the courier.

idnameDescription

Couriers

List of Qapla's couriers' codes, in alphabetical order.
CodeNameURL
Default G Q
Default 0 0
ASENDIA G Q
e-PAQ Plus 31
e-PAQ Select 32
BRT G Q
Express 0 0
Priority 1 E
10:30 2 H
Circuito DPD 6 6
Circuito Euroexpress 7 7
Circuito Fedex 8 8
DPD Direct Infeed 9 9
CORREOS G Q
Domestic
PAQUETE POSTAL PRIORITARIO (I) 20
POSTAL EXPRéS (I) 21
PAQ Estándar DOMICILIO 22
PAQ Estándar OFICINA 23
PAQ RETORNO PREMIUM CON Envío ASOCIADO 25
S0148 PAQ RETORNO 26
PAQ PREMIUM DOMICILIO 27
PAQ PREMIUM EN OFICINA 28
PAQUETE POSTAL Económico (I) 30
PAQ PREMIUM ENTREGA EN HOMEPAQ 31
PAQ PREMIUM ENTREGA EN CITYPAQ 32
PAQ Estándar ENTREGA EN HOMEPAQ 33
PAQ Estándar ENTREGA EN CITYPAQ 34
International
PAQ STANDARD INTERNACIONAL (I) 24
PAQ PREMIUM INTERNACIONAL (I) 29
PAQ INTERNACIONAL LIGH 35
CORREOS-EXPRESS G Q
Domestic
Paq 10 20 20
Paq 14 21 21
Paq 24 22 22
Baleares Express 23 23
Canarias Express 24 24
Canarias Aéreo 25 25
Canarias Marítimo 26 26
Paq Empresa 14 29
ePaq 24 30
54 Entrega Plus 31 31
Express Islands 32
International
Paq 24 22
Internacional Estándar 27 27
Internacional Express 28 28
Paq Empresa 14 29 29
ePaq 24 30 30
54 Entrega Plus 31
Crono G Q
Domestic
Express 2 P46
Economy 3 P49
Crono 1 P44
CRONOPLUS 5
ROAD EUROPE - EURODIS 6
Circuito Euroexpress 7
International
Internazionale 8 P48
DHL PARCEL CONNECT G Q
Domestic
DHL Parcel Connect connect
International
DHL Parcel International international
Dhl G Q
Domestic
Domestic Express 0
Domestic Express 10:30 2
Domestic Express 12:00 1
Domestic Express 9:00 4
Express Easy 21
International
Economy Select 8
Medical Express 20
Parcel Product 22
Express Worldwide H12 7
International Express Worldwide 9
International Express 9:00 10
FERCAM G Q
BOOK 0
FLEX 2
FIX 1
SPEED 3
Private 5
HD (check "assemblyTypes") 20
FedEx G Q
Domestic
Priority Overnight 0
International
Priority 6
First 7
Economy 8
Connect plus 10
Regional Economy 11
GLS-ES G Q
CO1 - COURIER 14:00 Service 20
CO2 - COURIER BusinessParcel 21
CO3 - COURIER 10:00 Service 22
CO4 - COURIER SaturdayService 23
CO5 - COURIER MASIVO 24
CO6 - COURIER REC. EN NAVE 25
EC1 - EconomyParcel EconomyParcel 26
CA1 - CARGA MARITIMO 27
CO7 - COURIER ParcelShop 28
EC2 - EconomyParcel ParcelShop 29
EU1 - EUROBUSINESS PARCEL EBP 30
EU2 - EUROBUSINESS SMALL PARCEL EBP 31
AS1 - ASM TRAVELLERS ASM TRAVELLERS 32
AS2 - RECOGIDA BusinessParcel 33
AS3 - DEVOLUCION BusinessParcel 34
AS4 - RETORNO BusinessParcel 35
AS5 - RC.SELLADA BusinessParcel 36
INPOST G Q
InPost Locker Standard 1
Liccardi G Q
Bancale B
Dedicato DE
Espresso E
Reso R
Store ZS
MRW-ES G Q
Urgente 10 0000
Urgente Hoy - Frecuencia 1 0005_1
Urgente Hoy - Frecuencia 2 0005_2
Promociones 0010
Urgente 10 Expedición 0015
Urgente 12 0100
Urgente 12 Expedición 0105
Urgente 14 0110
Urgente 14 Expedición 0115
Urgente 19 0200
Urgente 19 Expedicion 0205
Urgente 19 Portugal 0220
Bag 19 0230
Bag 14 0235
Economico 0300
Economico Interinsular 0350
Marítimo Baleares 0370
Marítimo Canarias 0385
Marítimo Interinsular 0390
Express Documentos 0400
Express 2 Kilos 0450
Caja Express 3 Kilos 0480
Documentos 14 0490
Ecommerce 0800
Tramo Orario 08-14 0800_tramo_1
Tramo Orario 16-19 0800_tramo_2
Ecommerce Ultrarrápido - Frecuencia 1 0800_1
Ecommerce Ultrarrápido - Frecuencia 2 0800_2
Ecommerce Canje 810
Milkman G Q
Standard 0
Premium 1
NACEX ES G Q
NACEX 10:00H 20
NACEX 12:00H 21
INTERDIA mañana 22
INTERDIA tarde 23
INTERDIA aéreo 24
PLUS BAG 1 25
PLUS BAG 2 26
VALIJA 27
VALIJA IDA Y VUELTA 28
NACEX 19:00H 29
PUENTE URBANO mañana 30
PUENTE URBANO tarde 31
PUENTE URBANO nocturno. 32
DEVOLUCION ALBARAN CLIENTE 33
NACEX 08:30H 34
DEVOLUCION TALON 35
DEVOLUCION PLUS BAG 1 36
DEVOLUCION PLUS BAG 2 37
DEVOLUCION E-NACEX 38
NACEX SABADO 39
CANARIAS MARITIMO 40
CANARIAS 24H 41
PLUS PACK 42
E-NACEX 43
PREMIUM 44
NX-SHOP VERDE 45
NX-SHOP NARANJA 46
E-NACEX SHOP 47
C@MBIO 48
CANARIAS 48H 49
INMEDIATO 50
NACEX.SHOP 51
SWAP 52
RETORNO SWAP 53
DEV. ORIGEN 54
EURONACEX TERRESTRE 55
SERVICIO AEREO 56
EURONACEX ECONOMY 57
PLUSPACK EUROPA 58
BALEARES MARITIMO 59
NEXIVE G Q
Sistema Completo 0
Sistema Economy 2
Sistema Slim 1
Sistema Espresso 3
Poste Delivery Business G Q
Domestic
Standard nazionale 0
Espresso nazionale 1
International
Standard internazionale APT000904
Espresso internazionale APT000903
SDA G Q
Extralarge 0 S09
Internazionale 8 S08
Economy 3 S24
Road Europe 7 S34
Export Box 6 S36
SEUR G Q
Domestic
SEUR 24 20
SEUR 10 21
SEUR 13:30 22
SEUR FRIO 10 27
SEUR FRIO 13:30 28
Seur FRIO 48 (Baleares) 29
Seur 13 Saturday 30
International
Seur Internacional NON EU 23
Seur Classic (DPD) Internacional Terrestre 24
Seur Classic (DPD) Predict Crossborder 25
Seur NetExpress (SEUR) Internacional Terrestre 26
SMM-IT G Q
AT_DPD_PRIME_GEN 20
AT_POST_0584 21
AT_POST_B2C 46
BE_G3_STA 22
BE_TOO_BP 47
CH_SWP_PPECO 23
DE_490_WINE 24
DE_DHL_STA_POST 25
DE_DPD_B2C 26
DE_HERM_DROPOFF 27
DE_HERM_STA 28
DE_HERM_WINE 29
DE_DHL_PAKET_WEBSERVICE 43
ES_CORR_DROPOFF 30
ES_CORR_STA 31
FR_COL_SFS 44
FR_GLS_ADO 32
FR_GLS_STA 33
FR_GLS_WINE 34
FR_LPF_OTH 35
FR_MONDIAL_DROPOFF 36
INT_DHL_ECO 37
INT_DHL_EXPMB 38
IT_GLS_LIGHT 39
IT_SDA_MULTI 40
NL_G3_STA 41
PT_CORR_RAN 42
ES_PAA_STA 45
SkyNet Worldwide Express G Q
Domestic
Domestic Express 0
Domestic Express 1/5000 1
Express Documents 6
Express Non Documents 7
SKYSAVER 8
International
USA Deferred 9
USA Economy Service 10
Spring GDS G Q
TRCK - TRACKED 20
SIGN - SIGNATURED 21
PPTT - PostNL Packet Tracked 30
PPTR - PostNL Packet Registered 31
PPNT - PostNL Packet Non Tracked 32
TIPSA G Q
20 - DELEGATION 20
48 - ECONOMY 21
25 - FARMA 22
96 - MARITIMA 23
24 - PREMIUM 24
06 - TIPSA 06 25
10 - TIPSA 10 26
14 - TIPSA 14 27
MV - TIPSA, 28
50 - YUPICK 29
TNT G Q
Domestic
Nazionale Express 0
Nazionale 12:00 Express 1
Nazionale 10:00 Express 2
Nazionale Economy Express 3
International
Internazionale Express 6
Internazionale 12:00 Express 7
Internazionale Economy Express 8
Internazionale 12:00 Economy Express 9
TNT ES G Q
Domestic
Express 40
10:00 Express 42
12:00 Express 44
Express Plus 46
International
Economy Express 20
12:00 Economy Express 21
Express 22
9:00 Express 24
10:00 Express 26
12:00 Express 28
TNT IT G Q
Domestic
Nazionale Express 0 0
Nazionale 12:00 Express 1 1
Nazionale 10:00 Express 2 2
Nazionale Economy Express 3 3
International
Internazionale Express 6 6
Internazionale 12:00 Express 7 7
Internazionale Economy Express 8 8
Internazionale 12:00 Economy Express 9 9
UPS G Q
Domestic
Nazionale Express Saver 0 0
Nazionale Express 1 1
Nazionale Express Plus 2 2
Nazionale Standard 3 3
International
Internazionale Express 6 6
Internazionale Express Plus 7 7
Internazionale Standard 8 8
Internazionale Saver 9 9
Expedited 10 10
USA Next day air 21 21
USA 2nd day air 22 22
USA Ground 23 23
ARCO
Preavviso telefonico S
ASENDIA
Economy ECO
Signature SIG
PUDO PUDO
Mailbox MBX
Predict next day PND
Predict two days P2D
Saturday SAT
Evening delivery ED
Timed delivery by 10.00 1000
Timed delivery by 12.00 1200
Dangerous Goods DG
Address correction AC
POD POD
Flex FLX
Enhanced liability 500 € EL500
Enhanced liability 45 € EL45
Enhanced liability 150 € EL150
Sea SEA
Personal Delivery PD
BRT
su appuntamento A
consegna al piano P
CORREOS
Código Oficina (máximo 7 caracteres)
CORREOS EXPRESS
Entrega el sábado sabato
FERCAM
Al piano alPiano
Sponda sponda
Prenotazione telefonica appuntamento
GLS-ITA
EXPRESS 12 22
FLEX DELIVERY PARCEL 31
EXCHANGE 24
CONSEGNA AL PIANO 05
PREAVVISO TELEFONICO 25
SERVIZIO AL SABATO 07
SERVIZIO AL SABATO AFTERNOON 29
ENTRO ORE 12 01
ORA FISSA 02
SATURDAY EXPRESS 36
LICCARDI
Preavviso telefonico preavvisoTelefonico
MRW_ES
Entrega el sábado sabato
Entrega urgente 8:30 entrega830
Entrega Partir De (de 00:00 a 23:00) ejemplo 10:00
Sin gestión N_gestion
Gestión en origen O_gestion
Gestión en destino D_gestion
Sin retorno N_retorno
Retorno de albarán cobro en destino D_retorno
Retorno de mercancia S_retorno
Sin confirmación inmediata de entrega/recogida N_confirm
Confirmación inmediata de recogida R_confirm
Confirmación inmediata de entrega E_confirm
PTI
Al piano alPiano
Sabato sabato
Su appuntamento appuntamento
Poste Delivery Now PDBnow
SDA / CRONO-PTI
consegna al piano alPiano
consegna al sabato sabato
consegna alla sera sera
su appuntamento appuntamento
Ore 09:00 T09
Ore 10:00 T10
Ore 12:00 T12
SEUR
Entrega el sábado sabato
TWS
Consegna entro le 09:00 AM - spedizione monocollo T09
Consegna entro le 10:00 AM T10
Consegna entro le 12:00 AM T12
Consegna Al Piano PIA
Consegna Di Sabato SAB
Consegna Su Appuntamento APP
Consegna Di Sera SER
Combinazione Consegna Al Piano/Di Sabato PSA
Combinazione Consegna Al Piano/Su Appuntamento PAP
Combinazione Consegna Al Piano/Di Sera PSE
Combinazione Consegna Al Piano/Ore 9 PI0
Combinazione Consegna Al Piano/Ore 10 PI1
Combinazione Consegna Al Piano/Ore 12 PI2
Combinazione Consegna Di Sabato/Su Appuntamento SAP
Combinazione Consegna Su Appuntamento/Di Sera ASE
Combinazione Consegna Al Piano/Su Appuntamento/Di Sera APS
Combinazione Al Piano/Di Sabato/Su Appuntamento ASP
BRT - DISK B – WS REST G Q
CONTANTE 12 12
ASSEGNO INTESTATO AL MITTENTE [BP] 17 17
ASSEGNO CIRCOLARE INTESTATO ALLA MITTENTE [CM] 18 18
ASSEGNO BANCARIO INTESTATO ALLA MITTENTE [BM] 15 15
ASSEGNO CIRCOLARE INTESTATO AL CORRIERE 6
ASSEGNO CIRCOLARE INTESTATO AL MITTENTE ORIGINALE [OC] 10 10
ASSEGNO INTESTATO AL MITTENTE ORIGINALE [OM] 11 11
ASSEGNO BANCARIO INTESTATO CORRIERE CON MANLEVA [BB] 3 3
ACCETTARE ASSEGNO BANCARIO INTESTATO ALLA MITTENTE COSI COME RILASCIATO [TM] 19 19
DHL G Q
CASH, POS YYY
CONTANTE 12
ASSEGNO CIRCOLARE INTESTATO AL MITTENTE ORIGINALE 10 GGG
ASSEGNO BANCARIO INTESTATO AL MITTENTE ORIGINALE 15 QQQ
CONTANTI, POS, ASSEGNO O ASSEGNO POSTALE O ASSEGNO CIRCOLARE PAGABILE AL MITTENTE 0 KKK
ASSEGNO BANCARIO O ASSEGNO POSTALE INTESTATO CASA MANDANTE RRR
ASS. CIRC. INT CASA MANDANTE LLL
CASH, POS O ASSEGNO (BANC./POST./CIRCOLARE) INTESTATO CASA MANDANTE JJJ
FERCAM G Q
CONTANTE 12
ASSEGNO INTESTATO AL MITTENTE ORIGINALE 15
GLS-ITA G Q
CONTANTE CONT
ASSEGNO BANCARIO AB
ASSEGNO CIRCOLARE/BANCARIO (NO POSTALE) ABC
ASSEGNO BANCARIO/POSTALE (NO CIRCOLARE) ABP
ASSEGNO CIRCOLARE AC
ASSEGNO POSTALE AP
ASSEGNO CIRCOLARE/BANCARIO/POSTALE ASS
Ass. come rilasciato ASR
Ass. come rilasciato int. Mittente ARM
Ass. come rilasciato - no postale ASRP
Ass. come rilasciato int. Mittente – no postale ARMP
LICCARDI G Q
SOLO CONTANTI CNT 3
ASSEGNO CIRCOLARE INTESTATO AL MITTENTE ACM 5
ASSEGNO BANCARIO INTESTATO AL MITTENTE ABM 4
ASSEGNO A MITTENTE COME RILASCIATO 6
CONTANTI O ASSEGNO A MITTENTE COME RILASCIATO T 8
POSTE DELIVERY BUSINESS G Q
CONTANTE 12 12
ASSEGNO CIRCOLARE INTESTATO AL MITTENTE 10
ASSEGNO BANCARIO INTESTATO AL MITTENTE 11
ASSEGNO INTESTATO AL MITTENTE ORIGINALE 15
SDA G Q
Tutti VAR VAR
Contanti CON CON
Ass.Banc.Mittente ABM ABM
Ass.Banc.SDA ABS ABS
Ass.Circ.Mittente ACM ACM
Ass.Circ.SDA ACS ACS
TNT IT G Q
CONTANTE 12 12
ASSEGNO INTESTATO AL MITTENTE ORIGINALE 15 15