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.
- Qapla' API is based on REST.
- Accepts GET, POST, PUT and DELETE JSON encoded requests.
- Returns JSON encoded values.
- The reference time zone is CEST, which corresponds to UTC + 2 when daylight saving time is in effect, or UTC + 1 when standard time is in effect.
New Version Available
The latest available API version is 1.3
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.
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 limit applies per channel (API Key): 150 tokens every 60 seconds.
| Limit | 150 | Tokens available per channel in one window |
|---|---|---|
| Window | 60 s | Starts with the first request; when it expires the counter is reset |
A multiple request consumes one token per element: a pushShipment or pushOrder with 100 shipments or orders is worth 100 tokens.
HTTP Response Status Codes
Exceeding the limit will lead to the following HTTP response429 Too Many Requests
and the following response error by any API involved
"error": "Too Many Requests"
After a 429 tokens are not refilled gradually: wait for the current window to end, at most 60 seconds. Rejected requests consume tokens too, without extending the window: retrying before it expires only produces more 429s.
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.Shipments
- Channel, represented by API Key
- Courier, "courier"
- Tracking number, "trackingNumber"
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.
- "minimum" containing 3 mandatory fields*
- "necessary" to activate additional communication services to the customer such as transactional emails, etc.•
- "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.
|
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.
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.
The parameter can be combined separated by commas, for example &data=consignee,historyin 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
|
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
| Parameter | Description |
|---|---|
| apiKey | the API Key assigned to the channel we want to query |
| [DATE]* | |
| shipDate | shipment date in format ISO 8601 "YYYY-MM-DD" |
| orderDate | order date in format ISO 8601 "YYYY-MM-DD" |
| dateIns | upload date in format ISO 8601 "YYYY-MM-DD" |
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
|
Errors
updateShipment
updateShipment allows you to update a shipment.PUThttps://api.qapla.it/1.2/updateShipment/
Parameters
The shipment is identified by
- trackingNumber
- courier
Not every pushShipment field can be updated: only these ones can
- reference, orderDate, shipDate, deliveryDate
- name, street, city, ZIP, state, country, email, telephone
- amount, shipping, pod, agent, tag, note
- custom1, custom2, custom3
- isTrackingNumber
Any other field (for example origin, rows, parcels) is not applied
and is listed in ignoredFields in the response. The call still answers OK when
at least one updatable field has been updated: check ignoredFields to know what was not
applied.
Fields with an empty value, 0 or false are skipped: a field cannot be cleared,
and pod and isTrackingNumber cannot be set to false. If no updatable
field has a value, the response is KO with error data is empty.
Response Body200
If the request contains fields that cannot be updated, the response lists them:
{"updateShipment":{"result":"OK","error":null,"ignoredFields":["origin"]}}
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/?apiKey=[API_KEY]
GEThttps://api.qapla.it/1.2/trackingByTimeFrame/?apiKey=[API_KEY]&dateFrom=[YYYY-MM-DD HH:MM:SS]&dateTo=[YYYY-MM-DD HH:MM:SS]
GEThttps://api.qapla.it/1.2/trackingByTimeFrame/?apiKey=[API_KEY]&dateFrom=2019-10-29%2017:00:00&dateTo=2019-10-29%2023:59:59&lang=en
Without dates it returns the shipments updated in the last hour. In the query string the space between date and time must be encoded (%20).
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) | default: today at 23:59:59. In format ISO 8601 "yyyy-mm-dd hh:mm:ss", time included |
| lang |
The language of the names of the Qapla' status (it, en, es), default: it.
Example: &lang=en |
Response Body200
If no shipment was updated in the timeframe the response has "result" set to "KO" and "error" set to "no shipments found".
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
- Channel, represented by API Key
- Order reference, "reference"
- Tracking number, "trackingNumber
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, bricobravo, miravia_es
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pushOrder(array) |
It is an array of maximum 100 orders to load.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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.
|
||||||||||
| 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]
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" |
Response Body200
deleteOrder
deleteOrder allows you to delete an order.DELETEhttps://api.qapla.it/1.2/deleteOrder/
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/
detectOrderCourier
Ask for activation to Customer Care.
Useful before of a createLabel to identify in advance the courier to use.
The rules identify the courier according to weight, any cash on delivery amount, the destination zip code and — when configured — the product codes (SKU) of the order rows, the order tag and the custom fields.If you have clear rules such as the following:
| weight | COD | CAP | |
|---|---|---|---|
| less than or equal to 3Kg | GLS | ||
| greater than 3 Kg | less than 100 € | BRT | |
| greater than 3 Kg | greater than 100 € | less than 70000 (north) | GLS |
| greater than 3 Kg | greater 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 | ||
| rows(array) |
The order rows. They are needed only if the channel has rules on the product code (SKU): without them such a rule cannot be satisfied, and the evaluation moves on to the next rule, or to the default one. Same shape as createLabel, so a payload already built for that one can be reused as is: the other row fields are accepted and ignored, only the
How the comparison works: the rule is satisfied when at least one order row matches an included code — case insensitively, and by prefix if the rule is configured that way. An excluded code makes the rule fail instead, even when another row matches an included one. An order carrying no rows matches no rule with a SKU list, not even one made of excluded codes only. |
||
| tag(string) |
The order tag, if the channel has rules on it. One of The tag has to be passed in the very call that creates the order (pushOrder 1.3 or createLabel): rules are evaluated on order creation only, so a tag assigned later on — |
||
| custom1 custom2 custom3(string) |
The three custom order fields, if the channel has rules on them. 255 characters at most each: a longer value is truncated and stops matching the one configured on the rule. The comparison is case insensitive and ignores leading and trailing spaces. A rule can list several accepted values separated by a semicolon (e.g. |
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.No courier found ("result":"KO", "error":"No courier found") has two possible meanings:
- no channel rule matches the order parameters (or no rule is configured at all);
- the courier of the matching rules is temporarily suspended. From the Control Panel (Channel settings → Couriers → Availability for the automatic rules) a courier can be excluded until a given date (strikes) or after a daily cutoff time (missed pickup). The suspension applies to the default rule as well: while the window is open an order can be left without a courier.
To stay independent from the rules during a suspension, set the courier explicitly in createLabel (courier parameter).
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.
|
Response Body200
Errors
In case of error the "result" field will contain "KO" and the "error" field the description of the error.Platforms
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¤, teamsystemcommerce¤, vtex, woocommerce, worten, leroymerlin, greenweez, maisondumonde, mediamarkt,
bigcommerce, commercelayer, shopware6, aliexpress, allegro, sprinter, decathlon, bricobravo, miravia, tiktokshop, temu, redcarepharmacy, etsy, vivino, modivo, conforama, elcorteingles, pccomponentes
¤storeden and teamsystemcommerce can be used as synonyms
With etsy and vivino dateTo is ignored: the orders from dateFrom to now are returned. etsy returns only paid orders not yet shipped.
With temu the response time grows with the number of orders: prefer short timeframes, one day at most.
|
| 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). |
| latestShipDate / latestDeliveryDate(timestamp) | Currently filled in only for Ebay and Amazon, these are the date values for "lastest shipping date" and lastest delivery date" in format ISO 8601 "yyyy-mm-dd" |
| 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, cdiscount, ecwid, shopware6, storeden¤, teamsystemcommerce¤, vtex, aliexpress, allegro, ebay, eprice, privalia, sprinter, worten, decathlon, bricobravo, miravia, tiktokshop, temu, redcarepharmacy
¤storeden and teamsystemcommerce can be used as synonyms
|
| 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 |
| amazonDirectUpdate(bool) | Updates Amazon directly (new mode). In case of errors reported by Amazon, the "errorDetails" array will be populated in the response. |
Peculiarities
Either setShipped or setDelivered is required.
The update request with setShipped and trackingNumber must be repeated twice with at least a 1-hour interval due to marketplace policy that requires a 1-hour interval between the Ready To Ship and Shipped statuses.
The update request with setDelivered must be made only once at least 12 hours after the second request with setShipped due to marketplace policy that requires a 12-hour interval between the Shipped and Delivered statuses.
Amazon updates are not performed directly but are queued in a batch for subsequent processing. It is possible to update Amazon directly without queuing in the batch by using the "amazonDirectUpdate" option set to "true".
Starting July 1st 2026, shipment confirmations for shipments originating from geographic areas outside the EU and destined for the European Union, where the item price is equal to or less than € 150 (excluding VAT, shipping costs, and promotional discounts), will be validated against the list of carriers authorized by Amazon. Shipments using unsupported carrier names or associated with invalid codes will be rejected.
It is recommended to use "amazonDirectUpdate: true" to immediately obtain the result of the update from Amazon.
Labels
createLabel
createLabel allows you to create a label in PDF or ZPL format (Settings should be configured on the control panel).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, bricobravo, miravia_es
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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. If the field is empty or not sent, the default is '0'. GLS Italy: the field holds the merchant's GLS contract code, not a service code. If it is empty, the first contract configured on the channel is used; if the channel has none, the call returns KO. GLS accessory services (e.g. 22 EXPRESS 12, 02 ORA FISSA) go in shippingDeliveryOptions as comma-separated codes (02, not ORA FISSA). For 02 ORA FISSA there is currently no field for the delivery time. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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 Attention: for AMAZON-SHIPPING, when used with a pickup point (PUDO object), the recipient email is mandatory. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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:
To generate directly with CRONO PTI, the value must be passed in the form of a string, specifying one of the following codes:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| shippingDeliveryOptions(string | JSON) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| rows(array) |
It is an array of "order rows". It is not mandatory, but if populated it has some mandatory data.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| assemblyTypes(array) |
Possible list of assembly types, one per product, for couriers who support this information
Available for the "courierService" 20 (HD). One element must be specified for each element of rows. Available values for "code":
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| invoice(object) |
It allows you to set information regarding the invoice associated with the shipment, useful for shipments that have to go through customs.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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:
|
| 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.The label is also cancelled with the courier, where the courier supports it, and the order it was created from becomes available again for a new createLabel.
DELETEhttps://api.qapla.it/1.2/deleteLabel/
getLabel
getLabel allows you to download a label created on Qapla' in the orignal courier format (PDF, JPG or ZPL).GEThttps://api.qapla.it/1.3/getLabel/?apiKey=[API_KEY]&trackingNumber=[TRACKING_NUMBER]
GEThttps://api.qapla.it/1.3/getLabel/?apiKey=[API_KEY]&reference=[ORDER_REFERENCE]
GEThttps://api.qapla.it/1.3/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|string) | The parcel number corresponding to the label (default = 1) - Only for PDF labels.
With all it returns every parcel in a single document: for PDF one file with a page per parcel, each in the courier's original size; for ZPL the whole string. Without "parcel" the response is still the first parcel. Example: &parcel=all |
| 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
"label" holds the parcel requested with "parcel" (the first one if omitted; all of them joined, with "parcel=all"). "labels" always holds every parcel, one per element, as in createLabel: for ZPL a single element with the whole string.
Label not ready yet200
Some couriers create the shipment before the label exists (SpediamoPro and InPost, for
instance): the shipment is already created and paid for, the file follows shortly after,
and on InPost the tracking number may take a few hours. Until the courier has produced it,
this endpoint answers with "labelStatus" set to "PENDING" and "label" set to null,
instead of the label.
PENDING is not an error: "result" is "OK" and the shipment exists. It is the answer to read again a few minutes later, by repeating the same call. Do not call createLabel again to get the label — a second call may create and charge a second shipment.
The tracking number and the label complete independently, so you may read the tracking number while the label is still null, and the other way round. This answer is returned with or without the &json parameter: an empty file would not be a useful answer.
Errors
In case of an error the "result" field will contain "KO" and the "error" field the description of the error.| error | When |
|---|---|
| label not available | The shipment exists but has no label. You will never see this on a courier that produces the label after creation: there the answer is "labelStatus": "PENDING" (see above). |
| return label not available | A shipment with no return label was requested with "&getReturnLabel". This is the common case: most shipments do not have one, and it is not "being produced" — it was never ordered. |
| label temporarily unavailable | The label exists but could not be read right now. Unlike the two above, this one is worth retrying. |
| requested parcel 'N' is out of range | "parcel" is lower than 1 or greater than the number of parcels of the shipment. |
| parcel 'all' not available for JPG labels: add json to get every parcel in labels | "parcel=all" on a multi-parcel JPG label: images are not joined into one file. With "&json" you get every parcel in "labels". |
| parcel 'all' not available for this label: add json to get every parcel in labels | "parcel=all" on a courier PDF that cannot be joined. Here too, "&json" returns every parcel in "labels". |
checkLabel
checkLabel allows you to check the status of a previously created label.GEThttps://api.qapla.it/1.2/checkLabel/?apiKey=[API_KEY]&trackingNumber=[TRACKING_NUMBER]
GEThttps://api.qapla.it/1.2/checkLabel/?apiKey=[API_KEY]&reference=[ORDER_REFERENCE]
GEThttps://api.qapla.it/1.2/checkLabel/?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 |
| id(int) | The label id |
Response Body200
Errori
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.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 Parameter not supported for this carrier, use labelCreationDate parameter only |
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 valuescountry=it,fr,globalThe available values are:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| code | The Qapla' code of the couriercode=BRT |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| hasLabels | Returns couriers who have label generation on Qapla' | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Response Body200
The following URL
GEThttps://api.qapla.it/1.2/getCouriers/?apiKey=[API_KEY]&country=globalwill result:
The variants field
Each courier includes a variants array with any variants configured for the channel. Variants are alternative configurations of the same courier (e.g. different contracts) and have their own unique code.
| id(int) | Internal variant ID |
|---|---|
| code(string) | Variant code to use in the courier field of pushShipment, pushOrder and createLabel |
| name(string) | Descriptive name of the variant |
If the channel has no variants configured for a courier, variants is an empty array. Variants do not appear as top-level couriers.
detectCourier
detectCourier tries to determine the courier from the tracking number provided and responds with a list of candidates, the most likely first. Many couriers share the same tracking number format, so there can be more than one candidate; if the format is not recognised the list is empty.
Detection is based only on the format of the tracking number, measured on real shipments: it does not check that the tracking number exists at the courier. The couriers configured on the API Key's channel come first in the list.
Warning: detectCourier is meant for when the courier is not known. If you already know which courier you shipped with, pass it directly in pushShipment: do not call detectCourier and do not use the first result instead of the actual courier.
Recognised couriers: BRT, FEDEX, SENDING, SKYNET, GLS-ITA, FERCAM, DHL, PTI, SPRING-GDS, TWS, SDA, AMAZON-SHIPPING, AG-LOGISTICA, MONDIALRELAY, LICCARDI, INPOST-GROUP-V3, INPOST, TNT-ITA, CEVA-LOGISTICS, ARCO, UPS, DHLPARCEL-CONNECT, DHL-PAKET, CTT-EXPRESS, TIPSA, GLS-SPAIN, SEUR, MRW-ES, CORREOS-EXPRESS, GLS, CRONO-PTI.
GEThttps://api.qapla.it/1.2/detectCourier/?apiKey=[API_KEY]&trackingNumber=[TRACKING_NUMBER]
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
checkChannel
It allows you to verify the connections with the marketplace platform configured on the channel.GEThttps://api.qapla.it/1.2/checkChannel/?apiKey=[API_KEY]
createChannel
It allows to create a new channel.POSThttps://api.qapla.it/1.2/createChannel/
Request
Parameters
*Mandatory parameter
| Parameter | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| apiKey*(string) | The API Key assigned to the channel we want to query | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| createChannel*(object) |
|
Response Body200
Errors
In the event of an error, the "result" field will contain "KO" and the "error" field will contain the description of the error.updateChannel
It allows to change some channel settings.PATCHhttps://api.qapla.it/1.2/updateChannel/
Request
Parameters
*Mandatory parameter
| Parameter | Description |
|---|---|
| apiKey*(string) | The API Key assigned to the channel we want to query |
| updateChannel*(object) | Like create object |
Response Body200
Errors
In the event of an error, the "result" field will contain "KO" and the "error" field will contain the description of the error.deleteChannel
It allows to delete a specific channel.DELETEhttps://api.qapla.it/1.2/deleteChannel/
Request
Parameters
*Mandatory parameter
| Parameter | Description | ||
|---|---|---|---|
| deleteChannel*(object) |
|
Response Body200
Errors
In the event of an error, the "result" field will contain "KO" and the "error" field will contain the description of the error.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 statusGEThttps://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
|
getPudos
getPudos allows you to request the list of PUDOs (Pick Up Drop Off points) of several couriers at the same time.Ask for activation to Customer Care.
POSThttps://api.qapla.it/1.2/getPudos/
Request
Parameters
*Mandatory Parameters
| Parameter | Description |
|---|---|
| apiKey*(string) | The API Key of the channel. Alternatively, it can be provided as a query parameter in the request URL, always using the http POST method. Example: POSThttps://api.qapla.it/1.2/getPudos/?apiKey=[API_KEY] |
| 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 UPS, BRT, GLS, GLS-ITA, GLS-SPAIN, GLS-AT, DHL, PTI, INPOST-GROUP, INPOST-GROUP-V3, INPOST (deprecated), INPOST_PL (deprecated), FEDEX, DHLPARCEL-ES, CORREOS, SEUR, TIPSA, MRW-ES, NACEX-ES, CORREOS-EXPRESS, SENDING, DHL-PAKET, SPRING-GDS, TNT-ITA and AMAZON-SHIPPING. 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 |
| unifiedResults(bool) | If set to true, it changes the structure of the response obtained. In the data field there will be a list of pick-up points found without subdivision into courier blocks. Each item in the list will have the same structure as the items of `servicePointList` plus the `courier` field to identify the courier assigned to the pick-up point. |
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
|
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' |
Response Body with unifiedResults = true200
| 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 representing the list of PUDOs.
|
Script
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
| Parameter | Description | ||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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
|
Result
The result is an HTML that will be inserted into the element with id qapla-tracking having the following content.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.
| id | name | Description | |
|---|---|---|---|
| 0 | PROCESSING WAIT | Shipment found but any news yet from courier. | |
| 1 | PENDING | Shipment found but any news yet from courier. | |
| 2 | WAITING FOR PICK-UP | The courier didn’t pick up the shipment yet. | |
| 20 | DEPARTED | Shipment departed. | |
| 3 | IN TRANSIT | The goods are in transit. | |
| 50 | PROCESSING | Processing | |
| 50 | PROCESSING • CUSTOMS | ||
| 4 | OUT FOR DELIVERY | Shipment in delivery. | |
| 5 | FAILED DELIVERY ATTEMPT | Delivery failed. Early warning for potential problems. | |
| 8 | DELAY | Shipment is suffering delay. | |
| 6 | EXCEPTION | There is a problem; generic or explained by additional icons. | |
| 6 | EXCEPTION • STOCK | ||
| 6 | EXCEPTION • RETURN | ||
| 6 | EXCEPTION • DAMAGED | ||
| 6 | EXCEPTION • LOST | ||
| 6 | EXCEPTION • PARTIAL DELIVERY | ||
| 10 | PICKUP POINT | Delivered to a PickUp Point. | |
| 95 | RETURNED | Shipment returned to sender. | |
| 99 | DELIVERED | The shipment has been delivered to the recipient. |
Couriers
List of Qapla's couriers' codes, in alphabetical order.The AMAZON code is not in the list: it stands for Amazon Prime shipments of Amazon orders
fulfilled by the seller (Merchant Fulfilled Network), and it is used in createLabel and
pushOrder on channels that have the Amazon courier configured. Not to be confused with
AMAZON-SHIPPING (Amazon Shipping), which is in the list.
| Default | ||
|---|---|---|
| Default | 0 | 0 |
|
|
||
| e-PAQ Plus | ||
| e-PAQ Select | ||
|
|
||
| Express | 0 | |
| Priority | E | |
| 10:30 | H | |
| Circuito DPD | 6 | |
| Circuito Euroexpress | 7 | |
| Circuito Fedex | 8 | |
| DPD Direct Infeed | 9 | |
|
|
||
| Domestic | ||
| PAQ Estándar DOMICILIO | ||
| PAQ Estándar OFICINA | ||
| PAQ RETORNO PREMIUM CON Envío ASOCIADO | ||
| S0148 PAQ RETORNO | ||
| PAQ PREMIUM DOMICILIO | ||
| PAQ PREMIUM EN OFICINA | ||
| PAQ PREMIUM ENTREGA EN CITYPAQ | ||
| PAQ Estándar ENTREGA EN CITYPAQ | ||
| International | ||
| PAQ STANDARD INTERNACIONAL (I) | ||
| PAQ PREMIUM INTERNACIONAL (I) | ||
| PAQ INTERNACIONAL LIGH | ||
|
|
||
| Domestic | ||
| Paq 10 | 20 | |
| Paq 14 | 21 | |
| Paq 24 | 22 | |
| Baleares Express | 23 | |
| Canarias Express | 24 | |
| Canarias Aéreo | 25 | |
| Canarias Marítimo | 26 | |
| Paq Empresa 14 | 29 | |
| ePaq 24 | 30 | |
| 54 Entrega Plus | 31 | |
| Express Islands | 32 | |
| International | ||
| Paq 24 | 22 | |
| Internacional Estándar | 27 | |
| Internacional Express | 28 | |
| Paq Empresa 14 | 29 | |
| ePaq 24 | 30 | |
| 54 Entrega Plus | 31 | |
|
|
||
| Domestic | ||
| CTT 10 | C10 | |
| CTT 14 | C14 | |
| CTT 24 | C24 | |
| CTT 48 | C48 | |
| CTT BALEARES ECONOMY | CBA48 | |
| CTT BALEARES EXPRESS | CBA24 | |
| CTT CANARIAS AEREO | CCA24 | |
| CTT CANARIAS DOCUMENTACIÓN | CCAE | |
| CTT CANARIAS MARÍTIMO | CCAM | |
| International | ||
| CTT INTERNACIONAL ECONOMY | CIES | |
| CTT INTERNACIONAL EXPRESS | CIEX | |
|
|
||
| Domestic | ||
| Express | P46 | |
| Economy | P49 | |
| Crono | P44 | |
| CRONOPLUS | ||
| ROAD EUROPE - EURODIS | ||
| Circuito Euroexpress | ||
| International | ||
| Internazionale | P48 | |
|
|
||
| Domestic | ||
| DHL Parcel Connect | connect | |
| DHL Parcel Connect PLUS | connectPlus | |
| International | ||
| DHL Parcel International | international | |
|
|
||
| Domestic | ||
| Paket | 0 | |
| International | ||
| WeltPaket | 6 | |
|
|
||
| Domestic | ||
| Domestic Express | ||
| Domestic Express 10:30 | ||
| Domestic Express 12:00 | ||
| Domestic Express 9:00 | ||
| Express Easy | ||
| International | ||
| The wording "doc" indicates services without customs, "non-doc" those with customs. If both are present, the choice is made at code level. |
||
| Economy Select (doc / non-doc) | ||
| Medical Express (doc / non-doc) | ||
| Parcel Product (doc / non-doc) | ||
| Express Worldwide H12 (doc / non-doc) | ||
| International Express Worldwide (doc / non-doc) | ||
| International Express 9:00 (doc / non-doc) | ||
| Air Capacity Sales (doc / non-doc) | 70 | |
| ECONOMY BREAKBULK (doc) | 71 | |
| EXPRESS 10:30 (doc / non-doc) | 72 | |
| EXPRESS BREAKBULK (doc) | 73 | |
| EXPRESS ENVELOPE (doc) | 74 | |
| GLOBALMAIL (doc) | 75 | |
| Placeholder (doc) | 76 | |
| SAME DAY (doc) | 77 | |
| SAMEDAY SPRINTLINE (doc) | 78 | |
| EXPRESS EASY (non doc) | 79 | |
| FREIGHT WORLDWIDE (non doc) | 80 | |
| SAMEDAY JETLINE (non doc) | 81 | |
|
|
||
| BOOK | ||
| FLEX | ||
| FIX | ||
| SPEED | ||
| Private | ||
| HD (check "assemblyTypes") | ||
|
|
||
| Domestic | ||
| FedEx First | 12 | |
| FedEx Priority Express | 13 | |
| FedEx Priority | 14 | |
| FedEx Economy | 15 | |
| FedEx Priority Express Freight | 16 | |
| FedEx Priority Freight | 17 | |
| International | ||
| Priority | ||
| First | ||
| Economy | ||
| Connect plus | ||
| Regional Economy | ||
|
|
||
| PARCEL | PARCEL | |
| EXPRESS | EXPRESS | |
| FREIGHT | FREIGHT | |
|
|
||
| CO1 - COURIER 14:00 Service | ||
| CO2 - COURIER BusinessParcel | ||
| CO3 - COURIER 10:00 Service | ||
| CO4 - COURIER SaturdayService | ||
| CO5 - COURIER MASIVO | ||
| CO6 - COURIER REC. EN NAVE | ||
| EC1 - EconomyParcel EconomyParcel | ||
| CA1 - CARGA MARITIMO | ||
| CO7 - COURIER ParcelShop | ||
| EC2 - EconomyParcel ParcelShop | ||
| EU1 - EUROBUSINESS PARCEL EBP | ||
| EU2 - EUROBUSINESS SMALL PARCEL EBP | ||
| AS1 - ASM TRAVELLERS ASM TRAVELLERS | ||
| Express 19:00 | ||
|
|
||
| Codice contratto GLS / GLS contract code — vuoto: primo contratto del canale / empty: first channel contract. Servizi accessori / accessory services: shippingDeliveryOptions | <CodiceContrattoGls> | |
|
|
||
| InPost Locker Standard | 1 | |
|
|
||
| Bancale | B | |
| Dedicato | DE | |
| Espresso | E | |
| Reso | R | |
| Store | ZS | |
|
|
||
| Domestic – Merchant collection to Point Relais® | S01 | |
| Domestic – Point Relais® collection to Point Relais® | S02 | |
| International – Merchant collection to Point Relais® | S03 | |
| International – Point Relais® collection to Point Relais® | S04 | |
| International – Merchant collection to Home delivery | S05 | |
|
|
||
| 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 | |
|
|
||
| Standard | ||
| Premium | ||
|
|
||
| NACEX 10:00H | ||
| NACEX 12:00H | ||
| INTERDIA mañana | ||
| INTERDIA tarde | ||
| INTERDIA aéreo | ||
| PLUS BAG 1 | ||
| PLUS BAG 2 | ||
| VALIJA | ||
| VALIJA IDA Y VUELTA | ||
| NACEX 19:00H | ||
| PUENTE URBANO mañana | ||
| PUENTE URBANO tarde | ||
| PUENTE URBANO nocturno. | ||
| DEVOLUCION ALBARAN CLIENTE | ||
| NACEX 08:30H | ||
| DEVOLUCION TALON | ||
| DEVOLUCION PLUS BAG 1 | ||
| DEVOLUCION PLUS BAG 2 | ||
| DEVOLUCION E-NACEX | ||
| NACEX SABADO | ||
| CANARIAS MARITIMO | ||
| CANARIAS 24H | ||
| PLUS PACK | ||
| E-NACEX | ||
| PREMIUM | ||
| NX-SHOP VERDE | ||
| NX-SHOP NARANJA | ||
| E-NACEX SHOP | ||
| C@MBIO | ||
| CANARIAS 48H | ||
| INMEDIATO | ||
| NACEX.SHOP | ||
| SWAP | ||
| RETORNO SWAP | ||
| DEV. ORIGEN | ||
| EURONACEX TERRESTRE | ||
| SERVICIO AEREO | ||
| EURONACEX ECONOMY | ||
| PLUSPACK EUROPA | ||
| BALEARES MARITIMO | ||
|
|
||
| ST2 - Same day delivery - Timeslot available - 2 hours | ST2 | |
| PT2 - Precise day delivery - Timeslot available - 2 hours | PT2 | |
| CT2 - Two-day delivery - Timeslot available - 2 hours | CT2 | |
| WT2 - Any day delivery - Timeslot available - 2 hours | WT2 | |
| ST3 - Same day delivery - Timeslot available - 3 hours | ST3 | |
| ST4 - Same day delivery - Timeslot available - 4 hours | ST4 | |
| NT4 - Next day delivery - Timeslot available - 4 hours | NT4 | |
| PT4 - Precise day delivery - Timeslot available - 4 hours | PT4 | |
| CT4 - Two-day delivery - Timeslot available - 4 hours | CT4 | |
| WT4 - Any day delivery - Timeslot available - 4 hours | WT4 | |
| STH - Same day delivery - Timeslot available - morning or evening slots | STH | |
| NTH - Next day delivery - Timeslot available - morning or evening slots | NTH | |
| PTH - Precise day delivery - Timeslot available - morning or evening slots | PTH | |
| CTH - Two-day delivery - Timeslot available - morning or evening slots | CTH | |
| WTH - Any day delivery - Timeslot available - morning or evening slots | WTH | |
| PTA - Precise day delivery - Timeslot available - All day | PTA | |
| STZ - Same day delivery - Timeslot available - Other | STZ | |
| NTZ - Next day delivery - Timeslot available - Other | NTZ | |
| PTZ - Precise day delivery - Timeslot available - Other | PTZ | |
| CTZ - Two-day delivery - Timeslot available - Other | CTZ | |
| WTZ - Any day delivery - Timeslot available - Other | WTZ | |
| XTZ - Same day / express delivery - Timeslot available - Other | XTZ | |
| SF2 - Same day delivery - Fixed timeslot - 2 hours | SF2 | |
| NF2 - Next day delivery - Fixed timeslot - 2 hours | NF2 | |
| PF2 - Precise day delivery - Fixed timeslot - 2 hours | PF2 | |
| CF2 - Two-day delivery - Fixed timeslot - 2 hours | CF2 | |
| WF2 - Any day delivery - Fixed timeslot - 2 hours | WF2 | |
| XF2 - Same day / express delivery - Fixed timeslot - 2 hours | XF2 | |
| SF4 - Same day delivery - Fixed timeslot - 4 hours | SF4 | |
| NF4 - Next day delivery - Fixed timeslot - 4 hours | NF4 | |
| PF4 - Precise day delivery - Fixed timeslot - 4 hours | PF4 | |
| CF4 - Two-day delivery - Fixed timeslot - 4 hours | CF4 | |
| WF4 - Any day delivery - Fixed timeslot - 4 hours | WF4 | |
| XF4 - Same day / express delivery - Fixed timeslot - 4 hours | XF4 | |
| NFA - Next day delivery - Fixed timeslot - All day | NFA | |
| PFA - Precise day delivery - Fixed timeslot - All day | PFA | |
| CFA - Two-day delivery - Fixed timeslot - All day | CFA | |
| WFA - Any day delivery - Fixed timeslot - All day | WFA | |
| NFZ - Next day delivery - Fixed timeslot - Other | NFZ | |
| PFZ - Precise day delivery - Fixed timeslot - Other | PFZ | |
| CFZ - Two-day delivery - Fixed timeslot - Other | CFZ | |
| WFZ - Any day delivery - Fixed timeslot - Other | WFZ | |
| XFZ - Same day / express delivery - Fixed timeslot - Other | XFZ | |
| PS2 - Precise day delivery - Fixed timeslot - 2 hours (custom) | PS2 | |
|
|
||
| Domestic | ||
| Standard nazionale | APT000902 | |
| Espresso nazionale | APT000901 | |
| International | ||
| Standard internazionale | APT000904 | |
| Espresso internazionale | APT000903 | |
| International Plus | APT001013 | |
|
|
||
| Extralarge | S09 | |
| Internazionale | S08 | |
| Economy | S24 | |
| Road Europe | S34 | |
| Export Box | S36 | |
| Crono Internazionale | P48 | |
|
|
||
| Domestic | ||
| SEUR 24 | ||
| SEUR 10 | ||
| SEUR 13:30 | ||
| SEUR FRIO 10 | ||
| SEUR FRIO 13:30 | ||
| Seur FRIO 48 (Baleares) | ||
| Seur 13 Saturday | ||
| Seur 24 PICKUP | ||
| International | ||
| Seur Internacional NON EU | ||
| Seur Classic (DPD) Internacional Terrestre | ||
| Seur Classic (DPD) Predict Crossborder | ||
| Seur NetExpress (SEUR) Internacional Terrestre | ||
| Seur Classic 2SHOP | ||
|
|
||
| TRCK - TRACKED | ||
| SIGN - SIGNATURED | ||
| PPTT - PostNL Packet Tracked | ||
| PPTR - PostNL Packet Registered | ||
| PPNT - PostNL Packet Non Tracked | ||
|
|
||
| 20 - DELEGATION | ||
| 48 - ECONOMY | ||
| 25 - FARMA | ||
| 96 - MARITIMA | ||
| 24 - PREMIUM | ||
| 06 - TIPSA 06 | ||
| 10 - TIPSA 10 | ||
| 14 - TIPSA 14 | ||
| MV - TIPSA, | ||
| 50 - YUPICK | ||
|
|
||
| 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 | |
|
|
||
| ESPRESSO | ESPRESSO | |
| CAMIONISTICO | CAMIONISTICO | |
| TWSPACKETEXP | TWSPACKETEXP | |
| TWSPACKETCAM | TWSPACKETCAM | |
| TWSPACKETDOC | TWSPACKETDOC | |
| ESPRESSOGLS | ESPRESSOGLS | |
|
|
||
| Domestic | ||
| Nazionale Express Saver | 0 | |
| Nazionale Express | 1 | |
| Nazionale Express Plus | 2 | |
| Nazionale Standard | 3 | |
| International | ||
| Internazionale Express | 6 | |
| Internazionale Express Plus | 7 | |
| Internazionale Standard | 8 | |
| Internazionale Saver | 9 | |
| Expedited | 10 | |
| USA Next day air | 21 | |
| USA 2nd day air | 22 | |
| USA Ground | 23 | |
|
|
|
|---|---|
| Preavviso telefonico | S |
| Sponda idraulica | X |
|
|
|
| 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 |
|
|
|
| su appuntamento | A |
| consegna al piano | P |
| fermo deposito | F |
| ritiro contestuale | R |
|
|
|
| Código Oficina (máximo 7 caracteres) | |
|
|
|
| Entrega el sábado | sabato |
|
|
|
| Al piano | alPiano |
| Sponda | sponda |
| Prenotazione telefonica | appuntamento |
|
|
|
| 08:00 Service | 0800Service |
| 09:00 Service | 0900Service |
| 10:00 Service | 1000Service |
| 12:00 Service | 1200Service |
| Saturday 10:00 Service | Saturday1000Service |
| Saturday 12:00 Service | Saturday1200Service |
| Saturday Service | SaturdayService |
|
|
|
| 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 |
| MEZZO IDONEO | 06 |
|
|
|
| Preavviso telefonico | preavvisoTelefonico |
|
|
|
| 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 |
|
|
|
| Al piano | alPiano |
| Sabato | sabato |
| Su appuntamento | appuntamento |
| Poste Delivery Now | PDBnow |
|
|
|
| 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 |
|
|
|
| Entrega el sábado | sabato |
|
|
|
| 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 |
|
|
G | |
|---|---|---|
| CONTANTE | A | |
| ASSEGNO BANCARIO INTESTATO AL MITTENTE | 1 | |
| ASSEGNO CIRCOLARE INTESTATO AL MITTENTE | 2 | |
| ACCETTARE EFFETTO COME EMESSO DA DESTINATARIO | 9 | |
|
|
G | |
| CONTANTE | 12 | |
| ASSEGNO INTESTATO AL MITTENTE [BP] | 17 | |
| ASSEGNO CIRCOLARE INTESTATO ALLA MITTENTE [CM] | 18 | |
| ASSEGNO BANCARIO INTESTATO ALLA MITTENTE [BM] | 15 | |
| ASSEGNO CIRCOLARE INTESTATO AL MITTENTE ORIGINALE [OC] | 10 | |
| ASSEGNO INTESTATO AL MITTENTE ORIGINALE [OM] | 11 | |
| ASSEGNO BANCARIO INTESTATO CORRIERE CON MANLEVA [BB] | 3 | |
| ACCETTARE ASSEGNO BANCARIO INTESTATO ALLA MITTENTE COSI COME RILASCIATO [TM] | 19 | |
|
|
G | |
| CASH, POS | YYY | |
| CONTANTE | ||
| ASSEGNO CIRCOLARE INTESTATO AL MITTENTE ORIGINALE | GGG | |
| ASSEGNO BANCARIO INTESTATO AL MITTENTE ORIGINALE | QQQ | |
| CONTANTI, POS, ASSEGNO O ASSEGNO POSTALE O ASSEGNO CIRCOLARE PAGABILE AL MITTENTE | 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 | |
|
|
G | |
| CONTANTE | ||
| ASSEGNO INTESTATO AL MITTENTE ORIGINALE | ||
|
|
G | |
| 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 | |
|
|
G | |
| SOLO CONTANTI | 3 | |
| ASSEGNO CIRCOLARE INTESTATO AL MITTENTE | 5 | |
| ASSEGNO BANCARIO INTESTATO AL MITTENTE | 4 | |
| ASSEGNO A MITTENTE COME RILASCIATO | 6 | |
| CONTANTI O ASSEGNO A MITTENTE COME RILASCIATO | 8 | |
|
|
G | |
| CONTANTE | 12 | |
| ASSEGNO CIRCOLARE INTESTATO AL MITTENTE | 10 | |
| ASSEGNO BANCARIO INTESTATO AL MITTENTE | 11 | |
| ASSEGNO INTESTATO AL MITTENTE ORIGINALE | ||
|
|
G | |
| Tutti | VAR | |
| Contanti | CON | |
| Ass.Banc.Mittente | ABM | |
| Ass.Banc.SDA | ABS | |
| Ass.Circ.Mittente | ACM | |
| Ass.Circ.SDA | ACS | |
|
|
G | |
| CONTANTE | 12 | |
| ASSEGNO INTESTATO AL MITTENTE ORIGINALE | 15 |












































































