Data Exchange Protocol (v1.5)
New applications for connection to this protocol are not accepted. Use the updated version of the Data Exchange Protocol (v2.0) |
We have launched the delivery of parcels in CDEK parcel terminal! Already now you can send order to parcel terminals. Details of the protocol extension are here. |
For the "Order statuses" report, a limitation is introduced for the period of uploading changes. The period will be limited to 31 days. Those. DateLast - DateFirst = 31 days. If you try to enter a longer period, an error will be returned. |
Revision History
Version | Revision date | Revision description |
1.5 | January 29, 2019 | Creation of the documentation |
1.5 | February 4, 2019 | New tags for international order registration have been added to the method "Order registration" for online store New tags for the method "Order Change" have been added: RecipientName tag, Phone tag, Address block, DeliveryRecipientCostAdv block A recommended phone number format has been described |
1.5 | February 19, 2019 | Added description of the API calculator |
1.5 | March 20, 2019 | Additional service "Insurance" is allowed for delivery order. Added test accounts, test method links. |
1.5 | March 26, 2019 | Added ability to identify:
Added ability to update international order fields in the changing order method. |
1.5 | March 27, 2019 | Additional service "Package 1" is available. |
1.5 | April 8, 2019 | Added description of the calculator method "Calculating on tariffs without priority" The country code in the ISO_3166-1_alpha-2 format has been added to the method "Loading the list of pickup points" |
1.5 | April 24, 2019 | cityName, postcode и regionFiasGuid were added to the method "List of Cities" |
1.5 | May 13, 2019 | In the method "Registration of a Request from the Online Store" added the ability to specify the requisites of a real seller in the Seller block for further printing of requisites on checks: Name, Address, Phone, INN, OwnershipForm Removed individual elements SellerName and SellerAddress |
1.5 | June 17, 2019 | The opportunity to transfer goods marking will appear soon. In the documentation described the pass format of goods marking in the methods "Registration of a Request from the Online Store", "Order Update" and output format of goods marking in the methods "Order Status Report", "Order Information Report". |
1.5 | August 26, 2019 | Mandatory fields of the Sender block have been changed in the methods "Registration of a Delivery Order" |
1.5 | September 17, 2019 | New tag RecipientEmail has been added in the method "Order Change" |
1.5 | September 29, 2019 | New tag timezone has been added in the "List of cities" method response |
1.5 | October 28, 2019 | New filter weightmin has been added in the method "Loading the List of Pickup Points" New fileds have been added in the calculator methods for identify cities (senderCountryCode, receiverCountryCode, senderCity, receiverCity, senderLongitude, receiverLongitude, senderLatitude, receiverLatitude fields) |
1.5 | January 19, 2020 | Comment attribute has become mandatory in the method "Registration of a courier invitation" |
1.5 | March 23, 2020 | New filter havecash and HaveCash, TakeOnly, WorkTimeExceptions fields have been added to the method "Loading the list of pickup points" |
1.5 | March 27, 2020 | The "package volume (in m³)" field is excluded from the calculator API |
1.5 | April 17, 2020 | Added "Sent to the sender city" and "Received in the sending city" statuses |
1.5 | June 8, 2020 | Keys of online-shop test account were changed |
1.5 | July 10, 2020 | Updated reasons for Late Delivery |
1.5 | July 13, 2020 | Fields were removed from the "Description of Input Parameters" method: "DeliveryRecipientCost" - Additional delivery charge collected by the online store from the receiver (in the recipient country currency) "DeliveryRecipientVATRate" - VAT rate included in the extra delivery charge (for more details, see Appendix No. 4) "DeliveryRecipientVATSum" - VAT amount included in the extra delivery charge |
1.5 | July 14, 2020 | The "ClientSide" field was removed from the "order Registration for delivery" method" |
1.5 | July 23, 2020 |
|
1.5 | September 3, 2020 | 178, 179, 180, 181, 182, 183, 231, 232,376 tariff codes are no longer available |
1.5 | September 24, 2020 | Removed the "Creation of a Pre-Alert Document" method |
1.5 | October 5, 2020 | For the "Create order" and "Changing the order" methods, the "Length", "Width", and "Height" fields are required. |
1.5 | November 11, 2020 | Field "isHandout" was added in the "Loading the List of Pickup Points" method |
1.5 | December 15, 2020 | Field "IsReception" was added in the "Loading the List of Pickup Points" method |
1.5 | January 15, 2021 | For the "Order statuses" report, a restriction on the period for uploading changes has been introduced. The period is limited to 31 days. |
1.5 | January 22, 2021 | The history of statuses using the "Order statuses" method can be obtained only for orders created not earlier than 2020. |
1.5 | April 18, 2021 |
|
1.5 | April 28, 2021 | New additional services are available in the "Order registration", "Calculator" methods (Notification of order creation in CDEK, Notification of acceptance of an order for delivery, Courier package A2, Secure package A2, Secure package A3, Secure package A4, Secure package A5) |
1.5 | May 19, 2021 | New additional services are available in the "Order registration", "Calculator" methods (Box XS (0.5 kg 17x12x9 cm), Box S (2 kg 21x20x11 cm), Box M (5 kg 33x25x15 cm), Box L (12 kg 34x33x26 cm), Box (0.5 kg 17x12x10 cm), Box (1 kg 24x17x10 cm), Box (2 kg 34x24x10 cm), Box (3 kg 24x24x21 cm), Box (5 kg 40x24x21 cm), Box (15 kg 60x35x29 cm), Box (20 kg 47x40x43 cm), Box (30 kg 69x39x42 cm), Bubble wrap, Waste paper, Pressed filler cardboard (55x14x2.3 cm)) |
1.5 | August 16, 2021 | The provision of additional services "Packaging 1" and "Packaging 2"has been discontinued. When trying to create or change an order with the selected additional services "Package 1", "Package 2", an error is displayed. |
1.5 | August 29, 2021 | The provision of the additional service "Attachment Inspection" has been discontinued. Additional service is always active for online stores.
A new additional service is available in the "Order registration", "Calculator" - "Disable attachment inspection" methods. An additional service is available for online stores. Disable Attachment Inspection is incompatible with Fitting at Home and Partial Delivery. The service is not transferred until the checkpoint. |
1.5 | October 10, 2021 | countryCodeExt, regionCodeExt, regionCode are deprecated in the "List of Regions" method. regionCodeExt, kladr, paymentLimit are deprecated in the "List of Cities" method. |
1.5 | February 16, 2022 | In the "List of Regions" method, the regionFiasGuid field is no longer obsolete. |
1.5 | May 13, 2022 | Tariffs have been closed:
|
1.5 | May 16.05 | New tariffs E-com Express (the fastest express delivery by air) and E-com Standard (standard express delivery) were added |
Introduction
General Description
This document presents a procedure and format of data exchange between CDEK and its client — an online store or a partner representing online stores.
Answers to frequently asked questions can be found at https://www.cdek.ru/faq_integrator.html.
We accept questions and wishes of clients by e-mail: integrationtor@cdek.ru.
Symbols
Information marked with this symbol is important and must be read and/or followed. |
Information marked with this symbol is provided for informational purposes and/or as a suggestion. |
Information marked with this symbol illustrates a use of settings or principle of operation. |
Terms and Definitions
IS means any information system, including software, ERP solution, and online store website.
Integration means a transfer of data from different sources (IS) or provision of unified data to users.
API means an Application Programming Interface. It is a set of ready-made functions, structures and constants provided by an application (library, service) to be used in third-party software (IS).
HTTP means a Hyper Text Transfer Protocol. It is an application-layer communication protocol (originally in the form of HTML hypertext documents).
HTTPS means a Hyper Text Transfer Protocol Secure, an extension of the HTTP protocol that supports encryption. Data communicated via HTTP are “packed” into a SSL or TLS cryptographic protocol. In contrast to HTTP, HTTPS uses a ТСР port 443 by default.
Online store means a client or partner of CDEK who has concluded an online store contract.
Package is an indivisible unit of cargo sent by the online store (there may be several packages in a single order).
Shipment (order) is a sum of all packages that are simultaneously sent by the online store to the same direction.
Volumetric weight is an estimated value of weight in kg. It can be estimated on the basis of specified package dimensions according to the following formula: length * height * width/5,000. This conversion method is commonly used by carriers.
Actual weight is determined by weighing a package on a scale. Net weight and gross weight are used. Net weight is the weight of cargo without package. Gross weight is the weight of packaged cargo.
Estimated weight means the greater of volumetric weight and actual weight. Services are priced on the basis of the estimated weight.
Pickup point means a place at which receivers can pick up their orders. Pickup points may be CDEK warehouses or parcel terminals of partners.
CDS means the CDEK Courier Delivery Service.
International Order is an order where the sender country is not the same as the receiver country, and at least one of the countries is not a member of the Customs Union.
What You Should Know to Make the Integration Work
Step 1: Integration is possible only if there is an agreed contract with CDEK.
Step 2: An online store's representative should examine the documents and frequently asked questions presented on the website https://www.cdek.ru/clients/integrator.html
Step 3: Select an appropriate integration option that best suits your needs:
Use ready-made partner modules presented on the company's website.
Implement your own solution if ready-made solutions do not suit you for some reason.
Step 4: Test and set integration using a test account.
If you have selected a ready-made partner module and need advice on configuration, please refer to the developer or support service of this module.
If you want to implement your own solution, you should try all preliminary settings under your test account.
Step 5: After everything has been verified (tested, all problems are resolved), you should receive an access key to the "combat" account (Account and Secure password) for integration. The keys can be obtained in your CDEK personal account at the link: https://lk.cdek.ru/integration/index. To do this, in your personal account in the "Integration" section, click the "Create a key" button, after which the account ID and password will appear in this section.
Step 6: You can switch over to the live account and work in the normal mode.
A sample request for accounts (recommended): |
1. General Provisions
XML API is a solution that allows you to interact with the service online using standard НТТР/НТТРS, as well as XML protocols and formats.
XML API supports the following functionality:
1. List of Pickup Points can be used to load the actual list of pickup points with detailed information to be processed in the online store's IS.
2. Order Registration can be used to orders in the CDEK database on the basis of Client's order details contained in acceptance certificates/waybills. The entire transportation process will be based on these orders.
3. Order Update can be used to change a created order. The following details can be changed in the order: cash on delivery amount, all details of packages and items.
4. Order Deletion allows the user to delete orders from the CDEK database in case they have been imported by mistake or changed significantly. An order can be deleted only if there is no cargo movement in the CDEK warehouse (order status “Created”).
5. Printed Form of Order Receipt can be used to create a printed order receipt form in pdf format.
6. CourierInvitation: a document containing details of courier invitation, if the cargo is to be picked up from an online store's warehouse. The cargo is delivered to the CDEK warehouse.
Conditions for generating a courier invitation:
for one day, only one courier invitation per address is possible;
a time range for courier arrival may not be less than 3 hours.
The online store makes a preliminary notification call to the specified phone number to confirm a courier invitation and confirm the specified details.
7. Notification Call Results: a document containing results of a notification call to the receiver to agree on delivery-to-door or pickup conditions (acceptance of cargo) from the warehouse, depending on a delivery mode.
This document is used in the following cases:
the online store provides a receiver's schedule for delivery /pickup;
changes in receiver's details (contact person, delivery address, phone number);
change in the amount payable for the goods.
Details are transferred for the existing orders in the CDEK databases. In the document “List of Orders for Delivery”, information on the notification Call to the Receiver can be transmitted for new orders. A delivery schedule can be transferred only for one day.
If an attempt to deliver the cargo on schedule has failed, the online store sends a delivery schedule again. Failed attempts of delivery are reported by the online store in the Order Status document (Reasons for Late Delivery).
8. Printing a Package Barcode is used to generate a printed label form in pdf format.
9. Order Status Report: allows the user to track the following details of orders:
last status of a delivery or return order in the specified period;
full status history for a delivery or return order;
last status of a return order;
full status history for a return order;
details of parcel delivery (when, to whom);
failed delivery attempts as compared to a delivery schedule provided by the online store.
A request can be generated both for a certain period in which statuses have changed and for a particular list of parcels.
10. Order Information Report allows the user to track the following order details:
tariff code under which the order has been delivered;
price of CDEK services invoiced for the order (i.e. invoiced amount);
date of the last change in the order amount;
method of order delivery to the receiver (courier, pickup);
type of cash on delivery payment.
11. List of Regions - is used to load detailed information on regions.
In order to load the list of regions, it is necessary to send request on the CDEK server.
12. List of Cities - is used to load detailed information on cities.
In order to load the list of regions, it is necessary to send request on the CDEK server.
13. Calculator allows to calculate the delivery cost of one shipment for the defined input parameters.
1.1. Parcel Identifiers and Label Information
The CDEK would prefer that the client uses CDEK labels (order receipts), which can be loaded in PDF format via XML API. If the client prefers to use its own label, this label must contain receiver's details (full name, address, phone number) and any of identifiers:
- CDEK parcel identifier. It is recommended that the CDEK order number is indicated in a barcode (it is a DispatchNumber attribute in the data exchange format).
- Identifier of an online store's order is the order number (Order. Number attribute).
- Package identifier is a package barcode (Package.BarCode attribute).
All barcodes must be provided with an explanation of an encoded text above or below a barcode so that encoded information can be entered manually. We recommend using code 128 for printing.
1.2. Retention Period for Information in the System
Information on parcels that are not in progress (status “Created”) is stored in the CDEK system within 30 days from the date of acceptance for the live account and one day for the test account. Information is deleted automatically every day at 23:00 NSK (GMT+7). Therefore, a request for creating delivery orders must be sent before the actual shipment of the goods.
1.3. Data Formats and Coding
Units:
Parameter | Unit | Symbol | Number of digits (mandatory) |
Weight | kilogram | kg | three digits |
Weight | gram | g | |
Length of sides | centimeter | cm | |
Currency | two digits | ||
Quantity | piece | pcs | |
Latitude, longitude | decimal degrees | º | four digits |
Type of data:
Float — floating-point number. A dot, rather than a comma, is used as a decimal separator.
String — a string of characters of a given length. The string length is indicated in parentheses.
Integer — integral number
Boolean — Boolean values that can be equal to 0 or 1.
In all modules, date/time are transmitted in the format UTC (YYYY-MM-DDТhh:mm:ss), unless otherwise specified in the description.
Date Time — date and time in the format ISO 8601:2004:YYYY-MM-DDThh:mm:ss+hh:mm.
EXAMPLE: December21, 2012 , 11 hours 49 minutes 49 seconds, Moscow time should be transmitted as: 2012-12-21Т11:49:49+03:00
It may contain incomplete information. For example, only hours and minutes (15:30). In this case, time zone UTC+00:00 should be used.
Date — date in the format ISO 8601:2004:YYYY-MM-DD.
Time — time in the format hh:mm:ss.
Email — email address in the format RFC 2822, string length is limited to 255 characters.
Attention! Cyrillic addresses are valid, for example: пример@пример.рф (see page 0).
Phone — phone number. Approximate format for the RF: +7 (ХХХ) ХХХ-ХХ-ХХ, string type
The phone format is validated. We recommend to transfer the number in the international format +7 (ХХХ) ХХХ-ХХ-ХХ:
|
Data are transmitted in the XML format in UTF-8 encoding. Please note that XML markup symbols (< > & " ') may not be entered in fields.
Be careful! If there are double or single quotation marks in the receiver's or seller's name they must be replaced, e. g., with a space character. |
1.4. Client Authorization
All function calls, except for reference data, require the authorization through account data assigned to the client during the registration with the CDEK system. For registration, account data should be requested from online store’s representatives or a CDEK manager.
The online store is identified with two parameters:
Parameter | Description |
Account | Contractor identifier (login) |
Secure | Key generated through encryption according to the algorithm described above |
To ensure the security of data transfer/request, the online store must transmit a value of the secure field, calculated according to the algorithm:
secure = md5(date.'&'. secure password), where
secure password is a security code provided by CDEK at request;
date is the document date.
An account for integration is not the same as a CDEK account that provides assess to https://lk.cdek.ru/user/login. |
If you send a request to https you can use Secure password as Secure. |
At request, the online store has received the following account data: account=f62dcb094cc91617def72d9c260b4483 secure_password=6bd3937dcebd15beb25278bc0657014c for Date=2016-10-31, secure will be= 9e38e10f9d5394a033a5609c359ecaf2 for Date=2016-09-25T12:45:10, secure will be= 81ad561784277fa864bf644d755fb164 |
All requests must be made under a single account. For example, if a request for order creation is sent through the test account, generation of a printed form and tracking must be carried out through the same test account.
If the online store is represented by several legal entities, or legal entities are substituted, each legal entity must conclude a separate contract with CDEK and, therefore, will receive its own account data.
We recommend that you consider using several accounts in advance so that you will be able to work smoothly in case there is need to conclude several contracts or a new contract. |
1.5. Test Accounts and Related Restrictions
In order to facilitate the integration process, CDEK will provide separate test accounts for each client/contract:
Type | Parameter | Value |
---|---|---|
Online-store | Account | EMscd6r9JnFiQ3bLoyjJY6eM78JrJceI |
Secure password | PjLZkKBHEiLK3YsjtNrt3TGNG0ahs3kG | |
Delivery | Account | 7JM7K5twfzEV1ssCRklthcIPbbVZrZrZ |
Secure password | t8XBoL1rUofIK9dKoXVB3Tji2F2hPHSk |
In the test mode, the client’s orders are not displayed in his/her account on the website https://lk.cdek.ru/user/login. |
Parcels for test accounts will not be processed and/or delivered.
The test account is tied to a test contract. Therefore, no discounts and extra charges provided for by the your contract are applicable to the test account.
After the АPI has been implemented, integration will be tested. The test procedure consists of the following steps:
- An exchange of requests is tested by checking the data to be transmitted for correctness, as well as checking types of data and values to be transmitted in parameters of tested methods.
Shipments are tested after the exchange of requests. This step involves sending several real orders by the online store.The full functionality, from loading the orders to delivering them to test receivers, is tested. This step is not necessary. It can be implemented as agreed upon with a CDEK manager.
Upon completion of debugging, they are notified that they are ready to switch to the combat account. At the same time, the client must have a contract with CDEK. To do this, in your personal account, in the Integration section, click the "Create Key" button, then the Account ID and Password will appear in this section.
1.6. Notifications
The online store can be notified about data transmission results by email. These notifications contain information on both successfully loaded orders and data transmission errors. The list of emails is sent to CDEK together with a request for account. The online store can unsubscribe from these notifications, but it should be noted that all data on upcoming maintenance and changes in the protocol are also sent to this email.
All notifications are sent from email: noreply@cdek.ru in the UTF-8 format.
1.7. Feedback
Contact information of CDEK Group:
Main website: http://cdek.ru.
Phone number of the Help Desk: 8-800-550-1409 (toll free).
Head Office: 101 Bolshevistskaya St., Novosibirsk 630007, Russia
If you have any questions or have found any error, please do not hesitate to contact the CDEK Technical Support Service by email address integrator@cdek.ru10. Please indicate “CDEK Integration, client ... [name of your company] and Contract No. (if any)” in the subject line.
2. CDEK Integration Algorithm for the Online Store
Recommended algorithm:
1. The online store prepares order details in its information system (IS). The online store can group orders into a single register by any parameter, for example, by date on which the cargo is handed over for delivery, or send each order separately as soon as it is created.
2. Orders with “from warehouse” tariff are registered in the Courier Delivery Service (CDS) through the IS.
3. In the IS, it is necessary to check that the CDS has accepted order details:
- if at least one order has been accepted,, the cargo can be prepared for handing over to the CDS;
- view the list of errors, make changes to orders as recommended in the list of errors, and send a request again.
4. If necessary, you can save a list of CDS order numbers in your IS (you can load it in response to an order registration request).
5. Print package barcodes and stick them on packages.
6. Print order receipts and attach them to the cargo.
7. Print an acceptance certificate, if a consolidated cargo is transferred to the CDS. You can find the acceptance certificate form in the contract or use your own one.
8. If necessary, you can invite a courier to pick up the consolidated cargo. This procedure is not required if the cargo will be delivered to the CDS by the online store itself. To invite a courier, we recommend using the request for “Courier invitation”. A courier will arrive at the address specified in the invitation form, pick up the cargo under the acceptance certificate, and take it to the CDS warehouse for further transportation.
9. After accepting the cargo to the warehouse, the CDS will deconsolidate it and deliver each cargo separately to the indicated destination and according to a chosen delivery tariff.
10. The online store can request the “Order status” in accordance with its internal regulations and display the CDS status in its IS, or compare the CDS status with the similar status of the IS and display its own status, which will be communicated to employees of the online store and the receiver.
11. In case of changing items included in the order or the cash on delivery amount, you can update your order by sending a request for update.
12. If you want to cancel an order for which no activity has been performed yet (order status “Created”), you should send a request for deletion.
13. If, under the contract, the online store shall call (inform) a receiver on its own, the online store should notify CDEK about agreed delivery by using the “Notification call to the receiver” method. The information must be transmitted when the cargo has been delivered to the receiver's city. This information is available through the Order Status Report.
14. When you receive the final status “Not delivered”, the cargo is expected to be returned to the sender. You can track the return of cargo as described in clause 9.
15. When you receive the final status “Delivered”, you may stop tracking the delivery status of the cargo.
We recommend placing a CDEK logo in a clearly visible part of the website so that receivers can identify the CDS that is delivering the cargo. Please go to https://classic.cdek.ru/website/edostavka/template/images/logo.png to load the latest version of the logo.
Changes in the CDEK database occur immediately after successful processing of the request. Other necessary requests for loaded orders can be made immediately after receiving a positive response. |
2.1. Interaction scheme
The process of interaction and the corresponding order statuses in the IS CDEK are presented below:
3. General Description of the API
In order to interact with the API, the online store should send a POST-request to the following URL: <basic url of the interface>/ method.
Content of the request (XML file) is sent in a variable of the POST-request or in the body of the POST-request for some methods.
An examples of a curl command for oneand another request variant:
curl -X POST --header 'Content-Type: application/x-www-form-urlencoded' 'http://integration.cdek.ru/integration/add' -d ‘xml_request=<?xml ...’'
curl -X POST --header 'Content-Type: application/xml' 'http://integration.cdek.ru/integration/addRaw' -d ‘<?xml ...’'
For the second variant (transmission in the request body) the link is similar to the first variant, but contains the suffix Raw at the end of the path.
3.1. Basic URL of the Interface
Address | Server type |
https://integration.cdek.ru | main |
http://integration.cdek.ru | main |
http://integration.edu.cdek.ru | test |
https://integration.edu.cdek.ru | test |
3.2. List of API Methods
3.3. Translation of integration errors
For a client who sends a request in the integration API, a contractor's language is identified and set. The language is determined by language code of the contractor's country:
- if the language has been identified, errors of integration API are displayed in the contractor's language;
if the language code is not determined, the default language is used to display errors.
4. XML API Methods
4.1.
Loading the List of Pickup Points
The method is used to load the list of active pickup points, from which the client can pick up its order.
The list of pickup points may be limited to user-defined characteristics.
4.1.1. Description of Request Parameters to be Transmitted
In order to load the list of pickup points, it is necessary to send a GET request with the following parameters:
No. | Tag / attribute | Description | Type of field | Mandatory (yes/no) |
1 | citypostcode1 | Postal code of the city for which the list of pickup points is required | integer | no |
2 | cityid1 | CDEK city code | integer | no |
3 | type | Type of pickup point, possible values: “PVZ” – display only CDEK warehouses; “POSTAMAT” – display only partner's parcel terminals; “ALL” – display all pickup points, irrespective of their type. If no value is defined, “ALL” will be used as a default value. | string(8) | no |
4 | countryid | Country code from the CDEK base | integer | no |
5 | countryiso | Country code in the ISO_3166-1_alpha-2 format | string(2) | no |
6 | regionid | Region code from the CDEK base | integer | no |
7 | havecashless | Availability of a payment terminal, possible values: “1”, “true” – available; “0”, “false” – not available. | boolean | no |
8 | havecash | Availability of payment in cash, possible values: | boolean | no |
9 | allowedcod | Cash on delivery is permitted, possible values: “1”, “true” – yes; “0”, “false” – no. | boolean | no |
10 | isdressingroom | Availability of a fitting room, possible values: “1”, “true” – available; “0”, “false” – not available. | boolean | no |
11 | weightmax | The maximum weight that can be accepted by a pickup point (values of more than 0 – load pickup points that accept this weight; 0 – pickup points with zero weight are not loaded; no value defined – load all pickup points). | integer | no |
12 | weightmin | The minimum weight that is accepted by a pickup point (pickup points with minimum weight up to the specified value will be transmitted) | integer | no |
13 | lang | Localization of pickup points. Default: “rus”. | string(3) | no |
14 | takeonly | Whether the pickup point is only a pickup point, possible values: “1”, “true” – yes; “0”, “false” – no. | boolean | no |
15 | isHandout | Availability of an issuing orders, possible values: “1”, “true” – yes; “0”, “false” – no. | boolean | no |
16 | IsReception | Availability of a receiving orders, possible values: “1”, “true” – yes; “0”, “false” – no. | boolean | no |
1 If both parameters cityid and citypostcode are indicated, the system gives priority to cityid to determine a city among all countries in which CDEK is present.
4.1.2. Response Format
The CDEK server will return a result in the form of XML:
No. | Tag / attribute | Description | Type of field | Mandatory (yes/no) |
---|---|---|---|---|
1 | PvzList | Document title | yes | |
1.1 | Pvz | Pickup points | yes | |
1.1.1 | Code | Code | string(10) | yes |
1.1.2 | PostalCode | Postcode | string(10) | yes |
1.1.3 | Name | Parameter | string(50) | yes |
1.1.4 | CountryCode | Country code | integer | yes |
1.1.5 | countryCodeIso | Country code in the ISO_3166-1_alpha-2 format | string(2) | no |
1.1.6 | CountryName | Country name | string(50) | yes |
1.1.7 | RegionCode | Region code | integer | yes |
1.1.8 | RegionName | Region name | string(50) | yes |
1.1.9 | CityCode | CDEK city code | integer | yes |
1.1.10 | City | City name | string(50) | yes |
1.1.11 | WorkTime | Opening hours, string of the following type: Mon–Fri 9–18, Sat9–16” | string(100) | yes |
1.1.12 | Address | Address (street, house, office) in the specified city | string(255) | yes |
1.1.13 | FullAddress | Full address, including country, region, city, etc. | string(255) | yes |
1.1.14 | AddressComment | Description of location | string(255) | yes |
1.1.15 | Phone | Phone | phone | yes |
1.1.16 | string(255) | yes | ||
1.1.17 | Note | Pickup points note | string(255) | yes |
1.1.18 | coordX | Coordinates of location (longitude) in degrees | float | yes |
1.1.19 | coordY | Coordinates of location (latitude) in degrees | float | yes |
1.1.20 | Type | Pickup point type: PVZ, POSTAMAT - CDEK partner's postamat | string(8) | yes |
1.1.21 | ownerCode | Affiliation of the pickup points company: CDEK — pickup point is owned by CDEK, InPost — pickup point is owned by InPost. | string(6) | yes |
1.1.22 | IsDressingRoom | Availability of a fitting room | string(4) | yes |
1.1.23 | HaveCashless | Availability of payment terminal | string(4) | yes |
1.1.24 | HaveCash | Availability of payment in cash | string(4) | yes |
1.1.25 | AllowedCod | Cash on delivery is permitted in a pickup point | string(4) | yes |
1.1.26 | TakeOnly | Whether the pickup point is only a pickup point | string(4) | yes |
1.1.27 | NearestStation | Nearest station/public transport stop | string(50) | yes |
1.1.28 | MetroStation | Nearest metro station | string(50) | yes |
1.1.29 | Site | Pickup point's website on the CDEK page | string(255) | no |
1.1.30 | OfficeImage | All photos of the office (except for a photo showing how to get to it) | yes | |
1.1.30.1 | url | All photos have a separate tag with url attribute. | string(255) | yes |
1.1.31 | WorkTimeY | Opening hours for every day | yes | |
1.1.31.1 | day | Ordinal number of a day (Monday = 1, Sunday = 7) | integer | yes |
1.1.31.2 | periods | Opening hours for these days. If the pickup point does not work on this day, no period is specified | string(20) | yes |
1.1.32 | WorkTimeExceptions | Office schedule exceptions | yes | |
1.1.32.1 | Date | Date | datetime | yes |
1.1.32.2 | Time | The period of work on the specified date. If they don’t work on this day, it is not displayed | string(20) | yes |
1.1.32.3 | IsWorking | Sign of a working / non-working day on a specified date | string(4) | yes |
1.1.33 | WeightLimit | Weight limits for a pickup point(the tag is used only if limits are set) | yes | |
1.1.33.1 | WeightMin | Minimum weight (in kg) accepted by a pickup point (> WeightMin) | float | yes |
1.1.33.2 | WeightMax | Maximum weight (in kg) accepted by a pickup point (<=WeightMax) | float | yes |
1.1.34 | Dimensions | Dimensions of cells for parcel terminal | ||
1.1.34.1 | width | Width (cm) | float | Yes, if Type= POSTAMAT or ALL |
1.1.34.2 | height | Height (cm) | float | Yes, if Type= POSTAMAT or ALL |
1.1.34.3 | depth | Depth (cm) | float | Yes, if Type= POSTAMAT or ALL |
1.1.35 | isHandout | Availability of an issuing orders | boolean | yes |
1.1.36 | IsReception | Availability of a receiving orders | boolean | no |
Example. List of pickup points
Making a request for the list of pickup points in Novosibirsk that accept cash on delivery http://integration.cdek.ru/pvzlist/v1/xml?weightmax=50&cityid=270&allowedcod=1 |
<PvzList> <Pvz Code="NSK71" PostalCode="630001" Name="Na Kholodilnoy" CountryCode="1" countryCodeIso="RU" CountryName="Russia" RegionCode="23" RegionName="Novosibirsk Oblast" CityCode="270" City="Novosibirsk" WorkTime="Mon-Fri 10:00-20:00, Sat-Sun 10:00-16:00" Address="ul. Kholodilnaya, 13" FullAddress="Russia, Novosibirsk Oblast, Novosibirsk, ul. Kholodilnaya, 13" AddressComment="Ryadom s ostanovkoy Kholodilnaya ( po storone nechetnykh domov Dusi Kovalchuk) stoit dom , ot dorogi vtoroye ofisnoye pomeshcheniye." Phone="+79913770310" Email="Bibikova.m@cdek.ru" qqId="" Note="" coordX="82.885359" coordY="55.049586" Type="PVZ" ownerCode="cdek" IsDressingRoom="true" IsHandout="true" IsReception="true" HaveCashless="true" AllowedCod="true" NearestStation="Kholodilnaya" MetroStation="Zayeltsovskaya" Site=""> <PhoneDetail number="+79913770310"/> <WorkTimeY day="1" periods="10:00/20:00"/> <WorkTimeY day="2" periods="10:00/20:00"/> <WorkTimeY day="3" periods="10:00/20:00"/> <WorkTimeY day="4" periods="10:00/20:00"/> <WorkTimeY day="5" periods="10:00/20:00"/> <WorkTimeY day="6" periods="10:00/16:00"/> <WorkTimeY day="7" periods="10:00/16:00"/> </Pvz> </PvzList> |
4.2.
Order registration
This method is used to register orders to be delivered to clients. There are two types of orders:
- “online store” – available only for clients who have concluded online store contracts;
“delivery” – can be created by any client with a contract.
Data formats for “online store” and “delivery” orders are described separately.
4.2.1. Description of Request Fields to be Transmitted
Registration of a Request from the Online Store
No. | Tag / attribute | Description | Typeof field | Mandatory (yes/no) |
1 | Delivery Request | Document title | yes | |
1.1 | Number | ID number of the acceptance certificate/waybill (accompanying document attached upon the transfer of the cargo to CDEK, generated in the online store's system). Identifier of the list of cargoes in the IS of the CDEK client. By default, you can use 1. | string(30) | yes |
1.2 | Date | Date of document (date of order) | Datetime/date | yes |
1.3 | Account | Online store identifier (login) | string(255) | yes |
1.4 | Secure | Key | string(255) | yes |
1.5 | OrderCount | The total number of orders in a document | integer | yes |
1.6 | Order | Shipment (order) | yes | |
1.6.1 | Number | Client shipment number (unique for orders of a particular client). Order identifier in the Client's IS. | string(40) | yes |
1.6.2 | SendCityCode1 | Sender's CDEK city code | integer | yes |
1.6.3 | RecCityCode1 | Receiver's CDEK city code | integer | yes |
1.6.4 | SendCityPostCode1 | Postal code of the sender's city | string(6) | yes |
1.6.5 | RecCityPostCoDe1 | Postal code of the receiver's city | string(6) | yes |
1.6.6 | SendCountryCode1 | Sender's country code to identify a country by postal code. Default value: RU | string(2) | no |
1.6.7 | RecCountryCode1 | Receiver's country code to identify a country by postal code. Default value: RU | string(2) | no |
1.6.8 | SendCityName1 | Name of sender's city | string(255) | no |
1.6.9 | RecCityName1 | Name of receiver's city | string(255) | no |
1.6.10 | RecipientINN | TIN of the receiver. Only for international orders. | string(12) | no |
1.6.11 | DateInvoice | Invoice date. Only for international orders. | Date time/date | yes, if order is international |
1.6.12 | ShipperName | Shipper. Used to print waybills. Only for international orders. | string (255) | yes, if order is international |
1.6.13 | ShipperAddress | Shipper’s address. Used to print waybills. Only for international orders. | string (255) | yes, if order is international |
1.6.14 | Passport | Details of the receiver’s passport. Used to print waybills. Only for international orders. | no | |
1.6.14.1 | Series | Series of the receiver’s passport. | string (255) | no |
1.6.14.2 | Number | Number of the receiver’s passport. | string (255) | no |
1.6.14.3 | IssueDate | Date of issue of the receiver’s passport. | Date time/date | no |
1.6.14.4 | IssuedBy | Issuing authority of the receiver’s passport. | string (255) | no |
1.6.14.5 | DateBirth | The receiver’s birthdate | Date time/date | no |
1.6.15 | Sender | Sender. Must be defined if it is different from the online store client. If the online store is a sender, the Sender tag is not available. | no | |
1.6.15.1 | Company | Name of sender's company | string(128) | no |
1.6.15.2 | Name | Sender's contact person | string(128) | no |
1.6.15.3 | Address1 | Sender address (address of pickup) | no | |
1.6.15.3.1 | Street | Street | string(50) | yes |
1.6.15.3.2 | House | House | string(30) | no |
1.6.15.3.3 | Flat | Flat/office | string(10) | no |
1.6.15.4 | Phone | Sender's phone | phone | no |
1.6.16 | RecipientName | Receiver (full name). At least 3 characters. | string(128) | yes |
1.6.17 | RecipientEmail | Receiver's email for sending order status notifications and contacting in case of failed calls | no | |
1.6.18 | Phone | Receiver's phone | phone | yes |
1.6.19 | TariffTypeCode7 | Code of tariff type (for more details, see Appendix No. 1) | integer | yes |
1.6.20 | DeliveryRecipientCost2 | Extra delivery charge collected by the online store from the receiver (the recipient country currency) | float | no |
1.6.21 | DeliveryRecipientVATRate | VAT rate included in the extra delivery charge (for more details, see Appendix No. 4) | string(10) | no |
1.6.22 | DeliveryRecipientVATSum | VAT amount included in the extra delivery charge | float | no |
1.6.23 | Seller | Requisites of the real seller | no | |
1.6.23.1 | Address | Real seller’s address. Used to print invoices to display the address of the true seller or trade name. Only for international orders. | string (255) | yes, if order is international |
1.6.23.2 | Name | Real seller | string (255) | yes, if ITN is indicated |
1.6.23.3 | INN | ITN (Individual Taxpayer Number) of the real seller | string (20) | no |
1.6.23.4 | Phone | Telephone of the real seller | phone | yes, if ITN is indicated |
1.6.23.5 | OwnershipForm | Code of type ownership (for more details, see Appendix No. 10) | integer | yes, if ITN is indicated |
1.6.24 | Comment3 | Comments (special notes on the order) | string(255) | no |
1.6.25 | Address1 | Delivery address. Depending on a delivery mode, it is necessary to specify either Street, House, Flat attributes (delivery to the receiver's address) or PvzCode (pickup) | yes | |
1.6.25.1 | Street | Receiver's street. If possible, do not specify prefixes of values, such as “st.” | string(50) | yes |
1.6.25.2 | House | Receiver's house, building, block. If possible, do not specify prefixes of values, such as “house”. | string(30) | no |
1.6.25.3 | Flat | Receiver's flat/office. If possible, do not specify prefixes of values, such as “flat”. | string(10) | no |
1.6.25.4 | PvzCode | Pickup code. The attribute is required only for orders with the delivery mode “to warehouse”, provided that no additional service “Delivery in the receiver's city” is ordered (AddService="17", for more details, see Appendix 2), and for orders with the "to the parcel terminal" mode". If the specified pickup point is closed at the time of order creation, the order will be accepted for the nearest functioning pickup point. If the specified parcel terminal is closed at the time of order creation, the order will be accepted for the nearest functioning pickup point or parcel terminal. The receiver will be notified about change of the pickup point via SMS. If all pickup points in the city that can provide the selected service are closed, order registration will be impossible. The relevant error message will be sent. | string(10) | yes, if the mode of delivery "to the warehouse" or "to a parcel terminal" |
1.6.26 | Package | Package (all packages are sent with different Package tags) | yes | |
1.6.26.1 | Number | Package number (ordinal package number or order number can be used), unique for this order. Order identifier in the Client's IS. | string(20) | no |
1.6.26.2 | BarCode | Package barcode, package identifier (if any); otherwise, transmit a value of the package number: Packege.Number). The parameter is used to handle the cargo at CDEK warehouses), unique for this order. Package identifier in the Client's IS. | string(20) | yes |
1.6.26.3 | Weight7 | Total weight (in grams) | integer | yes |
1.6.26.4 | SizeA4 | Package dimensions. Length (in centimeters) | integer | yes, if other dimensions are indicated, in a range of 1 to 1,500 or if the orders with the delivery mode “to parcel terminal” or Total weight >= 100 |
1.6.26.5 | SizeB4 | Package dimensions. Width (in centimeters) | integer | yes, if other dimensions are indicated, in a range of 1 to 1,500 or if the orders with the delivery mode “to parcel terminal” or Total weight >= 100 |
1.6.26.6 | SizeC4 | Package dimensions. Height (in centimeters) | integer | yes, if other dimensions are indicated, in a range of 1 to 1,500 or if the orders with the delivery mode “to parcel terminal” or Total weight >= 100 |
1.6.26.7 | Item | Items (goods) | yes | |
1.6.26.7.1 | Amount | Quantity of goods of the same type (pcs). The maximum number is 999. | Integer | yes |
1.6.26.7.2 | WareKey | Identifier/item number of the goods. | string(50) | yes |
1.6.26.7.3 | Marking8 | Marking of item. For the correct display of the marking of the goods in the receipt, it is required to transfer the NOT DISASSEMBLED type of marking, which may look like this: 1) Product code in GS1 format Example: 010468008549838921AAA0005255832GS91EE06GS92VTwGVc7wKCc2tqRncUZ1RU5LeUKSXjWbfNQOpQjKK+A 2) A sequence of valid characters with a total length of 29 characters. Example: 00000046198488X?io+qCABm8wAYa 3) Fur. They have their own format. Example: RU-430302-AAA7582720 | string | no |
1.6.26.7.4 | Cost | Declared value of the goods (per item in the contract currency, value >=0). This value is used to calculate the amount of insurance. | float | yes |
1.6.26.7.5 | Payment | Cash on delivery (per item in the recipient country currency, value >=0) — cash on delivery; in case of prepayment, value = 0. | float | yes |
1.6.26.7.6 | PaymentVATRate | VAT rate included in the value of the goods (for more details, see the Appendix 4) | string(10) | no |
1.6.26.7.7 | PaymentVATSum | VAT amount included in the value (payment) of the goods. | float | no |
1.6.26.7.8 | Weight | Weight (per item, in grams) | integer | yes |
1.6.26.7.9 | Comment | Name of the goods (may contain description of the goods: size, color) | string(255) | yes |
1.6.26.7.10 | WeightBrutto | Gross weight (for one unit of goods, in grams). Only for international orders. | integer | yes, if order is international |
1.6.26.7.11 | CommentEx | Name of the goods, in English (also can contain description of the goods, such as size and color). Only for international orders. | string(255) | no |
1.6.26.7.12 | Link | Link to the e-shop’s website with the goods’ description. Only for international orders. | string(255) | no |
1.6.27 | DeliveryRecipientCostAdv | Additional charge for delivery (E-shop charges the receiver), depending on the order’s sum | no | |
1.6.27.1 | Threshold | Goods price threshold (valid by condition less than or equal to), in even monetary units | integer | yes |
1.6.27.2 | Sum | Additional charge for delivery with total amount that falls within the interval | float | yes |
1.6.27.3 | VATRate | VAT rate included in the additional charge for delivery (for more details, see Appendix No. 4). If the value is unknown, then default value “No VAT” is applied | string(10) | no |
1.6.27.4 | VATSum | VAT sum included in the additional charge for delivery | float | no |
1.6.28 | AddService | Additional services | no | |
1.6.28.1 | ServiceCode | Type of additional service (for more details, see Appendix No. 2) | integer | yes |
1.6.28.2 | Count | Number of packages. It is used and is mandatory only for the additional services with 24, 54-58, 61-73, 76 codes | integer | no |
1.6.28.3 | Length | Length of package. It is used and is mandatory only for the additional services with 74, 75 codes | float | no |
1.6.29 | Schedule5 | Schedule for delivery /pickup (deprecated, it is recommended to use a separate new_schedule method) | no | |
1.6.29.1 | Attempt | Time of delivery (one time interval not less than 3 hours is permitted for one day) | yes | |
1.6.29.1.1 | ID | ID number of a schedule from the online store's database. You may use 1 as a default value | integer | yes |
1.6.291.1.2 | Date | Date of delivery (only date, in the format “YYYY-MM-DD”, no time) as agreed by the receiver | date | yes |
1.6.29.1.3 | Comment | Comment | string(255) | no |
1.6.29.1.4 | TimeBeg | Start of a delivery time range (receiver's time) | time | yes |
1.6.29.1.5 | TimeEnd | End of a delivery time range (receiver's time) | time | yes |
1.6.29.1.6 | Address | New delivery address (if change is required). Depending on a delivery mode, Street or House attributes should be specified. Flat – delivery to the receiver's address, or PvzCode – pickup | no | |
1.6.29.1.6.1 | Street | Receiver's street. If possible, do not specify prefixesof values, such as “str” | string(50) | yes |
1.6.29.1.6.2 | House | Receiver's house, building, block. If possible, do not specify prefixes of values, such as “house” | string(30) | yes |
1.6.29.1.6.3 | Flat | Receiver's flat/office. If possible, do not specify prefixes of values, such as “flat.” | string(10) | no |
1.6.29.1.6.4 | PvzCode | Pickup code, required only for orders with a delivery mode “to warehouse” and provided that no additional service “Delivery in the receiver's city” has been ordered. | string(10) | yes |
1.7 | CallCourier6 | Call courier | no | |
1.7.1 | Call | Waiting for a courier | yes | |
1.7.1.1 | Date | Date of courier waiting | date | yes |
1.7.1.2 | TimeBeg | Start time of courier waiting | time | yes |
1.7.1.3 | TimeEnd | End time of courier waiting | time | yes |
1.7.1.4 | LunchBeg | Start time of a lunch break, if it is within a time range [TimeBeg; TimeEnd] | time | no |
1.7.1.5 | LunchEnd | End time of a lunch break, if it is within a time range [TimeBeg; TimeEnd] | time | no |
1.7.1.6 | SendCityCode1 | Sender's CDEK city code | integer | yes |
1.7.1.7 | SendCityPostCode1 | Postal code of the sender's city | string(6) | yes |
1.7.1.8 | SendCountryCode1 | Sender's country code to identify a country by postal code | string(2) | no |
1.7.1.9 | SendCityName1 | Name of sender's city | string(255) | no |
1.7.1.10 | SendPhone | Sender's contact phone | phone | yes |
1.7.1.11 | SenderName | Sender (full name) | string(255) | yes |
1.7.1.12 | Comment | Comment for courier | string(255) | no |
1.7.1.13 | SendAddress | Sender's address | yes | |
1.7.1.13.1 | Street | Sender's street. If possible, do not specify prefixes of values, such as “st.” | string(50) | yes |
1.7.1.13.2 | House | Sender's house, building, block. If possible, do not specify prefixes of values, such as “house”. | string(30) | yes |
1.7.1.13.3 | Flat | Sender's flat/office. If possible, do not specify prefixes of values, such as “flat”. | string(10) | yes |
Registration of a Delivery Order
No. | Tag / attribute | Description | Type of field | Mandatory (yes/no) |
1 | Delivery Request | Document title | yes | |
1.1 | Number | Number of an acceptance certificate/waybill. Identifier of the list of cargoes in the IS of the CDEK client. 1 can be used a default value. | string(30) | yes |
1.2 | Date | Date of document (date of order) | datetime/date | yes |
1.3 | Account | Client identifier (login) | string(255) | yes |
1.4 | Secure | Key | string(255) | yes |
1.5 | OrderCount | The total number of orders in a document | integer | yes |
1.6 | Order | Shipment (order) | yes | |
1.6.1 | SendCityCode1 | Sender's CDEK city code | Integer | yes |
1.6.2 | RecCityCode1 | Receiver's CDEK city code | Integer | yes |
1.6.3 | SendCityPostCode1 | Postal code of the sender's city | string(6) | yes |
1.6.4 | RecCityPostCode1 | Postal code of the receiver's city | string(6) | yes |
1.6.5 | SendCountryCode1 | Sender's country code to identify a country by postal code. Default value: RU | string(2) | no |
1.6.6 | RecCountryCode1 | Receiver's country code to identify a country by postal code. Default value: RU | string(2) | no |
1.6.7 | SendCityName1 | Name of sender's city | string(255) | no |
1.6.8 | RecCityName1 | Name of receiver's city | string(255) | no |
1.6.9 | Sender | Sender | no | |
1.6.9.1 | Company | Name of sender's company | string(128) | no |
1.6.9.2 | Name | Sender's contact person | string(128) | yes |
1.6.9.3 | Address1 | Address of pickup | no | |
1.6.9.3.1 | Street | Street | string(50) | yes |
1.6.9.3.2 | House | House | string(30) | no |
1.6.9.3.3 | Flat | Flat/office | string(10) | no |
1.6.9.3.4 | Phone | Sender's phone | phone | yes |
1.6.10 | RecipientCompany | Name of receiver's company | string(128) | yes |
1.6.11 | RecipientName | Receiver (full name). At least 3 characters. | string(128) | yes |
1.6.12 | RecipientEmail | Email for sending order status notifications and contacting in case of failed calls | еmail | no |
1.6.13 | Phone | Receiver's phone | phone | yes |
1.6.14 | TariffTypeCode7 | Code of tariff type (for more details, see Appendix No. 1) | Integer | yes |
1.6.15 | Comment3 | Comments (special notes on the order) | string(255) | no |
1.6.16 | Address1 | Delivery address. Depending on a delivery mode, it is necessary to specify either Street, House, Flat attributes (delivery to the receiver's address) or PvzCode (pickup) | yes | |
1.6.16.1 | Street | Receiver's street. If possible, do not specify prefixes of values, such as “st.” | string(50) | yes |
1.6.16.2 | House | Receiver's house, building, block. If possible, do not specify prefixes of values, such as “house” | string(30) | no |
1.6.16.3 | Flat | Receiver's flat/office. If possible, do not specify prefixes of values, such as “flat” | string(10) | no |
1.6.16.4 | PvzCode | Pickup code. The attribute is required only for orders with the delivery mode “to warehouse”, provided that no additional service “Delivery in the receiver's city” is ordered (AddService="17", for more details, see Appendix 2), and for orders with the "to the parcel terminal" mode". If the specified pickup point is closed at the time of order creation, the order will be accepted for the nearest functioning pickup point. If the specified parcel terminal is closed at the time of order creation, the order will be accepted for the nearest functioning pickup point or parcel terminal. The receiver will be notified about change of the pickup point via SMS. If all pickup points in the city that can provide the selected service are closed, order registration will be impossible. The relevant error message will be sent. | string(10) | yes, if the mode of delivery "to the warehouse" or "to a parcel terminal" |
1.6.17 | Package | Package (all packages are sent with different Package tags) | yes | |
1.6.17.1 | Number | Package number (ordinal package number or order number can be used), unique for this order. Order identifier in the Client's IS. | string(20) | no |
1.6.17.2 | BarCode | Package barcode, package identifier (if any); otherwise, transmit a value of the package number: Packege.Number). The parameter is used to handle the cargo at CDEK warehouses, uniquefor this order. Package identifier in the Client's IS. | string(20) | yes |
1.6.17.3 | Weight7 | Total weight (in grams) | integer | no |
1.6.17.4 | SizeA4 | Package dimensions. Length (in centimeters) | integer | yes, if other dimensions are indicated, in a range of 1 to 1,500 or if the orders with the delivery mode “to parcel terminal” or Total weight >= 100 g |
1.6.17.5 | SizeB4 | Package dimensions. Width (in centimeters) | integer | yes, if other dimensions are indicated, in a range of 1 to 1,500 or if the orders with the delivery mode “to parcel terminal” or Total weight >= 100 g |
1.6.17.6 | SizeC4 | Package dimensions. Height (in centimeters) | integer | yes, if other dimensions are indicated, in a range of 1 to 1,500 or if the orders with the delivery mode “to parcel terminal” or Total weight >= 100 g |
1.6.18 | AddService | Additional services | no | |
1.6.18.1 | ServiceCode | Type of additional service (for more details, see Appendix No. 2) | integer | yes |
1.6.18.2 | Cost | Declared value of the package. It is used and is mandatory only for the additional service "Insurance". | float | no |
1.6.28.3 | Count | Number of packages. It is used and is mandatory only for the additional services with 24, 54-58, 61-73, 76 codes | integer | no |
1.6.28.4 | Length | Length of package. It is used and is mandatory only for the additional services with 74, 75 codes | float | no |
1Identification of sender city and receiver city (in the case of “to the door” mode) uses the following algorithm by order of priority:
- By pickup code (PvzCode attribute).
By unique city code (City ID) in CDEK’s database. The values are represented in SendCityCode, RecCityCode attributes.
By the city’s postcode. The values are represented in SendCityPostCode, RecCityPostCode attributes. Along with the postcode, the country code (attributes SendCountryCode, RecCountryCode) and/or the city’s name (attributes SendCityName, RecCityName) can be used for specifying: the country code of the sought city should match with that described in the related attribute, and the transferred name of the city should be included in the name of the sought one. The city’s name can be in the client’s language (all localizations will be searched).
- By address string which is formed by concatenating the following fields: SendCityName/RecCityName + Address.Street + Address.House.
Usually, the city code serves to indicate the sender’s city, and the post code – to indicate the receiver’s city
It should be noted that the database of postal codes in the CDEK IS may contain incomplete and sometimes inaccurate information on postal codes. Therefore, the user should be able to adjust the postal code parameter, if necessary.
Note: At present, CDEK IS contains postcodes only for Russia. To identify cities of other countries, we recommend using a city code from the CDEK database.
2 If CDEK delivery services are paid by the online store, rather than by the receiver, the order price may include the cost of delivery collected by the online store from the receiver, e.g., as compensation for its expenses. This amount may be different from the cost of delivery according to the CDEK tariffs. The value of the parameter is displayed in the order receipt in the “Cost of delivery” field, but it is included in the cash on delivery amount and processed as cash on delivery.
3 In the comment field, you can write any notes on the delivery of cargo. For example, if you allow a partial delivery of the cargo, you can specify “Partial delivery is allowed”. If you want to prohibit opening of the parcel, you can specify “Do not open”.
4 The package dimensions should be indicated if the box is used as a package. Taking into account the dimensions, the volumetric weight is calculated by the formula: SizeА * SizeВ * SizeС/5,000. The greater of actual weight and volumetric weight is used to calculate the cost of delivery.
5 The agreement with an e-shop specifies organization (CDEK or e-shop), responsible for obtaining delivery schedule from the receiver. If it is an e-shop, then the data is tagged as <Schedule>. The schedule can be transferred later, if necessary (see “Registration of information of the call’s result” method).
Only one schedule is permitted for one order and one date. The schedule can have several delivery days.
6 Courier invitation to indicated address is not a mandatory parameter. However, only one courier invitation can be included into a request to create an order. A courier can be invited to a particular address only once a day. The CallCourier tag has to be inside a tag.
7 For tariffs with codes 1, 10, 11, 12. 136, 137, 138, 139, the rule applies: if the weight on the order exceeds the maximum possible at the selected tariff, then the tariff automatically changes to the "Express heavy" tariff with the corresponding mode.
8 The value must be formed according to the instructions on the site https://честныйзнак.рф
4.2.2. Response Format
The CDEK server will return a result in the form of XML:
No. | Tag / attribute | Description | Type of field | Mandatory (yes/no) |
1 | Response | Document title | yes | |
1.1 | Order | Order | yes | |
1.1.1 | DispatchNumber | CDEK order number It is returned if the order is created successfully or if an error ErrorCode = "ERR_ORDER_DUBL_EXISTS" occurs | integer | no |
1.1.2 | Number | Order number of the online store | string(40) | yes |
1.1.3 | ErrorCode | Error code | string(255) | no |
1.1.4 | Msg | Fixed text “Orders added” Description of error (if any) | string(255) | yes |
1.2 | Call | Call courier | no | |
1.2.1 | Number | Invitation number | string(30) | yes |
1.2.2 | ErrorCode | Error code | string(255) | no |
1.2.3 | Msg | Fixed text “Orders added” Description of error (if any) | string(255) | yes |
Example 1. Registration of an “online store” order
<?xml version="1.0" encoding="UTF-16"?> <deliveryrequest account="0278f9e8004f6b08f37497001e804007" date="2019-01-22 11:20:45" number="soOEl" ordercount="1" secure="3e10b5b7d1da1dfa42cb70c329964ec2"> <callcourier> <call comment="comment_soOEl1" date="2019-01-23" lunchbeg="14:00" lunchend="14:30" sendcitycode="44" sendername="name_soOEl1" sendphone="+79138739944" timebeg="10:00" timeend="17:00" weight="20"> <sendaddress flat="flat_soOEl1" house="house_soOEl1" street="street_soOEl1"/> </call> </callcourier> <order comment="comment-soOEl0" deliveryrecipientcost="0.0" deliveryrecipientvatrate="VATX" deliveryrecipientvatsum="0.0" number="number-s785558445" phone="+79138739944" reccitycode="44" recipientemail="no-reply@cdek.ru" recipientname="name-soOEl0" sendcitycode="44" tarifftypecode="139"> <address flat="flat-soOEl0" house="house-soOEl0" street="street-soOEl0"/> <sender company="company-soOEl0" name="TestName"> <address flat="flat-soOEl0" house="house-soOEl0" street="street-soOEl0"/> <phone>+79138739945</phone> <phone>+79138739946</phone> </sender> <seller address="street_soOEl0 1" name="seller-soOEl0" INN="11111111111111111111" Phone="+77777777777" OwnershipForm="249"/> <package barcode="barcode-soOEl00" number="soOEl00" sizea="2.0" sizeb="3.0" sizec="4.0" weight="100.0"> <item amount="2" comment="comment-soOEl000" cost="8.0" payment="10.0" paymentvatrate="VATX" paymentvatsum="0.0" warekey="warekey-soOEl000" weight="1.0"/> </package> <DeliveryRecipientCostAdv Threshold="2000" Sum="150" VATRate="vat10" VATSum="13.64"/> <AddService ServiceCode="30"/> <schedule> <attempt date="2019-01-23" id="soOEl00" timebeg="11:00:00" timeend="13:00:00"> <address flat="flat-prozvon_adr" house="house-prozvon_adr" street="street-prozvon_adr"/> </attempt> </schedule> </order> </deliveryrequest> |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <response> <Call Number="13266932"/> <Call Msg="1 calls were added"/> <Order DispatchNumber="1105256427" Number="number-s785558445"/> <Order Msg="1 orders were added"/> </response> |
Example 2. Registration of a “delivery” order
<?xml version="1.0" encoding="UTF-8"?> <deliveryrequest account="0278f9e8004f6b08f37497001e804007" date="2019-01-23 16:00:07" number="test_request" ordercount="2" secure="3e10b5b7d1da1dfa42cb70c329964ec2"> <order clientside="SENDER" comment="test_comment" number="number-s785558446" phone="+79138739870" reccitycode="44" recipientcompany="company-6344227223" recipientcurrenc="rub" recipientemail="email_1_G4Akh0@test.ru" recipientname="Ivanov Ivan" sendcitycode="44" tarifftypecode="1"> <address flat="flat-G4Akh0" house="house-G4Akh0" street="street-G4Akh0"/> <sender name="Petrov Petr"> <address flat="flat-G4Akh0" house="house-G4Akh0" street="street-G4Akh0"/> <phone>+79138739876</phone> <phone>+79132873910</phone> </sender> <package number="number-p785558446" barcode="test_package" comment="test_comment" sizea="10.0" sizeb="20.0" sizec="30.0" weight="1000.0"/> </order> <order clientside="SENDER" comment="test_comment" number="number-s785558447" phone="+79138739870" reccitycode="44" recipientcompany="company-6344227225" recipientemail="email_1_G4Akh1@test.ru" recipientname="Ivanov Ivan" sendcitycode="44" tarifftypecode="1"> <address flat="flat-G4Akh1" house="house-G4Akh1" street="street-G4Akh1"/> <sender name="Petrov Petr"> <address flat="flat-G4Akh1" house="house-G4Akh1" street="street-G4Akh1"/> <phone>+79133309944</phone> <phone>+79138092416</phone> </sender> <package number="number-p785558446" barcode="test_package" comment="test_comment" sizea="10.0" sizeb="20.0" sizec="30.0" weight="1000.0"/> </order> </deliveryrequest> |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <response> <Order DispatchNumber="1105256458" Number="number-s785558446"/> <Order DispatchNumber="1105256457" Number="number-s785558447"/> <Order Msg="2 orders were added"/> <TraceId>bcea8cac3e397ffd</TraceId> </response> |
4.3.
Order Change Method
This method is used to change a created order. The following order details can be changed:
cash-on-delivery amount;
- receiver information (receiver's name, telephone number, address, points of issue of the order);
- international orders information;
- additional delivery charges;
all details of packages and items (i.e. old data will be deleted, and new data will be saved).
An order can be changed only if there is no cargo movement in the CDEK warehouse (i.e. the order status is “Created”).
4.3.1. Description of Request Fields to be Transmitted
No. | Tag / attribute | Description | Type of field | Mandatory (yes/no) |
1 | UpdateRequest | Document title | yes | |
1.1 | Number | Acceptance certificate number Order identifier in the IS of the CDEK client. | string(30) | yes |
1.2 | Date | Date of document (date of order) | Date time/ date | yes |
1.3 | Account | Online store identifier (login) | string(255) | yes |
1.4 | Secure | Key | string(255) | yes |
1.5 | OrderCount | The total number of orders in a document | integer | yes |
1.6 | Order | Shipment (order) | yes | |
1.6.1 | Number1 | Client shipment number (unique for orders of a particular client). Order identifier in the Client's IS. | string(40) | yes |
1.6.2 | DispatchNumber1 | CDEK order number | integer | yes |
1.6.3 | Delivery Recipient Cost | Additional delivery charge collected by the online store from the receiver (in the recipient country currency) | float | no |
1.6.4 | Delivery RecipientVATRate | VAT rate included in the extra delivery charge (for more details, see Appendix No. 4) | string(10) | no |
1.6.5 | DeliveryRecipientVATSum | VAT amount included in the extra. delivery charge | float | no |
1.6.6 | RecipientName | Receiver (full name). At least 3 characters. | string(128) | no |
1.6.7 | RecipientEmail | Receiver's email for sending order status notifications and contacting in case of failed calls | no | |
1.6.8 | Phone | Receiver's phone | phone | no |
1.6.9 | RecipientINN | TIN of the receiver. Only for international orders. | string(12) | no |
1.6.10 | DateInvoice | Invoice date. Only for international orders. | Date time/date | no |
1.6.11 | Passport | Details of the receiver’s passport. Used to print waybills. Only for international orders. | no | |
1.6.11.1 | Series | Series of the receiver’s passport. | string(255) | no |
1.6.11.2 | Number | Number of the receiver’s passport. | string(255) | no |
1.6.11.3 | IssueDate | Date of issue of the receiver’s passport. | Date time/date | no |
1.6.11.4 | IssuedBy | Issuing authority of the receiver’s passport. | string(255) | no |
1.6.11.5 | DateBirth | The receiver’s birthdate | Date time/date | no |
1.6.12 | Address | Delivery address. Depending on a delivery mode, it is necessary to specify either Street, House, Flat attributes (delivery to the receiver's address) or PvzCode (pickup) | no | |
1.6.12.1 | Street | Receiver's street. If possible, do not specify prefixes of values, such as “st.” | string(50) | yes |
1.6.12.2 | House | Receiver's house, building, block. If possible, do not specify prefixes of values, such as “house”. | string(30) | yes |
1.6.12.3 | Flat | Receiver's flat/office. If possible, do not specify prefixes of values, such as “flat”. | string(10) | no |
1.6.12.4 | PvzCode | Pickup code. The attribute is required only for orders with the delivery mode “to warehouse”, provided that no additional service “Delivery in the receiver's city” is ordered (AddService="17", for more details, see Appendix 2), and for orders with the "to a parcel terminal" mode. If the specified pickup point is closed at the time of order creation, the order will be accepted for the nearest functioning pickup point. If the specified parcel terminal is closed at the time of order creation, the order will be accepted for the nearest functioning pickup point or parcel terminal. The receiver will be notified about change of the pickup point via SMS. If all pickup points in the city that can provide the selected service are closed, order registration will be impossible. The relevant error message will be sent. | string(10) | yes, if the mode of delivery "to the warehouse" or "to a parcel terminal" |
1.6.13 | DeliveryRecipientCostAdv | Additional charge for delivery (E-shop charges the receiver), depending on the order’s sum It is possible to send several thresholds | no | |
1.6.13.1 | Threshold | Goods price threshold (valid by condition less than or equal to), in even monetary units | integer | yes |
1.6.13.2 | Sum | Additional charge for delivery with total amount that falls within the interval | float | yes |
1.6.13.3 | VATRate | VAT rate included in the additional charge for delivery (for more details, see Appendix No. 4). If the value is unknown, then default value “No VAT” is applied | string(10) | no |
1.6.13.4 | VATSum | VAT sum included in the additional charge for delivery | float | no |
1.6.14 | Package | Package (all packages are sent with different Package tags) | no | |
1.6.14.1 | Number | Package number (ordinal package number or order number can be used), unique for this order. Order identifier in the Client's IS. | string(20) | yes |
1.6.14.2 | BarCode | Package barcode, package identifier (if any); otherwise, transmit a value of the package number Package.Number). The parameter is used to handle the cargo at CDEK warehouses), unique for this order. Package identifier in the Client's IS. | string(20) | yes |
1.6.14.3 | Weight | Total weight (in grams) | integer | yes |
1.6.14.4 | SizeA | Package dimensions. Length (in centimeters) | integer | yes, if other dimensions are indicated, in a range of 1 to 1,500 or if the orders with the delivery mode “to parcel terminal” |
1.6.14.5 | SizeB | Package dimensions. Width (in centimeters) | integer | yes, if other dimensions are indicated, in a range of 1 to 1,500 or if the orders with the delivery mode “to parcel terminal” |
1.6.14.6 | SizeC | Package dimensions. Height (in centimeters) | integer | yes, if other dimensions are indicated, in a range of 1 to 1,500 or if the orders with the delivery mode “to parcel terminal” |
1.6.14.7 | Item | Items (goods) | yes | |
1.6.14.7.1 | Amount | Quantity of goods of the same type (pcs). The maximum number is 999. | integer | yes |
1.6.14.7.2 | WareKey | Identifier/item number of the goods. | string(50) | yes |
1.6.14.7.3 | Marking | Marking of item. If marking is indicated for Item, the Amount parametr can't be greater than 1. | string | no |
1.6.14.7.4 | Cost | Declared value of the goods (per item in the contract currency, value >=0). This value is used to calculate the amount of insurance. | float | yes |
1.6.14.7.5 | Payment | Cash on delivery (per item in the recipient country currency, value >=0) — cash on delivery, in case of prepayment, value = 0. | float | yes |
1.6.14.7.6 | PaymentVATRate | VAT rate included in the value of the goods (for more details, see Appendix No. 4) | string(10) | yes |
1.6.14.7.7 | PaymentVATSum | VAT amount included in the value (payment) of the goods. | float | yes |
1.6.14.7.8 | Weight | Weight (per item, in grams) | integer | yes |
1.6.14.7.9 | Comment | Name of the goods (may contain description of the goods: size, color) | string(255) | yes |
1.6.14.7.10 | WeightBrutto | Gross weight (for one unit of goods, in grams). Only for international orders. | integer | no |
1.6.14.7.11 | CommentEx | Name of the goods, in English (also can contain description of the goods, such as size and color). Only for international orders. | string(255) | no |
1.6.14.7.12 | Link | Link to the e-shop’s website with the goods’ description. Only for international orders. | string(255) | no |
1.6.15 | Comment | Comments (special notes on the order) | string(255) | no |
1 The order is identified either by “DispatchNumber” or by "Number".
4.3.2. Response Format
The CDEK server will return a result in the form of XML:
No. | Tag / attribute | Description | Type of field | Mandatory (yes/no) |
1 | Response | Document title | yes | |
1.1 | Order | Order | yes | |
1.1.1 | DispatchNumber | CDEK order number | Integer | yes |
1.1.2 | Number | Order number of the online store | string(40) | yes |
1.1.3 | ErrorCode | Error code | string(255) | no |
1.1.4 | Msg | Fixed text “Orders changed” Description of error (if any) | string(255) | yes |
Example. Order change
<?xml version="1.0" encoding="UTF-8"?> <updaterequest account="0278f9e8004f6b08f37497001e804007" date="2019-01-23 11:20:45" number="soOEl" ordercount="1" secure="3e10b5b7d1da1dfa42cb70c329964ec2"> <order deliveryrecipientcost="10.02" deliveryrecipientvatrate="VATX" deliveryrecipientvatsum="0.0" number="number-s785558445"> <package barcode="barcode-soOEl00" number="soOEl00" sizea="2.0" sizeb="3.0" sizec="4.0" weight="100.0"> <item amount="2" comment="comment-soOEl000" cost="8.0" payment="10.0" paymentvatrate="VATX" paymentvatsum="0.0" warekey="warekey-soOEl000" weight="1.0"/> </package> </order> </updaterequest> |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <response> <Order DispatchNumber="1105256427" Number="number-s785558445"/> <Order Msg="1 orders were updated"/> <TraceId>5fe57a9044dc2f8d</TraceId> </response> |
4.4.
Order Deletion
The method is designed to cancel /delete an order at the client's initiative. An order can be deleted only if there is no cargo movement in the CDEK warehouse (order status “Created”).
4.4.1. Description of Request Fields to be Transmitted
No. | Tag/ attribute | Description | Type of field | Mandatory (yes/no) |
1 | DeleteRequest | Document title | yes | |
1.1 | Number | Acceptance certificate number. Order identifier in the IS of the CDEK client. | string(30) | yes |
1.2 | Date | Date of document (date of order) | datetime/date | yes |
1.3 | Account | Online store identifier (login) | string(255) | yes |
1.4 | Secure | Key | string(255) | yes |
1.5 | OrderCount | The total number of orders to be deleted in the document | integer | yes |
2 | Order | Shipment (order) | yes | |
2.1 | Number1 | Client's shipment number. Order identifier in the IS of the CDEK client. | string(40) | yes |
2.2 | DispatchNumber1 | CDEK order number | integer | yes |
1 The order is identified either by “DispatchNumber” or by "Number".
4.4.2. Response Format
The CDEK server will return a result in the form of XML:
No. | Tag / attribute | Description | Type of field | Mandatory (yes/no) |
1 | Response | Document title | yes | |
1.1 | DeleteRequest | Orders to be deleted | yes | |
1.1.1 | Msg | Information message | string(255) | yes |
1.1.2 | Order | Order | integer | yes |
1.1.2.1 | Number | Acceptance certificate number. Order identifier in the IS of the CDEK client. | string(40) | yes |
1.1.2.2 | ErrorCode | Error code | string(255) | no |
1.1.2.3 | Msg | Fixed text “Order deleted” Description of error (if any) | string(255) | yes |
Example. Order deletion
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <deleterequest number="soOEl" ordercount="1" account="0278f9e8004f6b08f37497001e804007" date="2019-01-23 18:41:51" secure="3e10b5b7d1da1dfa42cb70c329964ec2"> <order number="number-s785558445"/> </deleterequest> |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <response> <Order DispatchNumber="1105256427" Number="number-s785558445"/> <Order Msg="1 orders were deleted"/> <TraceId>667b31d2ef912467</TraceId> </response> |
4.5.
Printing an Order Receipt
This method is designed to load a pdf file that contains printed forms of orders receipts.
To prevent the platform from being overloaded, do not transmit more than 100 order numbers per request.
4.5.1. Description of Request Fields to be Transmitted
No. | Tag / attribute | Description | Type of field | Mandatory (yes/no) |
1 | OrdersPrint | Document title | yes | |
1.1 | Date | Date of document (date of invitation) | datetime/date | yes |
1.2 | Account | Online store identifier (login) | string(255) | yes |
1.3 | Secure | Key | string(255) | yes |
1.4 | OrderCount | Total number of orders transmitted in a document | integer | yes |
1.5 | CopyCount | Number of copies of a receipt per sheet. We recommend specifying at least 2: one will be attached to a cargo; another will be retained by the sender. | integer | no |
1.6 | Lang | Identifier of language in which the request is sent and the response is expected | string(3) | no |
1.7 | Order | Shipment (order) | yes | |
1.7.1 | DispatchNumber1 | CDEK shipment number (assigned when orders are imported). Order identifier in the IS of the CDEK client. | integer | yes |
1.7.2 | Number1 | Client's shipment number. Order identifier in the IS of the CDEK client. | string(30) | yes |
1.7.3 | Date1 | Date of an acceptance certificate, based on which the order has been transferred. | date | yes |
1 The order is identified either by “DispatchNumber” or by two parameters — Number and Date. If the request has a value of the “DispatchNumber” attribute, “Number” and “Date” attributes will be ignored.
The printing an order receipt method and order registration method refer to different modules of system, synchronization between which can take from several seconds to several minutes. We recommend to call the printing an order receipt method after some time after creating an order. |
4.5.2. Response Format
In response, the CDEK server will return a pdf file.
In case of error, the result will be returned as XML:
No. | Tag / attribute | Description | Type of field | Mandatory (yes/no) |
1 | Response | Document title | yes | |
1.1 | Order | Order | yes | |
1.1.1 | ErrorCode | Error code | string(255) | no |
1.1.2 | Msg | Error description | string(255) | yes |
Example. Printing an order receipt
<?xml version="1.0" encoding="UTF-8"?> <OrdersPrint Date="2019-01-23" Account="0278f9e8004f6b08f37497001e804007" Secure="3e10b5b7d1da1dfa42cb70c329964ec2" OrderCount="1" CopyCount="1"> <Order DispatchNumber="1105256461"/> </OrdersPrint> |
Response (success) |
---|
<?xml version="1.0" encoding="UTF-8"?> <response> <Order DispatchNumber="1105256461" ErrorCode="ERR_INVALID_DISPATCHNUMBER" Msg="The order is not found in the database CDEK: DispatchNumber = 1105256461"/> </response> |
4.6.
Registration of a Courier Invitation
This method is designed to invite a courier for delivering a cargo.
A courier cannot be invited to the same address on the same day; otherwise, an error will be displayed in a response to the client.
The courier can be summoned from 9:00 am to 10:00 pm
4.6.1. Description of Data to be Transmitted
No. | Tag / attribute | Description | Type of field | Mandatory (yes/no) |
1 | CallCourier | Document title | yes | |
1.2 | Date | Date of document (date of invitation) | datetime/date | yes |
1.3 | Account | Online store identifier (login) | string(255) | yes |
1.4 | Secure | Key | string(255) | yes |
1.5 | CallCount | The total number of courier invitations in the document | integer | yes |
1.6 | Call | Waiting for a courier | yes | |
1.6.1 | Date | Date of courier waiting | date | yes |
1.6.2 | TimeBeg | Start time of courier waiting | time | yes |
1.6.3 | TimeEnd | End time of courier waiting | time | yes |
1.6.4 | LunchBeg | Start time of a lunch break, if it is within a time range [TimeBeg; TimeEnd] | time | no |
1.6.5 | LunchEnd | End time of a lunch break, if it is within a time range [TimeBeg; TimeEnd] | time | no |
1.6.6 | SendCityCode1 | Sender's CDEK city code | integer | yes, if DispatchNumber is not defined |
1.6.7 | SendCityPostCode1 | Postal code of the sender's city | string(6) | yes |
1.6.8 | SendCountryCode1 | Sender's country code to identify a country by postal code. | string(2) | no |
1.6.9 | SendCityName1 | Name of sender's city | string(255) | no |
1.6.10 | SendPhone | Sender's contact phone | phone | yes, if 1. DispatchNumber is not defined 2. DispatchNumber is defined, but phone number is not defined in an order |
1.6.11 | SenderName | Sender (full name) | string(255) | yes, if 1. DispatchNumber is not defined 2. DispatchNumber is defined, but full name is not defined in an order |
1.6.12 | Weight | Total weight (in grams) The document contain an integral number, but clients may transmit number with a decimal point. In this case, it will be rounded. | string | yes, if DispatchNumber is not defined |
1.6.13 | Comment | Cargo description | string(255) | yes, if DispatchNumber is not defined |
1.6.14 | DispatchNumber2 | Number of an assigned order | string(10) | no |
1.6.15 | IgnoreTime | If “true” is selected, parameters of courier arrival will not be checked | boolean | no, default value: “false” |
1.6.16 | Address1 | Sender address | yes | |
1.6.16.1 | Street | Receiver's street. If possible, do not specify prefixes of values, such as “st.”. | string(50) | yes |
1.6.16.2 | House | Receiver's house, building, block. If possible, do not specify prefixes of values, such as “house” | string(30) | yes |
1.6.16.3 | Flat | Receiver's flat/office. If possible, do not specify prefixes of values, such as “flat”. | string(10) | yes |
1 Identification of sender city and receiver city (in the case of “to the door” mode) uses the following algorithm by order of priority:
By unique city code (City ID) in CDEK’s database. The values are represented in SendCityCode, RecCityCode attributes.
By the city’s postcode. The values are represented in SendCityPostCode, RecCityPostCode attributes. Along with the postcode, the country code (attributes SendCountryCode, RecCountryCode) and/or the city’s name (attributes SendCityName, RecCityName) can be used for specifying: the country code of the sought city should match with that described in the related attribute, and the transferred name of the city should be included in the name of the sought one. The city’s name can be in the client’s language (all localizations will be searched);
- By address string which is formed by concatenating the following fields: SendCityName/RecCityName + Address.Street + Address.House.
It has to be noted that the postcodes database in CDEK informational system may contain incomplete and sometimes inaccurate information about postcodes. Therefore, users need to be able to correct the postcode parameter if necessary.
Note: Currently, CDEK informational system contains only Russian postcodes. We recommend to use the City ID in CDEK’s database.
2 If DispatchNumber isn't transmitted in the request then the courier invitation is registrated for pick up the console (all orders from the same sender address).
4.6.2. Response Format
The CDEK server will return a result in the form of XML:
No. | Tag / attribute | Description | Type of field | Mandatory (yes/no) |
1 | Response | Document title | yes | |
1.1 | Call | Waiting for a courier | yes | |
1.1.1 | Number | Invitation number | string(30) | yes |
1.1.2 | ErrorCode | Error code | string(255) | no |
1.1.3 | Msg | Fixed text “Orders added” Description of error (if any) | string(255) | yes |
Example. Registration of a courier invitation
<?xml version="1.0" encoding="UTF-8"?> <callcourier account="0278f9e8004f6b08f37497001e804007" callcount="1" date="2019-01-23" secure="3e10b5b7d1da1dfa42cb70c329964ec2"> <call comment="comment_QF6aD1" date="2019-01-25" dispatchnumber="1105256461" lunchbeg="14:00" lunchend="14:30" sendcitycode="44" sendername="name_QF6aD1" sendphone="+79138739944" timebeg="10:00" timeend="17:00" weight="20"> <address flat="flat_QF6aD1" house="house_QF6aD1" street="street_QF6aD1"/> </call> </callcourier> |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <response> <Call Number="13266935"/> <Call Msg="1 calls were added"/> <TraceId>21cdde0373428e05</TraceId> </response> |
4.7.
Recording of Notification Call Results
This method can be used by the client to transmit results of notification calls to the receiver of an “online store” order, namely agreed delivery-to-door.
This method is used in the following cases:
the online store provides a receiver's schedule for delivery /pickup;
changes in delivery address;
change in the amount to be paid for the goods.
Based on notification call results, order details can be changed in the delayed mode using an automated task (robot). The robot is started on schedule at the intervals specified in the configuration file. |
4.7.1. Description of Input Parameters
No. | Tag / attribute | Description | Type of field | Mandatory (yes/no) |
1 | ScheduleRequest | Document title. | yes | |
1.1 | Date | Date of document (date of invitation) | datetime/date | yes |
1.2 | Account | Online store identifier (login) | string(255) | yes |
1.3 | Number | Number of an acceptance certificate/waybill. Identifier of the list of cargoes in the IS of the CDEK client. You can use 1 as a default value. | string(30) | yes |
1.4 | Secure | Key | string(255) | yes |
1.5 | Order Count | Total number of requests for notification calls. Default value: 1. | Integer | yes |
1.6 | Order | Shipment (order) | yes | |
1.6.1 | DispatchNumber1 | CDEK shipment number (assigned when orders are imported). Order identifier in the IS of a CDEK client. | integer | yes |
1.6.2 | Number1 | Client shipment number (unique for orders of a particular client). Order identifier in the Client's IS. | string(40) | yes |
1.6.3 | Date1 | Date of document (date of order) | datetime/date | yes |
1.6.4 | Attempt | Time of delivery. | yes | |
1.6.4.1 | ID | ID number of a schedule from the online store's database. You may use 1 as a default value. | integer | yes |
1.6.4.2 | Date | Date of delivery (only date, in the format “YYYY-MM-DD”, no time) as agreed by the receiver | date | yes |
1.6.4.3 | Comment | Comment | string(255) | no |
1.6.4.4 | TimeBeg | Start of a delivery time range (receiver's time) | time | yes |
1.6.4.5 | TimeEnd | End of a delivery time range (receiver's time) | еime | yes |
1.6.4.6 | Address | New delivery address (if change is required) Depending on a delivery mode, Street or House attributes should be specified. Flat – delivery to the receiver's address, or PvzCode – pickup | no | |
1.6.4.6.1 | Street | Receiver's street. If possible, do not specify prefixes of values, such as “str” | string(50) | yes |
1.6.4.6.2 | House | Receiver's house, building, block. If possible, do not specify prefixes of values, such as “house” | string(30) | yes |
1.6.4.6.3 | Flat | Receiver's flat/office. If possible, do not specify prefixes of values, such as “flat.” | string(10) | no |
1.6.4.6.4 | PvzCode | Pickup code, required only for orders with a delivery mode “to warehouse” and provided that no additional service “Delivery in the receiver's city” has been ordered. | string(10) | yes |
1 The order is identified either by “DispatchNumber” or by two parameters — Number and Date. If the request has a value of the “DispatchNumber” attribute, “Number” and “Date” attributes will be ignored.
4.7.2. Response Format
The CDEK server will return a result in the form of XML:
No. | Tag / attribute | Description | Type of field | Mandatory (yes/no) |
1 | Response | Document title | yes | |
1.1 | ScheduleResuest | Waiting for a courier | yes | |
1.1.1 | Number | Invitation number | string(40) | no |
1.1.2 | DispatchNumber | CDEK order number | integer | no |
1.1.3 | ErrorCode | Error code | string(255) | no |
1.1.4 | Msg | Fixed text or Description of error (if any) | string(255) | yes |
Example. Recording of Notification Call Results
<?xml version="1.0" encoding="UTF-8"?> <schedulerequest account="0278f9e8004f6b08f37497001e804007" date="2019-01-23 17:20:45" ordercount="1" secure="3e10b5b7d1da1dfa42cb70c329964ec2"> <order date="2019-01-23 17:20:45" dispatchnumber="1105256461" number="s785558447"> <attempt comment="comment_0" date="2019-01-28" timebeg="9:00:00" timeend="15:00:00"> <address flat="flat_0" house="fhouse_0" street="street_0"/> </attempt> </order> </schedulerequest> |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <response> <ScheduleRequest Msg="Insert 1 schedule"/> </response> |
4.8.
Printing a Package Barcode
This method is used to generate a printed label form in pdf format.
To prevent the platform from being overloaded, do not transmit more than 100 order numbers per request.
4.8.1. Description of Data to be Transmitted
No. | Tag / attribute | Description | Type of field | Mandatory (yes/no) |
1 | OrdersPackagesPrint | Document title | yes | |
1.1 | Date | Date of document | datetime/date | yes |
1.2 | Account | Online store identifier (login) | string(255) | yes |
1.3 | Secure | Key | string(255) | yes |
1.4 | OrderCount | Total number of orders transmitted in a document | integer | yes |
1.5 | CopyCount | Number of copies. Default value: 1 | integer | no |
1.6 | PrintFormat | Print format, acceptable values: A4, A5, A6 (A – Latin letter). Default value: A4 | string(2) | no |
1.7 | Order | Shipment (order) | yes | |
1.7.1 | DispatchNumber1 | CDEK shipment number (assigned when orders are imported). Order identifier in the IS of the CDEK client. | integer | yes |
1.7.2 | Number1 | Client's shipment number. Order identifier in the IS of the CDEK client. | string(40) | yes |
1.7.3 | Date1 | Date of an acceptance certificate, based on which the order has been transferred | date | yes |
1 The order is identified either by “DispatchNumber” or by Number. If the request has a value of the “DispatchNumber” attribute, “Number” attribute will be ignored.
The printing a package barcode method and order registration method refer to different modules of system, synchronization between which can take from several seconds to several minutes. We recommend to call the printing a package barcode method after some time after creating an order. |
4.8.2. Response Format
In response, the CDEK server will return a pdf file.
In case of error, the result will be returned as XML:
No. | Tag/ attribute | Description | Type of field | Mandatory (yes/no) |
1 | Response | Document title | yes | |
1.1 | Order | Order | yes | |
1.1.1 | ErrorCode | Error code | string(255) | no |
1.1.2 | Msg | Error description | string(255) | yes |
Example. Printing a Package Barcode
<?xml version="1.0" encoding="UTF-8"?> <OrdersPackagesPrint Account="0278f9e8004f6b08f37497001e804007" Secure="3e10b5b7d1da1dfa42cb70c329964ec2" Date="2019-01-24" OrderCount="1" printFormat="A6"> <Order DispatchNumber="1105256461" Number="s785558447" Date="2019-01-24"/> </OrdersPackagesPrint> |
Response (success) |
---|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <response> <Order ErrorCode="ERR_INVALID_DISPATCHNUMBER" Msg="Orders not found by dispatchNumber 1105256461"/> <TraceId>e32939c969dfb6d9</TraceId> </response> |
4.9.
Order Status Report
This method is used to generate an order status report, including order change history.
4.9.1. Description of Data to be Transmitted
No. | Tag / attribute | Description | Type of field | Mandatory (yes/no) |
1 | StatusReport | Document title | yes | |
1.1 | Date | Date of request | datetime/date | yes |
1.2 | Account | Client identifier (login) | string(255) | yes |
1.3 | Secure | Key | string(255) | yes |
1.4 | ShowHistory | The attribute indicating that the order history must be loaded (1 – yes, 0 – no) | boolean | no |
1.5 | ShowReturnOrder | The attribute indicating that the list of return orders must be loaded (1 – yes, 0 – no) | boolean | no |
1.6 | ShowReturnOrderHistory | The attribute indicating that the history of return orders must be loaded (1 – yes, 0 – no) | boolean | no |
1.7 | Lang | Identifier of language in which the request is sent and the response is expected | string(3) | no |
1.7 | ChangePeriod1 | The period during which the order status has changed. | no | |
1.7.1 | DateFirst3 | Start date of requested period | datetime/date | yes |
1.7.2 | DateLast3 | End date of requested period | datetime/date | yes |
1.8 | Order1 | Shipment (order) | no | |
1.8.1 | DispatchNumber2 | CDEK shipment number (assigned when orders are imported). Order identifier in the CDEK IS. | integer | yes |
1.8.2 | Number2 | Client's shipment number. Order identifier in the IS of the CDEK client. | string(40) | yes |
1.8.3 | Date2 | Date of an acceptance certificate, based on which the order has been transferred | date | yes |
1 The request must contain at least one of two tags: ChangePeriod or Order:
if both the ChangePeriod tag and the list of orders in the Order tag, the result will contain details of all orders that have changed their status in the specified period;
if only the ChangePeriod tag is specified without the list of orders in the Order tag, the result will contain details of all orders that have changed their status in the specified period;
if the ChangePeriod tag is not transmitted and only the Order is available, information for the entire list of requested orders will be transmitted.
2 The order is identified either by “DispatchNumber” or by two parameters — Number and Date. If the request has a value of the “DispatchNumber” attribute, “Number” and “Date” attributes will be ignored.
3 The maximum period for uploading changes is 31 days. Those. DateLast - DateFirst = <31 days.
Status history can be obtained for orders created no earlier than 2020.
4.9.2. Response Format
The CDEK server will return a result in the form of XML:
No. | Tag / attribute | Description | Type of field | Mandatory (yes/no) |
1 | StatusReport | Document title | yes | |
1.1 | DateFirst | Start date and time of the period during which order statuses have changed | datetime/date | yes |
1.2 | DateLast | End date and time of the period during which order statuses have changed | datetime/date | yes |
2 | Order | Shipment (order) | yes | |
2.1 | ActNumber | Acceptance certificate number | string(30) | yes |
2.2 | Number | Client's shipment number. Order identifier in the IS of a CDEK client. | string(30) | yes |
2.3 | DispatchNumber | CDEK shipment number (assigned when orders are imported). Order identifier in the CDEK IS. | integer | yes |
2.4 | DeliveryDate | Delivery date: | datetime | no |
2.5 | RecipientName | Recipient at the time of delivery (filled only in the order status "Delivered") | string(50) | no |
2.6 | ReturnDispatchNumber | Number of return shipment (order number under which the goods are returned to the online store in case of statuses “Not delivered”, “Delivered” – “Partial delivery”) | integer | no |
2.7 | ReverseDispatchNumber | Reverse waybill number (number of the waybill in which the cargo is returned if there is an additional service #48 " REVERSE") | integer | no |
2.8 | Status | Current order status | yes | |
2.8.1 | Date | Status date. Greenwich mean time indicated | datetime | yes |
2.8.2 | Code | Status code (for more details, see Appendix No. 5) | integer | yes |
2.8.3 | Description | Status name | string(100) | yes |
2.8.4 | CityCode | Status change city, CDEK city code | integer | yes |
2.8.5 | CityName | Name of the status change city | string(100) | yes |
2.8.6 | State1 | Status change history | yes | |
2.8.6.1 | Date | Status date | datetime | yes |
2.8.6.2 | Code | Status code (for more details, see Appendix No. 5) | integer | yes |
2.8.6.3 | Description | Status name | string(100) | yes |
2.8.6.4 | CityCode | Status change city, CDEK city code | integer | yes |
2.8.6.5 | CityName | Name of the status change city | string(100) | yes |
2.9 | Reason | Current additional status | yes | |
2.9.1 | Date | Additional status date | datetime | yes |
2.9.2 | Code | Additional status code (for more details, see Appendix No. 6) | integer | no |
2.9.3 | Description | Additional status name | string(100) | no |
2.10 | DelayReason | Current delay reason | yes | |
2.10.1 | Date | Delay reason date | datetime | yes |
2.10.2 | Code | Delay reason code (for more details, see Appendix No. 7) | integer | no |
2.10.3 | Description | Delay reason | string(50) | no |
2.10.4 | State1 | Delay reason history | yes | |
2.10.4.1 | Date | Delay reason date | datetime | yes |
2.10.4.2 | Code | Delay reason code (for more details, see Appendix No. 7) | integer | no |
2.10.4.3 | Description | Delay reason | string(50) | no |
2.11 | Package2 | Package | no | |
2.11.1 | Number | Package number. Order identifier in the IS of еру CDEK client. | string(20) | yes |
2.11.2 | BarCode | Package barcode, package identifier | string(20) | yes |
2.11.3 | Item2 | Items | yes | |
2.11.3.1 | WareKey | Identifier/item number of the goods. | string(20) | yes |
2.11.3.2 | Marking | Marking of item | string | no |
2.11.3.3 | DelivAmount | Number of delivered items. Default value is equal to the number of items transferred for delivery. | integer | yes |
2.11.3.4 | Amount | Quantity of goods of the same type (pcs). The maximum number is 999. | integer | yes |
2.12 | Attempt3 | Delivery time taken from the delivery schedule | no | |
2.12.1 | ID | ID number of a schedule from the online store's database | integer | yes |
2.12.2 | ScheduleCode | Delay reason code (for more details, see Appendix No. 7) | integer | yes |
2.12.3 | ScheduleDescription | Delay reason | string(50) | yes |
2.13 | Call | History of notification calls to the receiver | no | |
2.13.1.1 | CallGood | History of successful calls | no | |
2.13.1.1 | Good | Successful call | yes | |
2.13.1.1.1 | Date | Date of a successful call | date | yes |
2.13.1.1.2 | DateDeliv | Agreed date of delivery/ pickup | date | yes |
2.13.2 | CallFail | History of failed calls | no | |
2.13.2.1 | Fail | Failed call | yes | |
2.13.2.1.1 | Date | Date of call | date | yes |
2.13.2.1.2 | ReasonCode | Failed call reason code (for more details, see Appendix No. 8) | integer | yes |
2.13.2.1.3 | ReasonDescription | Reason for a failed call | string(255) | yes |
2.13.3 | CallDelay | History of call reschedules | no | |
2.13.3.1 | Delay | Call reschedule | yes | |
2.13.3.1.1 | Date | Date of call | date | yes |
2.13.3.1.2 | DateNext | Date to which call is rescheduled | date | yes |
3 | ReturnOrder | Return shipment | no | |
3.1 | ActNumber | Acceptance certificate number | string(30) | yes |
3.2 | Number | Client's shipment number. Order identifier in the IS of the CDEK client. | string(30) | yes |
3.3 | DispatchNumber | CDEK number of return order (assigned when the return order is agreed). Order identifier in the CDEK IS. | integer | yes |
3.4 | DeliveryDate | Delivery date | datetime | no |
3.5 | RecipientName | Recipient at the time of delivery | string(50) | no |
3.6 | Status | Current order status | yes | |
3.6.1 | Date | Status date | datetime | yes |
3.6.2 | Code | Status code (for more details, see Appendix No. 5) | integer | yes |
3.6.3 | Description | Status name | string(100) | yes |
3.6.4 | CityCode | Status change city, CDEK city code | integer | yes |
3.6.5 | CityName | Name of the status change city | string(100) | yes |
3.6.6 | State1 | Status change history | yes | |
3.6.6.1 | Date | Status date | datetime | yes |
3.6.6.2 | Code | Status code (for more details, see Appendix No. 5) | integer | yes |
3.6.6.3 | Description | Status name | string(100) | yes |
3.6.6.4 | CityCode | Status change city | integer | yes |
3.6.6.5 | CityName | Name of the status change city | string(100) | yes |
3.7 | Reason | Current additional status | yes | |
3.7.1 | Date | Additional status date | datetime | yes |
3.7.2 | Code | Additional status code (for more details, see Appendix No. 6) | integer | no |
3.7.3 | Description | Additional status name | string(100) | no |
3.8 | DelayReason | Current delay reason | yes | |
3.8.1 | Date | Delay reason date | datetime | yes |
3.8.2 | Code | Delay reason code (for more details, see Appendix No. 7) | integer | no |
3.8.3 | Description | Delay reason | string(50) | no |
1 The State tag is used only if ShowHistory = 1 (see the Description of Data to be Transmitted).
2 Package and Item tags are used only in case of partial delivery (final status “Delivered” and additional status “Partial delivery”).
3 The Attempt tag is used only if the online store shall provide a delivery schedule to CDEK under the contract. The tag contains details of failed delivery attempts as compared to a delivery schedule provided by the online store.
The order status report method and order registration method refer to different modules of system, synchronization between which can take from several seconds to several minutes. We recommend to call order status report method after some time after creating an order. |
Example. Order Status Report
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <StatusReport Account="account" Date="2018-08-08T20:23:54" Secure="secure" ShowHistory="1"> <Order DispatchNumber="1000028000"/> <Order DispatchNumber="1000356200"/> </StatusReport> |
<?xml version="1.0" encoding="UTF-8"?> <StatusReport DateFirst="2000-12-31T17:00:00+00:00" DateLast="2018-08-10T08:55:52+00:00" > <Order ActNumber="" Number="2080965069" DispatchNumber="1000028000" DeliveryDate="2018-04-06T13:33:27+03:00" RecipientName="Ivanov Ivan" > <Status Date="2018-04-06T10:33:42+00:00" Code="4" Description="Delivered" CityCode="1081" CityName="Nalchik"> <State Date="2018-03-21T14:54:13+00:00" Code="1" Description="Created" CityCode="44" CityName="Moscow" /> <State Date="2018-03-21T17:32:32+00:00" Code="3" Description="Recieved at shipment warehouse" CityCode="44" CityName="Moscow" /> <State Date="2018-03-21T17:35:12+00:00" Code="6" Description="Sent for shipment" CityCode="44" CityName="Moscow" /> <State Date="2018-03-21T23:00:12+00:00" Code="7" Description="Handed to carrier in shipment location" CityCode="44" CityName="Moscow" /> <State Date="2018-03-21T23:36:53+00:00" Code="21" Description="Sent to transit location" CityCode="44" CityName="Moscow" /> <State Date="2018-03-22T19:01:19+00:00" Code="22" Description="Received at transit location" CityCode="438" CityName="Rostov-on-Don" /> <State Date="2018-03-22T22:18:47+00:00" Code="13" Description="Accepted at transit warehouse" CityCode="438" CityName="Rostov-on-Don" /> <State Date="2018-03-22T22:18:47+00:00" Code="19" Description="Sent for shipment in transit location" CityCode="438" CityName="Rostov-on-Don" /> <State Date="2018-03-22T22:19:44+00:00" Code="20" Description="Handed to carrier in transit location" CityCode="438" CityName="Rostov-on-Don" /> <State Date="2018-03-22T22:59:19+00:00" Code="8" Description="Send to destination city" CityCode="438" CityName="Rostov-on-Don" /> <State Date="2018-03-24T15:11:53+00:00" Code="17" Description="Returned to transit warehouse" CityCode="438" CityName="Rostov-on-Don" /> <State Date="2018-03-24T15:11:53+00:00" Code="19" Description="Sent for shipment in transit location" CityCode="438" CityName="Rostov-on-Don" /> <State Date="2018-03-25T21:25:02+00:00" Code="20" Description="Handed to carrier in transit location" CityCode="438" CityName="Rostov-on-Don" /> <State Date="2018-03-25T22:32:47+00:00" Code="8" Description="Send to destination city" CityCode="438" CityName="Rostov-on-Don" /> <State Date="2018-03-26T11:13:27+00:00" Code="10" Description="Accepted at delivery warehouse" CityCode="1081" CityName="Nalchik" /> <State Date="2018-04-06T05:28:09+00:00" Code="11" Description="Sent for delivery" CityCode="1081" CityName="Nalchik" /> <State Date="2018-04-06T10:33:42+00:00" Code="4" Description="Delivered" CityCode="1081" CityName="Nalchik" /> </Status> <Reason Code="" Description="" Date=""></Reason> <DelayReason Code="" Description="" Date="" ></DelayReason> <Call> <CallGood> <Good Date="2018-03-26T12:50:31+00:00" DateDeliv="2018-04-06" /> <Good Date="2018-03-26T12:50:37+00:00" DateDeliv="2018-04-06" /> </CallGood> </Call> </Order> <Order ActNumber="" Number="2066479243" DispatchNumber="1000356200" DeliveryDate="2018-04-07T15:29:32+03:00" RecipientName="Petrov Petr" > <Status Date="2018-04-07T12:29:39+00:00" Code="4" Description="Delivered" CityCode="44" CityName="Moscow"> <State Date="2018-04-01T14:15:20+00:00" Code="1" Description="Created" CityCode="44" CityName="Moscow" /> <State Date="2018-04-01T18:03:43+00:00" Code="10" Description="Accepted at delivery warehouse" CityCode="44" CityName="Moscow" /> <State Date="2018-04-02T09:04:38+00:00" Code="11" Description="Sent for delivery" CityCode="44" CityName="Moscow" /> <State Date="2018-04-02T09:13:41+00:00" Code="18" Description="Returned to delivery warehouse" CityCode="44" CityName="Moscow" /> <State Date="2018-04-02T09:13:41+00:00" Code="11" Description="Sent for delivery" CityCode="44" CityName="Moscow" /> <State Date="2018-04-03T07:56:08+00:00" Code="18" Description="Returned to delivery warehouse" CityCode="44" CityName="Moscow" /> <State Date="2018-04-07T06:14:36+00:00" Code="11" Description="Sent for delivery" CityCode="44" CityName="Moscow" /> <State Date="2018-04-07T12:29:39+00:00" Code="4" Description="Delivered" CityCode="44" CityName="Moscow" /> </Status> <Reason Code="20" Description="Partial delivery" Date="2018-04-07T12:29:39+00:00"></Reason> <DelayReason Code="" Description="" Date="" > <State Date="2018-04-03T16:56:41+00:00" Code="47" Description="Address does not exist" /> </DelayReason> <Package Number="2066479243" BarCode="2066479243"> <Item WareKey="2201073352678" Amount="1" DelivAmount="0" /> <Item WareKey="2201084246850" Amount="1" DelivAmount="1" /> <Item WareKey="654321" Amount="1" DelivAmount="0" /> </Package> <Call> <CallGood> <Good Date="2018-04-01T14:15:46+00:00" DateDeliv="2018-04-02" /> <Good Date="2018-04-03T16:56:41+00:00" DateDeliv="2018-04-07" /> </CallGood> <CallFail> <Fail Date="2018-04-02T15:35:47+00:00" ReasonCode="3" ReasonDescription="Subscriber unavailable" /> </CallFail> </Call> </Order> </StatusReport> |
4.10.
Order Information Report
This method is used to load order details.
4.10.1. Description of Data to be Transmitted
No. | Tag / attribute | Description | Type of field | Mandatory (yes/no) |
1 | InfoRequest | Document title | yes | |
1.1 | Date | Date of request | datetime/date | yes |
1.2 | Account | Client identifier (login) | string(255) | yes |
1.3 | Secure | Key | string(255) | yes |
1.4 | ChangePeriod | The period during which the tariff has changed. | no | |
1.4.1 | DateBeg | Start date of requested period | date | no |
1.4.2 | DateEnd | End date of requested period | date | no |
1.5 | Order | Shipment (order) | no | |
1.5.1 | DispatchNumber1 | CDEK shipment number (assigned when orders are imported). Order identifier in the CDEK IS. | integer | yes |
1.5.2 | Number1 | Client's shipment number. Order identifier in the IS of a CDEK client. | string(30) | yes |
1.5.3 | Date1 | Date of an acceptance certificate, based on which the order has been transferred | date | yes |
1 The order is identified either by “DispatchNumber” or by two parameters — Number and Date. If the request has a value of the “DispatchNumber” attribute, “Number” and “Date” attributes will be ignored.
4.10.2. Response Format
The CDEK server will return a result in the form of XML:
No. | Tag / attribute | Description | Type of field | Mandatory (yes/no) |
1 | InfoReport | Document title | yes | |
1.1 | Order | Shipment (order) | yes | |
1.1.1 | Number | Client's shipment number. Order identifier in the IS of the CDEK client. | string(30) | yes |
1.1.2 | Date | Date on which the order has been transferred to the CDEK database | date | yes |
1.1.3 | DispatchNumber | CDEK shipment number (assigned when orders are imported). Order identifier in the CDEK IS. | integer | yes |
1.1.4 | TariffTypeCode | Tariff code (for more details, see Appendix No. 1) | integer | yes |
1.1.5 | Weight | Estimated weight (in kilograms) | float | yes |
1.1.6 | DeliverySum | Cost of delivery, in the settlement currency. Default: rubles. | float | yes |
1.1.7 | DateLastChange | Last change date for cost of delivery | date | no |
1.1.8 | CashOnDeliv | Cash-on-delivery amount to be collected from the receiver in the currency of the receiver's country. Default: rubles. | float | no |
1.1.9 | CashOnDelivFact | Cash-on-delivery amount collected from the receiver in the currency of the receiver's country (default: rubles), subject to possible partial delivery. Available only for orders with the status “Delivered” | float | no |
1.1.10 | CashOnDelivType | Payment type of cash-on-delivery. Possible values: cash, cashless. Tag missing if payment information has not got | strong(10) | no |
1.1.11 | DeliveryMode | Delivery mode code (for more details, see Appendix No. 1) | integer | yes |
1.1.12 | PvzCode | Pickup code specified in order at the time of request, for the delivery mode “to warehouse” | string(10) | yes |
1.1.13 | DeliveryVariant | Delivery option: (COURIER – courier, PVZCDEK – CDEK pickup point, PVZCLIENT – partner’s pickup point) | string(10) | yes |
2.13 | SendCity | Sender's city | yes | |
2.13.1 | Code | CDEK city code | integer | yes |
2.13.2 | PostCode | Postal code of the city | string(6) | yes |
2.13.3 | Name | City name | string(50) | yes |
2.14 | RecCity | Receiver's city | yes | |
2.14.1 | Code | CDEK city code | integer | yes |
2.14.2 | PostCode | Postal code of the city | string(6) | yes |
2.14.3 | Name | City name | string(50) | yes |
2.15 | AddedService | Additional services for orders | no | |
2.15.1 | ServiceCode | Additional service code (for more details, see Appendix No. 2) | integer | yes |
2.15.2 | Sum | Value of service in the settlement currency, default: rubles. | float | yes |
2.16 | Package | Package (all packages are sent with different Package tags) | yes | |
2.16.1 | Number | Package number | string(20) | yes |
2.16.2 | BarCode | Package barcode, package identifier | string(20) | yes |
2.16.3 | Weight | Total weight (in kilograms) | float | yes |
2.16.4 | VolumeWeight | Volumetric weight (in kilograms), calculated by formula: SizeA*SizeB*SizeC/5,000 | float | yes |
2.16.5 | SizeA | Package dimensions. Length (in centimeters) | integer | yes |
2.16.6 | SizeB | Package dimensions. Width (in centimeters) | integer | yes |
2.16.7 | SizeC | Package dimensions. Height (in centimeters) | integer | yes |
2.16.8 | Item | Items (goods) | yes | |
2.16.8.1 | WareKey | Identifier/item number of the goods | string(50) | yes |
2.16.8.2 | Marking | Marking of item | string | no |
2.16.8.3 | Comment | Name of the goods (may contain description of the goods: size, color) | string(255) | yes |
2.16.8.4 | Amount | Quantity of the goods transferred for delivery | integer | yes |
2.16.8.5 | DelivAmount | Quantity of items of the same type delivered (pcs) | integer | yes |
2.16.8.6 | Cost | Declared value of the goods (per item in the specified the contract currency) | float | yes |
2.16.8.7 | Payment | Cash on delivery (per item in the recipient country currency) | float | yes |
2.16.8.8 | VATRate | VAT rate included in the value of the goods (for more details, see Appendix No. 4) | string(10) | no |
2.16.8.9 | VATSum | VAT amount included in the value (payment) of the goods. | float | no |
2.16.8.10 | Weight | Weight (per item, in kilograms) | float | yes |
The order information report method and order registration method refer to different modules of system, synchronization between which can take from several seconds to several minutes. We recommend to call order information report method after some time after creating an order. |
Example. Order Information Report
<?xml version="1.0" encoding="utf-8"?> <InfoRequest Date="2019-01-23T00:00:00" Account="0278f9e8004f6b08f37497001e804007" Secure="3e10b5b7d1da1dfa42cb70c329964ec2"> <Order DispatchNumber="1105256461"/> </InfoRequest> |
<?xml version="1.0" encoding="UTF-8"?> <InfoReport> <Order Number="s785558447" Date="2019-01-23" DispatchNumber="1105256461" TariffTypeCode="139" Weight="2" DeliverySum="405" DateLastChange="" CashOnDeliv="10500" CashOnDelivFact="10500" CashOnDelivType="cashless" deliveryMode="1" deliveryVariant="COURIER"> <SendCity Code="44" PostCode="101000" Name="??????"/> <RecCity Code="44" PostCode="101000" Name="??????"/> <Package Number="_" BarCode="10456789" Weight="1" VolumeWeight="0.005" SizeA="2" SizeB="3" SizeC="4"> <Item WareKey="00012345" Comment="wrap" Cost="500" Payment="500" VATRate="VAT10" VATSum="45.45" Weight="0.5" Amount="1" DelivAmount="1" /> <Item WareKey="00078945" Comment="female jacket" Cost="5500" Payment="5500" VATRate="VAT10" VATSum="500" Weight="3" Amount="1" DelivAmount="1" /> </Package> <Package Number="_" BarCode="10123456" Weight="1" VolumeWeight="0.005" SizeA="2" SizeB="3" SizeC="4"> <Item WareKey="00123456" Comment="sneakers" Cost="1500" Payment="1500" VATRate="VAT10" VATSum="136.36" Weight="1" Amount="1" DelivAmount="1" /> <Item WareKey="00456123" Comment="men's shirt" Cost="2500" Payment="500" VATRate="VAT10" VATSum="45.45" Weight="0.5" Amount="1" DelivAmount="1" /> <Item WareKey="00789456" Comment="dress" Cost="2500" Payment="2500" VATRate="VAT10" VATSum="227.27" Weight="1" Amount="1" DelivAmount="1" /> </Package> <AddedService ServiceCode="30" Sum="0" /> <AddedService ServiceCode="2" Sum="93.75" /> </Order> </InfoReport> |
4.11.
List of Regions
This method is used to load detailed information on regions. The list of regions may be limited to user-defined characteristics.
4.11.1. Description of Request Parameters to be Transmitted
In order to load the list of regions, it is necessary to send a GET request with the following parameters:
No. | Tag / attribute | Description | Type of field | Mandatory (yes/no) |
1 | regionCodeExt | Region code (deprecated) | string(10) | no |
2 | regionCode | Region code in the CDEK IS (deprecated) | integer | no |
3 | regionFiasGuid | Region code according to the Federal Information Address System | UUID | no |
4 | countryCode | Country code in the format ISO 3166-1 alpha-2 | string(2) | no |
5 | countryCodeExt | Code according to the Russian Classifier of Countries of the World (deprecated) | integer | no |
6 | page | Number of the results page. Default value: 0 | integer | no |
7 | size | Limitation on the number of results displayed. Default value: 1,000 | integer | yes, if page is specified |
8 | lang | Localization. Default: “rus”. | string(3) | no |
4.11.2. Response Format
The CDEK server returns a result with the following fields:
No. | Tag / attribute | Description | Type of field | Mandatory (yes/no) |
1 | regionUuid | Entity identifier in the CDEK IS | UUID | yes |
2 | regionName | Region name | string(255) | yes |
3 | prefix | Prefix (possible values: region, territory, republic, autonomous okrug, region, city) | string(20) | no |
4 | regionCodeEx | Region code (deprecated) | String( 10) | no |
5 | regionCode | Region code in the CDEK IS | String( 10) | no |
6 | regionFiasGuid | Region code according to the Federal Information Address System | UUID | no |
7 | countryName | Country name | string(255) | yes |
8 | countryCode | Country code in the format ISO 3166-1 alpha-2 | String | no |
9 | countryCodeExt | Code according to the Russian Classifier of Countries of the World (deprecated) | String | no |
Example 1. List of Regions in JSON
http://integration.cdek.ru/v1/location/regions/json?size=3&page=0&countryCode=DE |
[ { "regionName": "Lower Saxony", "regionCode": "641", "regionUuid": "b94ece92-30a3-44cc-bc2b-98b40c39d38f", "countryName": "Germany", "countryCode": "DE", "countryCodeExt": "276" }, { "regionName": "Bremen", "regionCode": "355", "regionUuid": "413fe600-2d4c-43f8-b2c4-ded6903af01a", "countryName": "Germany", "countryCode": "DE", "countryCodeExt": "276" }, { "regionName": "Saxony", "regionCode": "235", "regionUuid": "4e845f95-1a45-4822-8e4f-5ac552b9c95f", "countryName": "Germany", "countryCode": "DE", "countryCodeExt": "276" } ] |
Example 2. List of Regions in XML
http://integration.cdek.ru/v1/location/regions?size=5&page=0&countryCode=DE OR http://integration.cdek.ru/v1/location/regions/xml?size=5&page=0&countryCode=DE |
?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Regions> <Region regionName="Lower Saxony" regionCode="641" regionUuid="b94ece92-30a3-44cc-bc2b-98b40c39d38f" countryName="Germany" countryCode="DE" countryCodeExt="276"/> <Region regionName="Bremen" regionCode="355" regionUuid="413fe600-2d4c-43f8-b2c4-ded6903af01a" countryName="Germany" countryCode="DE" countryCodeExt="276"/> <Region regionName="Saxony" regionCode="235" regionUuid="4e845f95-1a45-4822-8e4f-5ac552b9c95f" countryName="Germany" countryCode="DE" countryCodeExt="276"/> </Regions> |
4.12.
List of Cities
This method is used to load detailed information on cities. The list of cities may be limited to user-defined characteristics.
4.12.1. Description of Request Parameters to be Transmitted
In order to load the list of cities, it is necessary to send a GET request with the following parameters:
No. | Tag/ attribute | Description | Type of field | Mandatory (yes/no) |
1 | regionCodeExt | Region code (deprecated) | integer | no |
2 | regionCode | Region code in the CDEK IS | integer | no |
3 | regionFiasGuid | Region code according to the Federal Information Address System | UUID | no |
4 | fiasGuid | City code according to the Federal Information Address System | UUID | no |
5 | page | Number of the results page. Default value: 0 | integer | no |
6 | size | Limitation on the number of results displayed. Default value: 1,000 | integer | yes, if page is specified |
7 | countryCode | Country code in the format ISO 3166-1 alpha-2 | string(2) | no |
8 | cityName | City name | string | no |
9 | cityCode | CDEK city code | integer | no |
10 | postcode | Postal code | string | no |
11 | lang | Localization. Default: “rus”. | string(3) | no |
4.12.2. Response Format
The CDEK server returns a result with the following fields:
No. | Tag/ attribute | Description | Type of field | Mandatory (yes/no) |
1 | cityUuid | Entity identifier in the CDEK IS | UUID | yes |
2 | cityName | City name | string(255) | yes |
3 | cityCode | CDEK city code | integer | yes |
4 | region | Region name | string(255) | yes |
6 | regionCodeExt | RF region code (deprecated) | integer | no |
7 | regionCode | Region code in the CDEK IS | integer | no |
8 | subRegion | Name of region's district | string(255) | no |
9 | country | Country name | string(255) | yes |
10 | countryCode | Country code in the format ISO 3166-1 alpha-2 | integer | yes |
11 | latitude | Latitude | float | no |
12 | longitude | Longitude | float | no |
13 | kladr | City code according to the Russian Classifier of Addresses (deprecated) | string(20) | no |
14 | fiasGuid | Code of an address object according to the Russian Classifier of Addresses | UUID | no |
15 | regionFiasGuid | Region code according to the Federal Information Address System | UUID | no |
16 | paymentLimit | Cash-on-delivery amount limit, possible values: 1 – no limit; 0 – cash on delivery is not accepted; positive value – the cash-on-delivery amount does not exceed this value. (deprecated) | float | yes |
17 | timezone | City timezone | string | no |
Example 1.List of cities in JSON
http://integration.cdek.ru/v1/location/cities/json?countryCode=DE&lang=eng®ionCode=331&size=3 |
[ { "cityName":"Thanstein", "cityCode":"71896", "cityUuid":"28cf2cb3-ae3e-495c-9302-b7c7494dfb51", "country":"Germany", "countryCode":"DE", "region":"Bavaria", "regionCode":"331", "subRegion":"Landkreis Schwandorf", "latitude":49.38333, "longitude":12.46667, "paymentLimit":-1, "timezone":"Europe/Berlin" }, { "cityName":"Bad Steben", "cityCode":"64230", "cityUuid":"28fbbd82-05ec-4a24-a2f7-fe3f170b110c", "country":"Germany", "countryCode":"DE", "region":"Bavaria", "regionCode":"331", "subRegion":"Landkreis Hof", "latitude":50.36648, "longitude":11.64438, "paymentLimit":-1, "timezone":"Europe/Berlin" }, { "cityName":"Seinsheim", "cityCode":"67411", "cityUuid":"2a380d91-fe12-4f1e-b703-60bfdb038397", "country":"Germany", "countryCode":"DE", "region":"Bavaria", "regionCode":"331", "subRegion":"Landkreis Kitzingen", "latitude":49.64073, "longitude":10.22038, "paymentLimit":-1, "timezone":"Europe/Berlin" } ] |
Example 2. List of cities in XML
http://integration.cdek.ru/v1/location/cities?size=5&page=0&countryCode=DE OR http://integration.cdek.ru/v1/location/cities/xml?size=5&page=0&countryCode=DE |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Locations> <Location cityName="Sprockhövel" cityCode="34133" cityUuid="1d2ec7b1-f2f1-4190-bd60-44d336a615e7" country="Germany" countryCode="DE" region="North Rhine-Westphalia" regionCode="763" subRegion="Ennepe-Ruhr-Kreis" latitude="51.34669" longitude="7.24343"/> <Location cityName="Lüneburg" cityCode="8810" cityUuid="1f4a11a1-99c0-4d9e-999d-ae680e4c557d" country="Germany" countryCode="DE" region="Lower Saxony" regionCode="641" subRegion="Landkreis Lüneburg" latitude="53.2509" longitude="10.41409"/> <Location cityName="Westerstede" cityCode="53043" cityUuid="21df83e1-7ec7-49f8-a8b5-cbcf06365638" country="Germany" countryCode="DE" region="Lower Saxony" regionCode="641" subRegion="Landkreis Ammerland" latitude="53.25682" longitude="7.92737"/> </Locations> |
4.13
Calculator
4.13.1. Cost calculation on tarrifs with priority
To get the rate and transit time you should send json-object to CDEK server to the following address:
url | type |
---|---|
Content-Type: application/json | |
dataType : "jsonp" (из js) | |
http://api.cdek.ru/calculator/calculate_price_by_json_request.php | Content-Type: application/x-www-form-urlencoded |
4.13.1.1. Description of Data to be Transmitted
No. | Tag / attribute | Description | Type of field | Mandatory (yes/no) |
1 | version | The version by used API - “1.0”. | string | yes |
2 | authLogin1 | Client identifier (login) | string | no |
3 | secure1 | Key | string | no |
4 | dateExecute2 | Planning date of shipment in the format “YYYY-ММ-DD” | date | no |
5 | lang | Localization of city name. Default: “rus”. | string(3) | no |
6 | senderCountryCode3 | Sender country code in the ISO_3166-1_alpha-2 format | string(2) | no |
7 | receiverCountryCode3 | Receiver country code in the ISO_3166-1_alpha-2 format | string(2) | no |
8 | senderCityId3 | Origin city code in accordance with CDEK city code | integer | yes |
9 | senderCity3 | Sender city name | string | no |
10 | senderCityPostCode3 | Zip code of the origin city | integer | yes |
11 | receiverCityId3 | Code of city of destination in accordance with CDEK city code | integer | yes |
12 | receiverCityPostCode3 | City of destination zip code | integer | yes |
13 | receiverCity3 | Receiver city name | string | no |
14 | senderLongitude3 | Sender city longitude | float | no |
15 | receiverLongitude3 | Receiver city longitude | float | no |
16 | senderLatitude3 | Sender city latitude | float | no |
17 | receiverLatitude3 | Receiver city latitude | float | no |
18 | tariffId4 | Code of chosen tariff (for more details, see Appendix No. 1) | integer | yes |
19 | tariffList4 | List of tariffs | yes | |
19.1 | priority | The specified priority | integer | yes |
19.2 | id | Tariff code (for more details, see Appendix No. 1) | integer | yes |
20 | modeId | Chosen delivery mode (for more details, see Appendix No. 1) | integer | no |
21 | goods | Package dimensions | yes | |
21.1 | weight | Weight (in kilograms) | float | yes |
21.2 | length | Length (in centimeters) | integer | yes |
21.3 | width | Width (in centimeters) | integer | yes |
21.4 | height | Height (in centimeters) | integer | yes |
22 | services | List of additional service (for more details, see Appendix No. 2) | no | |
22.1 | id | Number identifier of additional service | integer | yes |
22.2 | param5 | Parameter of additional service if necessary | integer | no |
1 Authorization is not obligatory for regular delivery tariffs and authLogin, secure parametrs might be not provided.
2 The planning shipment date dateExecute is not obligatory (in this case the current date will be used). But if you work with the authorization the date must be transmitted mandatory because the date is taking into account while decoding the password.
3 A city can be identified in one of two ways at the user's discretion:
- by unique city code from the CDEK database. Values are transferred in senderCityId and receiverCityId attributes;
- by postal code of the city. Values are transferred in senderCityPostCode and receiverCityPostCode attributes. Along with the postcode, the country code (attributes senderCountryCode, receiverCountryCode), the city’s name (attributes senderCity, receiverCity) and city longitude and city latitude (attributes senderLongitude, receiverLongitude, senderLatitude, receiverLatitude);
- if putting both values then senderCityId/receiverCityId is taking, senderCityPostCode/receiverCityPostCode should be ignored.
It should be noted that the database of postal codes in the CDEK IS may contain incomplete and sometimes inaccurate information on postal codes. Therefore, the user should be able to adjust the postal code parameter, if necessary.
Note: At present, CDEK IS contains postcodes only for Russia. To identify cities of other countries, we recommend using a city code from the CDEK database.
4 While specifying the rates you should choose one tariff or the list of rates with priorities. If you specified tariffId, and tariffList – tariffId will be chosen, the list will be ignored.
The list of tariffs with the priorities used in the case, if the selected direction at CDEK may not be the most beneficial to you of any particular rate of delivery.
In the case of an assignment of price list this list is checked for the possibility of delivery in a given direction with a given weight of cargo sequentially (starting from the first with the least priority) and the verify process will continue until the rate will give the possibility. In this case the price will be calculated by this rate. In server’s reply it would be returned tariffId from the specified list tariffList, according to which the price was calculated.
The mode of delivery can be specified by modeId and it makes sense only in specifying the list of tariffs. In this case the specified list is additionally filtered by delivery mode otherwise – ignored.
5 For additional services 2, 24, 25 and 32, the parameter value is mandatory and must be passed in the request. For service 2 - insurance in param it is necessary to transfer the amount from which the insurance will be calculated (must be transferred in the currency of mutual settlements). Service 30 is only available for an on-line store contract, so the request must be passed the values of authLogin and secure. For services 24, 25, 32, 54-58, 61-73, 76 a quantity value is transmitted to param, for 74, 75 services a length value is transmitted.
4.13.1.2. Response Format
The CDEK server will return a result:
No. | Tag / attribute | Description | Type of field |
1 | error | Array errors (for more details, see Appendix No. 9) | |
1.1 | code | Error code | integer |
1.2 | text | Error text | string |
2 | price | Price for delivery in RUB | double |
3 | deliveryPeriodMin | Minimum delivery time in days | integer |
4 | deliveryPeriodMax | Maximum delivery time in days | integer |
5 | deliveryDateMin | Minimum delivery date, 'YYYY-ММ-DD', eg “2018-07-29” | string |
6 | deliveryDateMax | Maximum delivery date , 'YYYY-ММ-DD', eg “2018-07-30” | string |
7 | tariffId | Tariff code, regarding to which the delivery cost was calculated | integer |
8 | cashOnDelivery | Cash payment limits will appear if there is any | float |
9 | priceByCurrency | The price is in the currency at which the on-line store operates with the CDEK. Currency is determined by authLogin and secure. | float |
10 | currency | Price in currency, in which the web shop works with CDEK (for more details, see Appendix No. 3) | string |
11 | percentVAT | The rate of VAT for this client. It appears if authLogin and secure are transferred, and the rate of on-line store is determined from them. If the VAT rate is not stipulated by the terms of the contract, this parameter will not be displayed. | integer |
12 | services | List of transmitted additional services (for more details, see Appendix 2) | |
12.1 | id | Service ID | integer |
12.2 | title | Service title | string |
12.3 | price | Additional service cost without VAT in RUB | float |
Example. Calculate shipping cost
{ "version":"1.0", "dateExecute":"2018-07-27", "senderCityId":"270", "receiverCityId":"44", "tariffId":"137", "goods": [ { "weight":"0.3", "length":"10", "width":"7", "height":"5" } ], "services": [ { "id": 2, "param": 2000 }, { "id": 30 } ] } |
{ "result": { "price": "2555", "deliveryPeriodMin": 2, "deliveryPeriodMax": 3, "deliveryDateMin": "2018-07-28", "deliveryDateMax": "2018-07-29", "tariffId": "137", "cashOnDelivery": "30000.00", "percentVAT": 18, "priceByCurrency": 2555, "currency": "RUB", "services": [ { "id": 2, "title": "Insurance", "price": 15 }, { "id": 30, "title": "Home fitting", "price": 0 } ] } } |
4.13.2. Cost calculation on tariffs without priority
To get the rate and transit time you should send json-object to CDEK server to the following address:
url | type |
---|---|
Content-Type: application/json |
4.13.2.1. Description of Data to be Transmitted
No. | Tag / attribute | Description | Type of field | Mandatory (yes/no) |
1 | version | The version by used API - “1.0”. | string | yes |
2 | authLogin1 | Client identifier (login) | string | no |
3 | secure1 | Key | string | no |
4 | dateExecute2 | Planning date of shipment in the format “YYYY-ММ-DD” | date | no |
5 | lang | Localization of city name. Default: “rus”. | string(3) | no |
6 | senderCountryCode3 | Sender country code in the ISO_3166-1_alpha-2 format | string(2) | no |
7 | receiverCountryCode3 | Receiver country code in the ISO_3166-1_alpha-2 format | string(2) | no |
8 | senderCityId3 | Origin city code in accordance with CDEK city code | integer | yes |
9 | senderCityPostCode3 | Zip code of the origin city | integer | yes |
10 | senderCity3 | Sender city name | string | no |
11 | receiverCityId3 | Code of city of destination in accordance with CDEK city code | integer | yes |
12 | receiverCityPostCode3 | City of destination zip code | integer | yes |
13 | receiverCity3 | Receiver city name | string | no |
14 | senderLongitude3 | Sender city longitude | float | no |
15 | receiverLongitude3 | Receiver city longitude | float | no |
16 | senderLatitude3 | Sender city latitude | float | no |
17 | receiverLatitude3 | Receiver city latitude | float | no |
18 | currency | The currency in which you need to calculate shipping cost. Default - RUB | string | no |
19 | tariffId4 | Code of chosen tariff (for more details, see Appendix No. 1) | integer | yes |
20 | tariffList4 | List of tariffs | yes | |
20.1 | id | Tariff code (for more details, see Appendix No. 1) | integer | yes |
21 | goods | Package dimensions | yes | |
21.1 | weight | Weight (in kilograms) | float | yes |
21.2 | length | Length (in centimeters) | integer | yes |
21.3 | width | Width (in centimeters) | integer | yes |
21.4 | height | Height (in centimeters) | integer | yes |
22 | services | List of additional service (for more details, see Appendix No. 2) | no | |
22.1 | id | Number identifier of additional service | integer | yes |
22.2 | param5 | Parameter of additional service if necessary | integer | no |
1 Authorization is not obligatory for regular delivery tariffs and authLogin, secure parametrs might be not provided.
2 The planning shipment date dateExecute is not obligatory (in this case the current date will be used). But if you work with the authorization the date must be transmitted mandatory because the date is taking into account while decoding the password.
3 A city can be identified in one of two ways at the user's discretion:
- by unique city code from the CDEK database. Values are transferred in senderCityId and receiverCityId attributes;
- by postal code of the city. Values are transferred in senderCityPostCode and receiverCityPostCode attributes. Along with the postcode, the country code (attributes senderCountryCode, receiverCountryCode), the city’s name (attributes senderCity, receiverCity) and city longitude and city latitude (attributes senderLongitude, receiverLongitude, senderLatitude, receiverLatitude);
- if putting both values then senderCityId/receiverCityId is taking, senderCityPostCode/receiverCityPostCode should be ignored.
It should be noted that the database of postal codes in the CDEK IS may contain incomplete and sometimes inaccurate information on postal codes. Therefore, the user should be able to adjust the postal code parameter, if necessary.
Note: At present, CDEK IS contains postcodes only for Russia. To identify cities of other countries, we recommend using a city code from the CDEK database.
4 While specifying the rates you should choose one tariff or the list of rates with priorities. If you specified tariffId and tariffList – tariffId will be chosen, the list will be ignored.
5 For additional services 2, 24, 25 and 32, the parameter value is mandatory and must be passed in the request. For service 2 - insurance in param it is necessary to transfer the amount from which the insurance will be calculated (must be transferred in the currency of mutual settlements). Service 30 is only available for an on-line store contract, so the request must be passed the values of authLogin and secure. For services 24, 25, 32, 54-58, 61-73, 76 a quantity value is transmitted to param, for 74, 75 services a length value is transmitted.
4.13.2.2. Response Format
If tariffId was transmitted in the request, then the response corresponds to that described in 4.14.1.2.
Otherwise the CDEK server will return a result:
No. | Tag / attribute | Description | Type of field |
1 | tariffId | Tariff code, regarding to which the delivery cost was calculated | integer |
2 | status | Response status (true - successful, false - unsuccessful) | string |
3 | result | Cost and delivery time of tariff | |
3.1 | error | Array errors (for more details, see Appendix No. 9) | |
3.1.1 | code | Error code | integer |
3.1.2 | text | Error text | string |
3.2 | price | Price for delivery in RUB | double |
3.3 | deliveryPeriodMin | Minimum delivery time in days | integer |
3.4 | deliveryPeriodMax | Maximum delivery time in days | integer |
3.5 | cashOnDelivery | Cash payment limits will appear if there is any | float |
3.6 | priceByCurrency | The price is in the currency that was transfered in the request | float |
3.7 | currency | Price in currency that was thransfered in the request | string |
3.8 | percentVAT | The rate of VAT for this client. It appears if authLogin and secure are transferred, and the rate of on-line store is determined from them. If the VAT rate is not stipulated by the terms of the contract, this parameter will not be displayed | integer |
3.9 | services | List of transmitted additional services (for more details, see Appendix 2) | |
3.9.1 | id | Service ID | integer |
3.9.2 | title | Service title | string |
3.9.3 | price | Additional service cost without VAT in RUB | float |
Example. Calculate shipping cost
{ "version":"1.0", "dateExecute":"2019-04-01", "senderCityId":"44", "receiverCityId":"269", "currency":"RUB", "tariffList": [ { "id":1 }, { "id":8 } ], "goods": [ { "weight":"1", "length":"1", "width":"2", "height":"7" } ], "services": [ { "id":2, "param":1000 } ] } |
{ "result": [ { "tariffId":1, "status":true, "result": { "price":"1077", "deliveryPeriodMin":2, "deliveryPeriodMax":3, "tariffId":1, "priceByCurrency":1077, "currency":"RUB", "percentVAT":20, "services": [ { "id":2, "title":"Insurance", "price":7.5, "rate":0.75 } ] } }, { "tariffId":8, "status":false, "result": { "errors": { "code":3, "text":"Impossible to deliver to this area under given conditions" } } } ] } |
Appendices
Appendix 1. CDEK Tariffs and Delivery Modes
Tariffs for Online Stores
Code | Tariff name | Delivery mode | Weight limit | Service | Description |
---|---|---|---|---|---|
7 | International express documents door–door | door–door (D-D) | up to 5 kg | International express | Express delivery for / from abroad of documents and letters. |
8 | International express freight door–door | door–door (D-D) | up to 30 kg | International express | Express delivery to / from abroad of goods and parcels up to 30 kg. |
136 | Warehouse–warehouse parcel | warehouse–warehouse (W-W) | up to 30 kg | Parcel | Economy delivery of goods across Russia for e-commerce companies. |
137 | Warehouse–door parcel | warehouse–door (W-D) | |||
138 | Door–warehouse parcel | Door–warehouse (D-W) | |||
139 | Door–door parcel | door–door (D-D) | |||
366 | Parcel door-parcel terminal | door-parcel terminal (D-T) | |||
368 | Parcel warehouse-parcel terminal | warehouse-parcel terminal (W-T) | |||
up to 50 kg | Economy parcel | Economy delivery of goods by road/rail across Russia for e-commerce companies. This tariff is applicable to directions from Moscow to CDEK offices located east of the Urals and in Crimea. | |||
233 | Economy warehouse–door parcel | warehouse–door (W-D) | |||
234 | Economy warehouse–warehouse parcel | warehouse–warehouse (W-W) | |||
378 | Economic parcel warehouse-parcel terminal | warehouse-parcel terminal (W-T) | |||
291 | E-com Express warehouse-warehouse | warehouse-warehouse (W-W) | up to 500 kg | E-com Express | The fastest express delivery by air. |
293 | E-com Express door–door | door–door (D-D) | |||
294 | E-com Express warehouse–door | warehouse–door (W-D) | |||
295 | E-com Express door–warehouse | door–warehouse (D-W) | |||
509 | E-com Express door-parcel terminal | door-parcel terminal (D-PT) | |||
510 | E-com Express warehouse-parcel terminal | warehouse-parcel terminal (W-PT) | |||
184 | E-com Standard door–door | door–door (D-D) | E-com Standard | Standard express delivery. Service for the delivery of goods from abroad with customs clearance services (services for distance selling companies). | |
185 | E-com Standard warehouse–warehouse | warehouse–warehouse (W-W) | |||
186 | E-com Standard warehouse–door | warehouse–door (W-D) | |||
187 | E-com Standard door–warehouse | door–warehouse (D-W) | |||
497 | E-com Standard door-parcel terminal | door-parcel terminal (D-PT) | |||
498 | E-com Standard warehouse-parcel terminal | warehouse-parcel terminal (W-PT) |
Chinese Express Tariffs
Code | Tariff name | Delivery mode | Weight limit | Service | Description |
243 | Chinese Express | warehouse–warehouse (W-W) | Chinese Express | Delivery from China to Russia, Belarus and Kazakhstan. Cost of delivery is divided into intervals:
| |
245 | Chinese Express | door–door (D-D) | |||
246 | Chinese Express | warehouse–door (W-D) | |||
247 | Chinese Express | door–warehouse (D-W) |
Regular Delivery Tariffs
Code | Tariff name | Delivery mode | Weight limit | Service | Description |
You need to use "Express" tariff | |||||
3 | Super express up to 18 kg | door–door (D-D) | Express delivery | Express delivery of documents and cargoes “from hand to hand” across Russia by a certain hour. | |
You need to use "Main express" tariff | |||||
You need to use "Express" tariff | |||||
You need to use "Express" tariff | |||||
57 | Super express up to 9 a.m. | door–door (D-D) | up to 30 kg | Express delivery | Express delivery of documents and cargoes “from hand to hand” across Russia by a certain hour (delivery within 1–2 days). |
58 | Super express up to 10 a.m. | door–door (D-D) | up to 30 kg | Express delivery | Express delivery of documents and cargoes “from hand to hand” across Russia by a certain hour (delivery within 1–2 days). |
59 | Super express up to 12 p.m. | door–door (D-D) | up to 30 kg | Express delivery | Express delivery of documents and cargoes “from hand to hand” across Russia by a certain hour (delivery within 1–2 days). |
60 | Super express up to 14 p.m. | door–door (D-D) | up to 30 kg | Express delivery | Express delivery of documents and cargoes “from hand to hand” across Russia by a certain hour (delivery within 1–2 days). |
61 | Super express up to 16 p.m. | door–door (D-D) | up to 30 kg | Express delivery | Express delivery of documents and cargoes “from hand to hand” across Russia by a certain hour (delivery within 1–2 days). |
62 | Long-distance express warehouse–warehouse | warehouse–warehouse (W-W) | Economy delivery | Fast economy delivery of cargoes across Russia | |
121 | Long-distance express дверь-дверь | door–door (D-D) | |||
122 | Long-distance express склад-дверь | warehouse–door (W-D) | |||
123 | Long-distance express дверь-склад | door–warehouse (D-W) | |||
63 | Long-distance super express warehouse-warehouse | warehouse–warehouse (W-W) | Economy delivery | Fast economical cargo delivery by a specific hour. | |
124 | Main super express door–door | door–door (D-D) | |||
125 | Main super express warehouse–door | warehouse–door (W-D) | |||
126 | Main super express door–warehouse | door–warehouse (D-W) | |||
You need to use "Main express" tariff | |||||
121 | Main express door–door | door–door (D-D) | Economy delivery | Fast economical cargo delivery in Russia. | |
122 | Main express warehouse–door | warehouse–door (W-D) | |||
123 | Main express door–warehouse | door–warehouse (D-W) | |||
480 | Express door-door | door–door (D-D) | Express | Classic express delivery of documents and cargoes according to standard delivery times within the country (Russia, Belarus, Armenia, Kyrgyzstan, Kazakhstan). It also operates in directions between the countries of the customs community (Russia, Belarus, Armenia, Kyrgyzstan, Kazakhstan). No weight limits | |
481 | Express door-warehouse | door–warehouse (D-W) | |||
482 | Express warehouse-door | warehouse–door (W-D) | |||
483 | Express warehouse-warehouse | warehouse–warehouse (W-W) | |||
485 | Express door-parcel terminal | door-parcel teminal (D-PT) | |||
486 | Express warehouse-parcel terminal | warehouse-parcel terminal (W-PT) | |||
361 | Express lite door-parcel terminal | door-parcel teminal (D-PT) | up to 30 kg | Express | Classical express delivery of documents and cargoes across Russia. |
363 | Express lite warehouse-parcel terminal | warehouse-parcel terminal (W-PT) |
Delivery modes
Code | Name | Abbreviation | Description |
1 | door–door | D-D | The courier picks up a cargo from the sender and delivers it to the specified receiver's address. |
2 | door–warehouse | D-W | The courier picks up a cargo from the sender and delivers it to a warehouse. The receiver picks up the cargo in a pickup point on his/her own. |
3 | warehouse–door | W-D | The sender delivers a cargo to a warehouse on his/her own. Then the courier delivers the cargo to the specified receiver's address. |
4 | warehouse–warehouse | W-W | The sender delivers a cargo to a warehouse on his/her own. The receiver picks up the cargo in a pickup point on his/her own. |
6 | door-parcel terminal | D-T | The courier picks up a cargo from the sender and delivers to the post terminal. The receiver picks up the cargo in out of terminal on his/her own. |
7 | warehouse-parcel terminal | W-T | The sender delivers a cargo to a warehouse on his/her own. The courier delivers the parcel terminal. The receiver picks up the cargo in out of terminal on his/her own. |
Appendix 2. Additional Services*
it is possible to transmit in the calculator all the additional services listed below, except for the following: more than 15 minutes of waiting at the sender's office, warehouse storage, other, pickup in the sender's city, delivery in the receiver's city, default interest, crating, courier lising, special thermal conditions, agency comission |
Service code | Addition to an order | Parameter | Description | |
2 | Permitted (only for delivery order) | INSURANCE | Insurance coverage of a parcel. Extra insurance charge depends on the declared value of a shipment.
| |
5 | Not permitted, charged automatically | HEAVY CARGO | Heavy cargoes are charged as follows: if the weight of a package is from 75 to 200 kg, the tariff is increased by 18 rubles per kilogram; if the weight of a package exceeds 200 kg, the tariff is increased by 25 rubles per kilogram. The cost of delivery of heavy cargoes can be calculated on an individual basis. Tariffs on these shipments will be calculated on an individual basis and promptly (within one business day) and may be significantly lower than our basic tariffs. | |
6 | Not permitted, charged automatically | OVERSIZED CARGO | In case of an oversized cargo one of whose sides exceeds 1.5 m, the tariff will be increased by 60 % (unless the cost of delivery is charged on the basis of volumetric weight). In case of an oversized cargo one of whose sides exceeds 2.2 m, the tariff will be increased by 100 % (unless the cost of delivery is charged on the basis of volumetric weight). | |
7 | Permitted | DANGEROUS CARGOES | In addition to ordinary documents and cargoes, CDEK is ready to deliver dangerous cargoes (other than prohibited for delivery). Due to a certain risk, the cost of delivery of hazardous goods is increased by 1.5 times. | |
8 | Not permitted, charged automatically | MORE THAN 15 MINUTES OF WAITING IN THE SENDER'S OFFICE | A cargo must be prepared by the time of courier arrival. According to CDEK rules, a courier can wait for a client to hand over or accept a cargo within 15 minutes. If the waiting time exceeds 15 minutes, an extra fee of 170 roubles is charged. Not permitted in the Parcel tariffs. | |
9 | Not permitted, charged automatically | MORE THAN 15 MINUTES OF WAITING IN THE RECEIVER'S OFFICE | ||
10 | Not permitted, charged automatically | WAREHOUSE STORAGE | Our company can store goods in its warehouse within the first 7 days FREE OF CHARGE. Starting from the eighth day, the storage fee is charged as follows:
| |
13 | Not permitted, to be charged by a CDEK employee | OTHER | Additional fee from the CDEK Credit Control Department. | |
14 | Not permitted, charged automatically | REMOTE AREA | If cargoes are picked up or delivered by a courier from a remote area of the city, an additional fee is charged. You can get the effective list of remote areas from the Help Desk by phone 8-800-250-04-05 (toll free) or from CDEK managers in office of your city. | |
15 | Not permitted, charged automatically | REPEATED INVITATION | When a repeated courier invitation is required for a previously canceled order, or delivery / pickup have failed through the client's fault, an additional fee is charged. This fee depends on the weight of shipment and cost of delivery in the city. | |
16 | Permitted | PICKUP IN THE SENDER'S CITY | Additional service that allows a cargo to be picked up in the sender's city, provided that the “from warehouse” delivery mode is chosen (not available for the Parcel tariffs) | |
17 | Permitted (exception - orders to parcel terminal) | DELIVERY IN THE RECEIVER'S CITY | Additional service that allows a cargo to be delivered in the receiver's city, provided that the “to warehouse” delivery mode is chosen (only for Long-distance and Long-distance super express tariffs) | |
20 | Not permitted, to be charged by a CDEK employee | DEFAULT INTEREST | Additional fee from the CDEK Credit Control Department. | |
23 | Not permitted, to be charged by a CDEK employee | CRATING | CDEK offers crating services to provide additional safety for your shipment. The cost of crating for each shipment is calculated on an individual basis. In other words, CDEK offers a customized package for your cargo. | |
24 | ||||
25 | ||||
26 | Available only through the call center | COURIER LEASING | When you need to deliver or accept documents to federal agencies, such as tax authorities, ministries, embassies, courts, supervision services etc., or waiting time for your orders exceeds one hour, our company is willing to provide a courier for you. Price of the service: 170 rubles per hour. Minimum time: 3 hours (510 rubles). | |
27 | Available only through the personal account and the call center | SMS NOTIFICATION | CDEK offers the SMS notification service to each client. A sender will be notified of date and time of delivery via SMS. Price of the service: 5 rubles | |
30 | Permitted (exception - orders to parcel terminal) | HOME FITTING | A courier delivers several items (clothing, footwear, etc.) to a buyer for fitting. | |
32 | Not permitted, charged automatically depending on terms and conditions of the contract | DOCUMENT SCANNING | To confirm that your goods have been delivered, we can provide you with scanned documents signed by the receiver. Price of the service: 50 rubles | |
33 | Available only through the personal account and the call center | ACCESS BY STAIRS | The service is provided if oversized and heavy cargoes (heavier than 10 kg) need to be lifted to a floor.
| |
34 | Available only through the personal account and the call center | ACCESS BY ELEVATOR | ||
35 | Not permitted, charged automatically | NOTIFICATION CALL | The Notification Call service is a preliminary call to receivers by operators of the call center prior to delivery. Price of the service: 15 rubles per order. | |
36 | Permitted (exception - orders to parcel terminal) | PARTIAL DELIVERY | Upon delivery, a buyer may refuse to accept one or several items and purchase only part of his/her order.
| |
40 | Not permitted, charged automatically | SPECIAL THERMAL CONDITIONS | Directions that support delivery with special thermal conditions: Kemerovo–Novokuznetsk, Novosibirsk–Krasnoyarsk, Novosibirsk–Kemerovo, Novosibirsk–Tomsk, Novosibirsk–Omsk, Novosibirsk–Barnaul, Barnaul–Gorno-Altaysk AND OPPOSITE DIRECTIONS! | |
41 | Not permitted, charged automatically | RETURN OF DOCUMENTS | The CDEK Delivery Service can return accompanying documents marked by the receiver, as well as return the goods to online stores and other sales outlets. | |
42 | Not permitted, charged automatically | AGENCY COMMISSION | Our company can collect money from clients for goods and cash services. | |
48 | Permitted (exception - orders to parcel terminal) | REVERSE | A return delivery order from the receiver to the sender, for example, signed documents. | |
54 | Permitted | COURIER PACKAGE A2 | The price 70 rubles | |
59 | Permitted | NOTIFY ORDER CREATED | Used when creating an order. Recipient countries: Russia, Kazakhstan, Belarus | |
60 | Permitted | NOTIFY ORDER DELIVERY | Used when creating an order. Recipient countries: Russia, Kazakhstan, Belarus | |
61 | Permitted | Box XS (0.5 kg 17x12x9 cm) | A box made of three-layer corrugated cardboard with dimensions 170 * 125 * 95 mm. The maximum capacity is 0.5 kg. The cost of 1 piece is 20 rubles. Available for all tariffs from the warehouse. | |
62 | Permitted | Box S (2 kg 21x20x11 cm) | A box made of three-layer corrugated cardboard with dimensions of 216 * 200 * 110 mm. The maximum capacity is 2 kg. The cost of 1 piece is 40 rubles. Available for all tariffs from the warehouse. | |
63 | Permitted | Box M (5 kg 33x25x15 cm) | A box made of three-layer corrugated cardboard with a size of 330 * 250 * 155 mm. The maximum capacity is 5 kg. The cost of 1 piece is 60 rubles. Available for all tariffs from the warehouse. | |
64 | Permitted | Box L (12 kg 34x33x26 cm) | A box made of three-layer corrugated cardboard measuring 340 * 330 * 264 mm. The maximum capacity is 12 kg. The cost of 1 piece is 70 rubles. Available for all tariffs from the warehouse. | |
65 | Permitted | Box (0.5 kg 17x12x10 cm) | A box made of three-layer corrugated cardboard with dimensions 170 * 120 * 100 mm. The maximum capacity is 0.5 kg. The cost of 1 piece is 35 rubles. Available for all tariffs from the warehouse. | |
66 | Permitted | Box (1 kg 24x17x10 cm) | A box made of three-layer corrugated cardboard with dimensions of 240 * 170 * 100 mm. The maximum capacity is 1 kg. The cost of 1 piece is 50 rubles. Available for all tariffs from the warehouse. | |
67 | Permitted | Box (2 kg 34x24x10 cm) | A box made of three-layer corrugated cardboard measuring 340 * 240 * 100 mm. The maximum capacity is 2 kg. The cost of 1 piece is 80 rubles. Available for all tariffs from the warehouse. | |
68 | Permitted | Box (3 kg 24x24x21 cm) | A box made of three-layer corrugated cardboard with dimensions of 240 * 240 * 210 mm. The maximum capacity is 3 kg. The cost of 1 piece is 90 rubles. Available for all tariffs from the warehouse. | |
69 | Permitted | Box (5 kg 40x24x21 cm) | A box made of three-layer corrugated cardboard measuring 400 * 240 * 210 mm. The maximum capacity is 5 kg. The cost of 1 piece is 100 rubles. Available for all tariffs from the warehouse. | |
70 | Permitted | Box (10 kg 40x35x28 cm) | A box made of three-layer corrugated cardboard measuring 400 * 350 * 280 mm. The maximum capacity is 10 kg. The cost of 1 piece is 150 rubles. Available for all tariffs from the warehouse. | |
71 | Permitted | Box (15 kg 60x35x29 cm) | A box made of three-layer corrugated cardboard with dimensions of 600 * 350 * 290 mm. The maximum capacity is 15 kg. The cost of 1 piece is 190 rubles. Available for all tariffs from the warehouse (except for the "warehouse-parcel terminal" mode). | |
72 | Permitted | Box (20 kg 47x40x43 cm) | A box made of three-layer corrugated cardboard with a size of 470 * 400 * 430 mm. The maximum capacity is 20 kg. The cost of 1 piece is 200 rubles. Available for all tariffs from the warehouse (except for the "warehouse-parcel terminal" mode). | |
73 | Permitted | Box (30 kg 69x39x42 cm) | A box made of three-layer corrugated cardboard with dimensions of 690 * 390 * 420 mm. The maximum capacity is 30 kg. The cost of 1 piece is 250 rubles. Available for all tariffs from the warehouse (except for the "warehouse-parcel terminal" mode). | |
74 | Permitted | Bubble wrap | High pressure polyethylene, two layers. It is an additional packaging material for packing shipments into transport packaging. 1 meter - 55 rubles. Available for all tariffs from the warehouse. | |
75 | Permitted | Waste paper | Wrapping paper (waste paper, class E). Width 0.42 m.Designed for packing various types of shipments (cargo) and filling voids inside the package 1 meter - 50 rubles. Available for all tariffs from the warehouse. | |
76 | Permitted | Filler pressed cardboard (55x14x2.3 cm) | Protective insert made of sheet compressed cardboard. It is applied for: - inner lathing inside the corrugated box - wrapping and separating attachments inside the corrugated box - filling voids. The cost of 1 piece is 50 rubles. Available for all tariffs from the warehouse. | |
81 | Permitted (for online stores) | Disable attachment inspection | Provides the ability to disable viewing attachments. Provided for online stores. Not compatible with additional services "Fitting at home" and "Partial delivery". The service is not transferred until the checkpoint. The cost is 0 rubles. |
* Prices of services may be outdated. Please, find the latest information on our official website.
You can get more detailed information about services for the Help Desk by phone 8-800-250-04-05 (toll free) or from CDEK managers in office of your city.
Appendix 3. Currencies
Code | Parameter | Receiver's country |
RUB | Russian ruble | Russia |
USD | US dollar | United States |
EUR | Euro | Countries of Europe |
KZT | Tenge | Kazakhstan |
GBP | Pound sterling | United Kingdom |
CNY | Yuan | China |
BYN | Belarusian ruble | Belarus |
UAH | Grzywna | Ukraine |
AMD | Armenian dram | Armenia |
KGS | Kyrgyzstani som | Kyrgyzstan |
TL | Turkish lira | Turkey |
THB | Thai baht | Thailand |
KRW | South korean won | South Korea |
AED | UAE dirham | United Arab Emirates |
UZS | Uzbek sum | Uzbekistan |
MNT | Mongolian tugrik | Mongolia |
Appendix 4. VAT Rates
Identifier | Type of VAT rate |
VATX | FREE OF VAT |
VAT0 | 0% |
VAT10 | 10% |
VAT20 | 20% |
Appendix 5. Order Statuses*
Code | Status | Comment |
1 | Created | An order has been registered in the CDEK database. |
2 | Deleted | An order has been canceled by an online store before it has been delivered to a CDEK warehouse in the sender's city. |
3 | Recieved at shipment warehouse | A parcel has been accepted by a CDEK warehouse in the sender's city. |
6 | Sent for shipment | A parcel has been issued from a CDEK warehouse in the sender's city. A parcel has been prepared for delivery (consolidated with other parcels). |
16 | Returned to shipment warehouse | A parcel has been accepted again in the sender's city (it has not been handed over to a carrier for some reason). Note: this status does not mean that a parcel has been returned to a sender. |
7 | Handed to carrier in shipment location | A shipment in the sender's city has been registered. Consolidated parcel has been handed over for delivery (to an airport/ loaded into a car). |
21 | Sent to transit location | A shipment to the transit city has been registered. Data and time of shipment have been recorded by a carrier. |
22 | Received at transit location | A receipt in the transit city has been registered. |
13 | Accepted at transit warehouse | A parcel has been accepted in the transit city. |
17 | Returned to transit warehouse | A parcel has been accepted again in the transit city (cargo has been returned to the warehouse). Note: this status does not mean that the parcel has been returned to the sender. |
19 | Sent for shipment in transit location | A parcel has been issued from a warehouse in the transit city. |
20 | Handed to carrier in transit location | A shipment in the transit city has been registered by a carrier. |
27 | Sent to the sender city | A shipment to the sender's city was registered. A parcel is in transit. |
8 | Send to destination city | A shipment to the receiver's city has been registered. A parcel is in transit. |
28 | Received in the sending city | A receipt was registered in the sending city. |
9 | Received in destination city | A receipt in the receiver's city has been registered. |
10 | Accepted at delivery warehouse | A parcel has been accepted by a warehouse of the receiver's city. Waiting for delivery to door. |
12 | Accepted at warehouse for pick up | A parcel has been accepted by a warehouse in the receiver's city. Delivery to a warehouse. A parcel will be stored until it is picked up by the client (online store's customer). |
11 | Sent for delivery | A parcel has been added to a courier card and handed over to a courier for delivery. |
18 | Returned to delivery warehouse | A parcel has been accepted again by a warehouse in the receiver's city. Delivery attempt has been failed for some reason. Waiting for a repeated delivery attempt. Note: this status does not mean that a parcel has been returned to the sender. |
4 | Delivered | A parcel has been successfully delivered and handed over to a receiver (final status). |
5 | Not delivered | A buyer has refused to accept a parcel. Return to the online store (final status). |
* These statuses are assigned to both orders of direct flow (sender-to-receiver delivery) and orders of return flow (return of undelivered parcel to the sender).
Appendix 6. Additional Order Statuses
Code | Additional status | Delivery service rendered (0–no, 1–yes) | Related status |
1 | Returned, wrong address | 0 | Not delivered |
2 | Returned, no answer | 0 | Not delivered |
3 | Returned, the recepient does not reside there | 0 | Not delivered |
4 | Returned, can`t complete: the weight is different from declared for more than X g | 0 | Not delivered |
5 | Returned, can`t complete: no parcel in fact | 0 | Not delivered |
6 | Returned, can`t complete: order number duplicated in inventory list | 0 | Not delivered |
7 | Returned, can`t complete: can`t be deliveried to this town | 0 | Not delivered |
8 | Returned, package is damaged during picking up | 0 | Not delivered |
9 | Returned, package is damaged at the carrier`s location | 0 | Not delivered |
10 | Returned, package is damaged at our storage or during delivery | 0 | Not delivered |
11 | Returned, non-receipt, no reason | 1 | Not delivered |
12 | Returned, non-receipt, quality claims | 1 | Not delivered |
13 | Returned, non-receipt, not enough goods in the package | 1 | Not delivered |
14 | Returned, non-receipt, the goods don`t match the description | 1 | Not delivered |
15 | Returned, non-receipt, not satisfied with delivery time | 1 | Not delivered |
16 | Returned, non-receipt, already bought | 1 | Not delivered |
17 | Returned, non-receipt, a customer changed his mind | 1 | Not delivered |
18 | Returned, non-receipt, fulfilment error | 1 | Not delivered |
19 | Returned, package is damaged at the receiver`s location | 1 | Not delivered |
20 | Partial delivery | 1 | Delivered |
21 | Returned, non-receipt, no money | 1 | Not delivered |
22 | Returned, non-receipt, the goods don`t meet customer expectation | 1 | Not delivered |
23 | Returned, product expired | 0 | Not delivered |
24 | Returned, didn`t clear customs | 0 | Not delivered |
25 | Returned, can`t complete: commercial freight | 0 | Not delivered |
26 | Lost | 0 | Not delivered |
27 | Non-required, ready for disposal | 0 | Not delivered |
Appendix 7. Reasons for Late Delivery
Code | Reason |
1 | Wrong phone number |
2 | Phone is not in service |
3 | No answer |
4 | Had no time |
5 | Mechanical problem |
6 | Wrong address |
7 | Abandonment of an application |
8 | Don't know what to ship |
9 | Package is not ready |
10 | Refused to recieve |
11 | Abandonment of payment |
12 | Contact person is not with a company |
13 | Contact person is out |
14 | Shipment was sent through other company |
15 | Didn't get through |
16 | Partial delivery |
17 | Business closed |
18 | Can't find adress |
19 | Address got changed |
20 | Required additional info to get shippment |
21 | Refusal of receipt |
22 | Change date |
23 | Pass required / limited access |
24 | No passport / copy of passport |
25 | Coupon missing |
26 | Sales receipt required |
27 | No power of attorney from the recipient |
28 | No power of attorney from CDEK |
29 | Documents required |
30 | Shipment couldn't fit delivery truck |
31 | Wanted a courier |
32 | Sender requests document signature |
33 | The queue for the grant |
34 | Whaiting call from operator |
35 | Not enough time |
36 | Self pick up |
37 | Packstation is crowded |
38 | Packstation isn't work |
39 | Shipment couldn't fit packstation's cell |
40 | Refusal to accept |
41 | Rejectioon of request |
42 | Entry permit required |
43 | Entry fee |
44 | Restricted area |
45 | No identity documents |
46 | City changed |
47 | Address does not exist |
48 | Delivery to P.O. box |
49 | Dangerous cargo |
52 | Refused by address |
53 | Changing the interval in agreement with the client |
54 | The postamate app doesn't work |
55 | The cargo was not found |
56 | Transfer to pvz |
57 | I can't deliver it to the pvz |
Appendix 8. Reasons for Failed Calls
Code | Reason |
1 | Phone is busy |
2 | The subscriber does not answer |
3 | Subscriber unavailable |
4 | Wrong Number |
5 | Phone unknown |
6 | Silence |
7 | Reset |
8 | Hung up |
Appendix 9. Possible calculator errors
Code | Error text |
---|---|
0 | Internal server mistake. Please consult to CDEK IT team for correction. |
1 | The API that you provided is not supported |
2 | Authorization mistake |
3 | Impossible to deliver to this area under given conditions |
4 | Error when specifying the parameters |
5 | No pieces are specified for sending |
6 | No tariff or tariffs list |
7 | No city of origin |
8 | No city of destination |
9 | No date of shipping is specified while authorization |
10 | Mode of delivery mistake |
11 | Incorrectly specified data format |
12 | Decoding data mistake. Awaiting <json или jsop> |
13 | No zip code for city of origin in CDEK database |
14 | Impossible to uniquely identify the city of origin by zip code |
15 | No zip code for city of destination in CDEK database |
16 | Impossible to identify the city of destination by zip code |
Appendix 10. Forms of ownership
Code | Form of ownership |
---|---|
1 | Joint-Stock Company |
61 | Closed Joint-Stock Company |
63 | Sole Trader |
119 | Open Joint-Stock Company |
137 | Limited Liability Company |
147 | Public Joint-Stock Company |
© 2000—2022, Курьерская компания СДЭК