Page tree
Skip to end of metadata
Go to start of metadata

We start the delivery of parcels in SDEK parcel terminal! Already now you can send order to parcel terminals. Details of the protocol extension are here.
In the near future, work and delivery of parcels with cash on delivery, with cashless payment on the spot is expected.


Revision History

Version

Revision date

Revision description

1.5January 29, 2019Creation of the documentation
1.5February 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.5February 19, 2019Added description of the API calculator
1.5March 20, 2019

Additional service "Insurance" is allowed for delivery order.

Added test accounts, test method links.

1.5March 26, 2019

Added ability to identify:

  • order in the methods of changing and deleting an order by the CDEK order number;
  • city by a city name and/or an address string

Added ability to update international order fields in the changing order method.

1.5March 27, 2019Additional service "Package 1" is available.
1.5April 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.5April 24, 2019cityName, postcode и regionFiasGuid were added to the method "List of Cities"
1.5May 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.5June 17, 2019The 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.5August 26, 2019Mandatory fields of the Sender block have been changed in the methods "Registration of a Delivery Order"
1.5September 17, 2019New tag RecipientEmail has been added in the method "Order Change"
1.5September 29, 2019New tag timezone has been added in the "List of cities" method response
1.5October 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.5January 19, 2020Comment attribute has become mandatory in the method "Registration of a courier invitation"
1.5March 23, 2020

New filter havecash and HaveCash, TakeOnly, WorkTimeExceptions fields have been added to the method "Loading the list of pickup points"

1.5March 27, 2020

The "package volume (in m³)" field is excluded from the calculator API

1.5April 17, 2020Added "Sent to the sender city" and "Received in the sending city" statuses
1.5June 8, 2020Keys of online-shop test account were changed
1.5July 10, 2020Updated reasons for Late Delivery
1.5July 13, 2020Fields 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.5July 14, 2020The "ClientSide" field was removed from the "order Registration for delivery" method"
1.5July 23, 2020
  1. Loading the List of Pickup Points
    1. Changed the "default" value in the Type field from PVZ to ALL
    2. Added Dimensions, width, height, depth fields in response to the request
  2. Added new tariffs for the terminals (361,363, 366, 368, 376, 378)
  3. Added new modes of orders: door-post terminal and warehouse-post terminal
  4. A method of creating order and a method of changing the order:

    1. Updated conditions for the SizeA, SizeB, and SizeC fields
    2. Updated the condition for the PvzCode field
  5. Updated permissions for additional services (Appendix 2)
1.5September 3, 2020178, 179, 180, 181, 182, 183, 231, 232,376 tariff codes are no longer available
1.5September 24, 2020Removed the "Creation of a Pre-Alert Document" method
1.5October 5, 2020For the "Create order" and "Changing the order" methods, the "Length", "Width", and "Height" fields are required.

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.

Please send your requests for account generation, questions and proposals to our email: integrator@cdek.ru.

Symbols

Note

Information marked with this symbol is important and must be read and/or followed.

Information

Information marked with this symbol is provided for informational purposes and/or as a suggestion.
only.

Prompt

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 you have tried everything and settled all issues, request a live account (Account and Secure password) for integration by sending an email to integrator@cdek.ru. Please do not forget to specify the ID of your contract with CDEK. 

Step 6: You can switch over to the live account and work in the normal mode.

Prompt

A sample request for accounts (recommended):
Contract ID
Client’s Platform/IS
email — for notices on accepted/rejected requests, changes in integration.


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

ParameterUnitSymbolNumber of digits (mandatory)
Weightkilogramkgthree digits
Weightgramg
Length of sidescentimetercm
Currency

two digits
Quantitypiecepcs
Latitude, longitudedecimal 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

Note

The phone format is validated. We recommend to transfer the number in the international format +7 (ХХХ) ХХХ-ХХ-ХХ:

  • A number should be written in the international format: country code (+7 for Russia) and then the number itself (10 or more digits)

  • A number shouldn’t contain any letters or symbols excluding special symbols:

    • ":" (colon), "#" (hash) are used to indicate an extension number

    • numbers should be separated with "," (comma), ";" (semicolon), "/" (slash)

Data are transmitted in the XML format in UTF-8 encoding. Please note that XML markup symbols (< > & " ') may not be entered in fields.

Note

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:

ParameterDescription
AccountContractor identifier (login)
SecureKey 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.

Note

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.

Example

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.

Information

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:

TypeParameterValue
Online-storeAccountEMscd6r9JnFiQ3bLoyjJY6eM78JrJceI
Secure passwordPjLZkKBHEiLK3YsjtNrt3TGNG0ahs3kG
DeliveryAccount7JM7K5twfzEV1ssCRklthcIPbbVZrZrZ
Secure passwordt8XBoL1rUofIK9dKoXVB3Tji2F2hPHSk

Note

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.

After debugging, the online store reports that it is ready to switch over to the live account. At this time, the client must conclude a contract with CDEK. For this purpose, the client should send a request to integrator@cdek.ru for providing live account data, if they have not yet been provided.

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.

Note

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.
The number of requests per day is not limited.
If the online store uses the live account, orders with the status “Created” that remain unchanged within 30 days from the date of creation are deleted automatically after the expiry of this period. Therefore, a request for creating delivery orders must be sent before the actual shipment of the cargo.

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:

  1. curl -X POST --header 'Content-Type: application/x-www-form-urlencoded' 'http://integration.cdek.ru/integration/add' -d ‘xml_request=<?xml ...’'

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

3.2. List of API Methods

No.

Method

Link (production)

Link (test)

1

Loading the list of pickup points

https://integration.cdek.ru/pvzlist/v1/xml

https://integration.edu.cdek.ru/pvzlist/v1/xml

2

Order registration


2.1

Order from the online store

https://integration.cdek.ru/new_orders.php

https://integration.edu.cdek.ru/new_orders.php

2.2

Delivery order

https://integration.cdek.ru/addDelivery

https://integration.cdek.ru/addDeliveryRaw (for transferring the content in the request body)

https://integration.edu.cdek.ru/addDelivery

https://integration.edu.cdek.ru/addDeliveryRaw (for transferring the content in the request body)

3

Order change

http://integration.cdek.ru/update

http://integration.cdek.ru/updateRaw (for transferring the content in the request body)

http://integration.edu.cdek.ru/update

http://integration.edu.cdek.ru/updateRaw (for transferring the content in the request body)

4

Order deletion

https://integration.cdek.ru/delete_orders.php

https://integration.edu.cdek.ru/delete_orders.php

5

Printing an order receipt

https://integration.cdek.ru/orders_print.php

https://integration.edu.cdek.ru/orders_print.php

6

Registration of a courier invitation

https://integration.cdek.ru/call_courier.php

https://integration.edu.cdek.ru/call_courier.php

7

Recording of notification call results

https://integration.cdek.ru/new_schedule.php

https://integration.edu.cdek.ru/new_schedule.php

8

Printing a package barcode

https://integration.cdek.ru/ordersPackagesPrint

https://integration.cdek.ru/ordersPackagesPrintRaw (for transferring the content in the request body)

https://integration.edu.cdek.ru/ordersPackagesPrint

https://integration.edu.cdek.ru/ordersPackagesPrintRaw (for transferring the content in the request body)

9

Order Status Report

https://integration.cdek.ru/ status_report_h.php

https://integration.edu.cdek.ru/status_report_h.php

10

Order Information Report

https://integration.cdek.ru/info_report.php

https://integration.edu.cdek.ru/info_report.php

11

List of Regions

https://integration.cdek.ru/v1/location/regions?

https://integration.edu.cdek.ru/v1/location/regions?

12

List of Cities

https://integration.cdek.ru/v1/location/cities?

https://integration.edu.cdek.ru/v1/location/cities?
13Cost calculation on tarrifs with priorityhttp://api.cdek.ru/calculator/calculate_price_by_json.phphttp://api.edu.cdek.ru/calculator/calculate_price_by_json.php
14Cost calculation on tariffs without priorityhttp://api.cdek.ru/calculator/calculate_tarifflist.phphttp://api.edu.cdek.ru/calculator/calculate_tarifflist.php

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 / attributeDescriptionType of fieldMandatory (yes/no)
1citypostcode1Postal code of the city for which the list of pickup points is requiredintegerno
2cityid1City code from the CDEK base (https://cdek.ru/storage/source/document/1/CDEK_city.zip)integerno
3typeType 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
4countryidCountry code from the CDEK baseintegerno
5countryisoCountry code in the ISO_3166-1_alpha-2 formatstring(2)no
6regionidRegion code from the CDEK baseintegerno
7havecashlessAvailability of a payment terminal, possible values:
“1”, “true” – available;
“0”, “false” – not available.
booleanno
8havecash

Availability of payment in cash, possible values:
“1”, “true” – available;
“0”, “false” – not available.

booleanno
9allowedcodCash on delivery is permitted, possible values:
“1”, “true” – yes;
“0”, “false” – no.
booleanno
10isdressingroomAvailability of a fitting room, possible values:
“1”, “true” – available;
“0”, “false” – not available.
booleanno
11weightmaxThe maximum weight that can be accepted by a pickup point (values of more than 0 – load pickup points that accept this weight; 0 – load all pickup points; no value defined – pickup points with zero weight are not loaded).integerno
12weightminThe minimum weight that is accepted by a pickup point (pickup points with minimum weight up to the specified value will be transmitted)integerno
13langLocalization of pickup points. Default: “rus”.string(3)no
14takeonlyWhether the pickup point is only a pickup point, possible values:
“1”, “true” – yes;
“0”, “false” – no.
booleanno

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 / attributeDescriptionType of fieldMandatory (yes/no)

1

PvzList

Document title
yes

1.1

Pvz

Pickup points
yes
1.1.1CodeCodestring(10)yes
1.1.2PostalCodePostcodestring(10)yes
1.1.3NameParameterstring(50)yes
1.1.4CountryCodeCountry codeintegeryes
1.1.5countryCodeIsoCountry code in the ISO_3166-1_alpha-2 formatstring(2)no
1.1.6CountryNameCountry namestring(50)yes
1.1.7RegionCodeRegion codeintegeryes
1.1.8RegionNameRegion namestring(50)yes
1.1.9CityCodeCity code from the CDEK base (https://cdek.ru/storage/source/document/1/CDEK_city.zip)integeryes
1.1.10CityCity namestring(50)yes
1.1.11WorkTimeOpening hours, string of the following type: Mon–Fri 9–18, Sat9–16”string(100)yes
1.1.12AddressAddress (street, house, office) in the specified citystring(255)yes
1.1.13FullAddressFull address, including country, region, city, etc.string(255)yes
1.1.14AddressCommentDescription of locationstring(255)yes
1.1.15PhonePhonephoneyes
1.1.16EmailE-mailstring(255)yes
1.1.17

Note

Pickup points note

string(255)

yes

1.1.18coordXCoordinates of location (longitude) in degreesfloatyes
1.1.19coordYCoordinates of location (latitude) in degreesfloatyes
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.22IsDressingRoomAvailability of a fitting roomstring(4)yes
1.1.23

HaveCashless

Availability of payment terminal

string(4)yes
1.1.24HaveCash
Availability of payment in cash
string(4)yes
1.1.25AllowedCodCash on delivery is permitted in a pickup pointstring(4)yes
1.1.26TakeOnly
Whether the pickup point is only a pickup point
string(4)yes
1.1.27NearestStationNearest station/public transport stopstring(50)yes
1.1.28MetroStationNearest metro stationstring(50)yes
1.1.29SitePickup point's website on the CDEK pagestring(255)no
1.1.30OfficeImageAll 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.
A link to the image is displayed.

string(255)

yes

1.1.31

WorkTimeYOpening hours for every day
yes

1.1.31.1

dayOrdinal number of a day (Monday = 1, Sunday = 7)integeryes

1.1.31.2

periodsOpening hours for these days. If the pickup point does not work on this day, no period is specifiedstring(20)yes
1.1.32WorkTimeExceptions
Office schedule exceptions

yes
1.1.32.1DateDatedatetimeyes
1.1.32.2Time
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.3IsWorkingSign of a working / non-working day on a specified datestring(4)yes

1.1.33

WeightLimitWeight limits for a pickup point(the tag is used only if limits are set)
yes

1.1.33.1

WeightMinMinimum weight (in kg) accepted by a pickup point (> WeightMin)floatyes

1.1.33.2

WeightMaxMaximum weight (in kg) accepted by a pickup point (<=WeightMax)floatyes
1.1.34DimensionsDimensions of cells for parcel terminal

1.1.34.1widthWidth (cm)floatYes, if Type= POSTAMAT or ALL
1.1.34.2heightHeight (cm)floatYes, if Type= POSTAMAT or ALL
1.1.34.3depthDepth (cm)floatYes, if Type= POSTAMAT or ALL

Example. List of pickup points

PVZList
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
Response
<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" 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 / attributeDescriptionTypeof fieldMandatory (yes/no)
1Delivery RequestDocument title
yes
1.1NumberID 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.2DateDate of document (date of order)Datetime/dateyes
1.3AccountOnline store identifier (login)string(255)yes
1.4SecureKeystring(255)yes
1.5OrderCountThe total number of orders in a documentintegeryes
1.6OrderShipment (order)
yes
1.6.1NumberClient shipment number (unique for orders of a particular client). Order identifier in the Client's IS.string(40)yes
1.6.2SendCityCode1Sender's city code from the CDEK base (https://cdek.ru/storage/source/document/1/CDEK_city.zip)integeryes
1.6.3RecCityCode1Receiver's city code from the CDEK base (https://cdek.ru/storage/source/document/1/CDEK_city.zip)integeryes
1.6.4SendCityPostCode1Postal code of the sender's citystring(6)yes
1.6.5RecCityPostCoDe1Postal code of the receiver's citystring(6)yes
1.6.6SendCountryCode1Sender's country code to identify a country by postal code. Default value: RUstring(2)no
1.6.7RecCountryCode1Receiver's country code to identify a country by postal code. Default value: RUstring(2)no
1.6.8SendCityName1Name of sender's citystring(255)no
1.6.9RecCityName1Name of receiver's citystring(255)no
1.6.10RecipientINN

TIN of the receiver. Only for international orders.

string(12)no
1.6.11DateInvoice

Invoice date. Only for international orders.

Date time/dateyes, if order is international
1.6.12ShipperName

Shipper. Used to print waybills. Only for international orders.

string (255)yes, if order is international
1.6.13ShipperAddress

Shipper’s address. Used to print waybills. Only for international orders.

string (255)yes, if order is international
1.6.14Passport

Details of the receiver’s passport. Used to print waybills. Only for international orders.


no
1.6.14.1Series

Series of the receiver’s passport.

string (255)no
1.6.14.2Number

Number of the receiver’s passport.

string (255)no
1.6.14.3IssueDate

Date of issue of the receiver’s passport.

Date time/dateno
1.6.14.4IssuedBy

Issuing authority of the receiver’s passport.

string (255)no
1.6.14.5DateBirth

The receiver’s birthdate

Date time/dateno
1.6.15SenderSender. 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.1CompanyName of sender's companystring(128)no
1.6.15.2NameSender's contact personstring(128)no
1.6.15.3Address1Sender address (address of pickup)
no
1.6.15.3.1StreetStreetstring(50)yes
1.6.15.3.2HouseHousestring(30)no
1.6.15.3.3FlatFlat/officestring(10)no
1.6.15.4PhoneSender's phonephoneno
1.6.16RecipientNameReceiver (full name). At least 3 characters.string(128)yes
1.6.17RecipientEmailReceiver's email for sending order status notifications and contacting in case of failed callsemailno
1.6.18PhoneReceiver's phonephoneyes
1.6.19TariffTypeCode7Code of tariff type (for more details, see Appendix No. 1)integeryes
1.6.20DeliveryRecipientCost2Extra delivery charge collected by the online store from the receiver (the recipient country currency)floatno
1.6.21DeliveryRecipientVATRateVAT rate included in the extra delivery charge (for more details, see Appendix No. 4)string(10)no
1.6.22DeliveryRecipientVATSumVAT amount included in the extra delivery chargefloatno
1.6.23SellerRequisites of the real seller
no
1.6.23.1AddressReal 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.2NameReal sellerstring (255)yes, if ITN is indicated
1.6.23.3INNITN (Individual Taxpayer Number) of the real sellerstring (20)no
1.6.23.4PhoneTelephone of the real sellerphoneyes, if ITN is indicated
1.6.23.5OwnershipFormCode of type ownership (for more details, see Appendix No. 10)integeryes, if ITN is indicated
1.6.24Comment3Comments (special notes on the order)string(255)no
1.6.25Address1Delivery 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.1StreetReceiver's street. If possible, do not specify prefixes of values, such as “st.”string(50)yes
1.6.25.2HouseReceiver's house, building, block. If possible, do not specify prefixes of values, such as “house”.string(30)no
1.6.25.3FlatReceiver's flat/office. If possible, do not specify prefixes of values, such as “flat”.string(10)no
1.6.25.4PvzCodePickup 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.26PackagePackage (all packages are sent with different Package tags)
yes
1.6.26.1NumberPackage 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.2BarCodePackage 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.3Weight7Total weight (in grams)integeryes
1.6.26.4SizeA4Package dimensions. Length (in centimeters)integeryes, 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.5SizeB4Package dimensions. Width (in centimeters)integeryes, 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.6SizeC4Package dimensions. Height (in centimeters)integeryes, 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.7ItemItems (goods)
yes
1.6.26.7.1AmountQuantity of goods of the same type (pcs).
The maximum number is 999.
Integeryes
1.6.26.7.2WareKeyIdentifier/item number of the goods.string(50)yes
1.6.26.7.3Marking8Marking of item.
If marking is indicated for Item, the Amount parametr can't be greater than 1.
stringno
1.6.26.7.4CostDeclared value of the goods (per item in the contract currency, value >=0). This value is used to calculate the amount of insurance.floatyes
1.6.26.7.5PaymentCash on delivery (per item in the recipient country currency, value >=0) — cash on delivery; in case of prepayment, value = 0.floatyes
1.6.26.7.6PaymentVATRateVAT rate included in the value of the goods (for more details, see the Appendix 4)string(10)no
1.6.26.7.7PaymentVATSumVAT amount included in the value (payment) of the goods.floatno
1.6.26.7.8WeightWeight (per item, in grams)integeryes
1.6.26.7.9CommentName of the goods (may contain description of the goods: size, color)string(255)yes
1.6.26.7.10WeightBrutto

Gross weight (for one unit of goods, in grams). Only for international orders.

integeryes, if order is international
1.6.26.7.11CommentEx

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.12Link

Link to the e-shop’s website with the goods’ description. Only for international orders.

string(255)no
1.6.27DeliveryRecipientCostAdv

Additional charge for delivery (E-shop charges the receiver), depending on the order’s sum


no
1.6.27.1Threshold

Goods price threshold (valid by condition less than or equal to), in even monetary units

integeryes
1.6.27.2Sum

Additional charge for delivery with total amount that falls within the interval

floatyes
1.6.27.3VATRate

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.4VATSum

VAT sum included in the additional charge for delivery

floatno
1.6.28AddServiceAdditional services
no
1.6.28.1ServiceCodeType of additional service (for more details, see Appendix No. 2)integeryes
1.6.28.2CountNumber of packages. It is used and is mandatory only for the additional service "Package 1".integerno
1.6.29Schedule5

Schedule for delivery /pickup (deprecated, it is recommended to use a separate new_schedule method)


no
1.6.29.1Attempt

Time of delivery (one time interval not less than 3 hours is permitted for one day)


yes
1.6.29.1.1ID

ID number of a schedule from the online store's database. You may use 1 as a default value

integeryes
1.6.291.1.2Date

Date of delivery (only date, in the format “YYYY-MM-DD”, no time) as agreed by the receiver

dateyes
1.6.29.1.3CommentCommentstring(255)no
1.6.29.1.4TimeBeg

Start of a delivery time range (receiver's time)

timeyes
1.6.29.1.5TimeEnd

End of a delivery time range (receiver's time)

timeyes
1.6.29.1.6Address

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.1Street

Receiver's street. If possible, do not specify prefixesof values, such as “str”

string(50)yes
1.6.29.1.6.2House

Receiver's house, building, block. If possible, do not specify prefixes of values, such as “house”

string(30)yes
1.6.29.1.6.3Flat

Receiver's flat/office. If possible, do not specify prefixes of values, such as “flat.”

string(10)no
1.6.29.1.6.4PvzCode

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.7CallCourier6Call courier
no
1.7.1Call

Waiting for a courier


yes
1.7.1.1Date

Date of courier waiting

dateyes
1.7.1.2TimeBeg

Start time of courier waiting

timeyes
1.7.1.3TimeEnd

End time of courier waiting

timeyes
1.7.1.4LunchBeg

Start time of a lunch break, if it is within a time range [TimeBeg; TimeEnd]

timeno
1.7.1.5LunchEnd

End time of a lunch break, if it is within a time range [TimeBeg; TimeEnd]

timeno
1.7.1.6SendCityCode1

Sender's city code from the CDEK base (https://cdek.ru/storage/source/document/1/CDEK_city.zip)

integeryes
1.7.1.7SendCityPostCode1

Postal code of the sender's city

string(6)yes
1.7.1.8SendCountryCode1

Sender's country code to identify a country by postal code

string(2)no
1.7.1.9SendCityName1

Name of sender's city

string(255)no
1.7.1.10SendPhone

Sender's contact phone

phoneyes
1.7.1.11SenderName

Sender (full name)

string(255)yes
1.7.1.12CommentComment for courierstring(255)no
1.7.1.13SendAddressSender's address
yes
1.7.1.13.1Street

Sender's street. If possible, do not specify prefixes of values, such as “st.”

string(50)yes
1.7.1.13.2House

Sender's house, building, block. If possible, do not specify prefixes of values, such as “house”.

string(30)yes
1.7.1.13.3Flat

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 / attributeDescriptionType of fieldMandatory (yes/no)
1Delivery RequestDocument title
yes
1.1NumberNumber 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.2DateDate of document (date of order)datetime/dateyes
1.3AccountClient identifier (login)string(255)yes
1.4SecureKeystring(255)yes
1.5OrderCountThe total number of orders in a documentintegeryes
1.6OrderShipment (order)
yes
1.6.1SendCityCode1Sender's city code from the CDEK base (https://cdek.ru/storage/source/document/1/CDEK_city.zip)Integeryes
1.6.2RecCityCode1Receiver's city code from the CDEK base (https://cdek.ru/storage/source/document/1/CDEK_city.zip)Integeryes
1.6.3SendCityPostCode1Postal code of the sender's citystring(6)yes
1.6.4RecCityPostCode1Postal code of the receiver's citystring(6)yes
1.6.5SendCountryCode1Sender's country code to identify a country by postal code. Default value: RUstring(2)no
1.6.6RecCountryCode1Receiver's country code to identify a country by postal code. Default value: RUstring(2)no
1.6.7SendCityName1Name of sender's citystring(255)no
1.6.8RecCityName1Name of receiver's citystring(255)no
1.6.9SenderSender
no
1.6.9.1CompanyName of sender's companystring(128)no
1.6.9.2NameSender's contact personstring(128)yes
1.6.9.3Address1Address of pickup
no
1.6.9.3.1StreetStreetstring(50)yes
1.6.9.3.2HouseHousestring(30)no
1.6.9.3.3FlatFlat/officestring(10)no
1.6.9.3.4PhoneSender's phonephoneyes
1.6.10RecipientCompanyName of receiver's companystring(128)yes
1.6.11RecipientNameReceiver (full name). At least 3 characters.string(128)yes
1.6.12RecipientEmailEmail for sending order status notifications and contacting in case of failed callsеmailno
1.6.13PhoneReceiver's phonephoneyes
1.6.14TariffTypeCode7Code of tariff type (for more details, see Appendix No. 1)Integeryes
1.6.15Comment3Comments (special notes on the order)string(255)no
1.6.16Address1Delivery 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.1StreetReceiver's street. If possible, do not specify prefixes of values, such as “st.”string(50)yes
1.6.16.2HouseReceiver's house, building, block. If possible, do not specify prefixes of values, such as “house”string(30)no
1.6.16.3FlatReceiver's flat/office. If possible, do not specify prefixes of values, such as “flat”string(10)no
1.6.16.4PvzCodePickup 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.17PackagePackage (all packages are sent with different Package tags)
yes
1.6.17.1NumberPackage 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.2BarCodePackage 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.3Weight7Total weight (in grams)integerno
1.6.17.4SizeA4Package dimensions. Length (in centimeters)integeryes, 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.5SizeB4Package dimensions. Width (in centimeters)integeryes, 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.6SizeC4Package dimensions. Height (in centimeters)integeryes, 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.18AddServiceAdditional services
no
1.6.18.1ServiceCodeType of additional service (for more details, see Appendix No. 2)integeryes
1.6.18.2CostDeclared value of the package. It is used and is mandatory only for the additional service "Insurance".floatno
1.6.18.3CountNumber of packages. It is used and is mandatory only for the additional service "Package 1".integerno

1Identification 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. City IDs in CDEK’s database can be found in lists of cities in the documents package (https://cdek.ru/storage/source/document/1/CDEK_city.zip). 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.

Identification of sender city and receiver city (in the case of “to the warehouse” mode) uses the following algorithm by order of priority:

  • By unique city code (City ID) in CDEK’s database. City IDs in CDEK’s database can be found in lists of cities in the documents package (https://cdek.ru/storage/source/document/1/CDEK_city.zip). The values are represented in RecCityCode attribute.
  • By pickup code (PvzCode attribute).

  • By the city’s postcode. The value is represented in RecCityPostCode attribute. Along with the postcode, the country code (attribute RecCountryCode) and/or the city’s name (attribute 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).

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.

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.

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 / attributeDescriptionType of fieldMandatory (yes/no)
1ResponseDocument title
yes
1.1OrderOrder
yes
1.1.1DispatchNumber

CDEK order number

It is returned if the order is created successfully or if an error ErrorCode = "ERR_ORDER_DUBL_EXISTS" occurs

integerno
1.1.2NumberOrder number of the online storestring(40)yes
1.1.3ErrorCodeError codestring(255)no
1.1.4MsgFixed text “Orders added”
Description of error (if any)
string(255)yes
1.2CallCall courier
no
1.2.1Number

Invitation number

string(30)yes
1.2.2ErrorCodeError codestring(255)no
1.2.3Msg

Fixed text “Orders added”

Description of error (if any)

string(255)yes


Example 1. Registration of an “online store” order

DeliveryRequest
<?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>
Response
<?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

DeliveryRequest
<?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>
Response
<?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 / attributeDescriptionType of fieldMandatory (yes/no)
1UpdateRequestDocument title
yes
1.1NumberAcceptance certificate number Order identifier in the IS of the CDEK client.string(30)yes
1.2DateDate of document (date of order)Date time/ dateyes
1.3AccountOnline store identifier (login)string(255)yes
1.4SecureKeystring(255)yes
1.5OrderCountThe total number of orders in a documentintegeryes
1.6OrderShipment (order)
yes
1.6.1Number1Client shipment number (unique for orders of a particular client). Order identifier in the Client's IS.string(40)yes
1.6.2DispatchNumber1CDEK order numberintegeryes
1.6.3Delivery Recipient CostAdditional delivery charge collected by the online store from the receiver (in the recipient country currency)floatno
1.6.4Delivery RecipientVATRateVAT rate included in the extra delivery charge
(for more details, see Appendix No. 4)
string(10)no
1.6.5DeliveryRecipientVATSumVAT amount included in the extra. delivery chargefloatno
1.6.6RecipientNameReceiver (full name). At least 3 characters.string(128)no
1.6.7RecipientEmailReceiver's email for sending order status notifications and contacting in case of failed callsemailno
1.6.8PhoneReceiver's phonephoneno
1.6.9RecipientINNTIN of the receiver. Only for international orders.string(12)no
1.6.10DateInvoiceInvoice date. Only for international orders.Date time/dateno
1.6.11PassportDetails of the receiver’s passport. Used to print waybills. Only for international orders.
no
1.6.11.1SeriesSeries of the receiver’s passport.string(255)no
1.6.11.2NumberNumber of the receiver’s passport.string(255)no
1.6.11.3IssueDateDate of issue of the receiver’s passport.Date time/dateno
1.6.11.4IssuedByIssuing authority of the receiver’s passport.string(255)no
1.6.11.5DateBirth

The receiver’s birthdate

Date time/dateno
1.6.12AddressDelivery 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.1StreetReceiver's street. If possible, do not specify prefixes of values, such as “st.”string(50)yes
1.6.12.2HouseReceiver's house, building, block. If possible, do not specify prefixes of values, such as “house”.string(30)yes
1.6.12.3FlatReceiver's flat/office. If possible, do not specify prefixes of values, such as “flat”.string(10)no
1.6.12.4PvzCodePickup 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.13DeliveryRecipientCostAdvAdditional charge for delivery (E-shop charges the receiver), depending on the order’s sumДоп. сбор за доставку (которую ИМ берет с получателя), в зависимости от суммы заказа
no
1.6.13.1Threshold

Goods price threshold (valid by condition less than or equal to), in even monetary units

integeryes
1.6.13.2Sum

Additional charge for delivery with total amount that falls within the interval

floatyes
1.6.13.3VATRate

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.4VATSum

VAT sum included in the additional charge for delivery

floatno
1.6.14PackagePackage (all packages are sent with different Package tags)
no
1.6.14.1NumberPackage 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.2BarCodePackage 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.3WeightTotal weight (in grams)integeryes
1.6.14.4SizeAPackage dimensions. Length (in centimeters)integeryes, 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.5SizeBPackage dimensions. Width (in centimeters)integeryes, 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.6SizeCPackage dimensions. Height (in centimeters)integeryes, 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.7ItemItems (goods)
yes
1.6.14.7.1Amount

Quantity of goods of the same type (pcs). The maximum number is 999.

integeryes
1.6.14.7.2WareKeyIdentifier/item number of the goods.string(50)yes
1.6.14.7.3MarkingMarking of item.
If marking is indicated for Item, the Amount parametr can't be greater than 1.
stringno
1.6.14.7.4CostDeclared value of the goods (per item in the contract currency, value >=0). This value is used to calculate the amount of insurance.floatyes
1.6.14.7.5PaymentCash on delivery (per item in the recipient country currency, value >=0) — cash on delivery, in case of prepayment, value = 0.floatyes
1.6.14.7.6PaymentVATRateVAT rate included in the value of the goods (for more details, see Appendix No. 4)string(10)yes
1.6.14.7.7PaymentVATSumVAT amount included in the value (payment) of the goods.floatyes
1.6.14.7.8Weight

Weight (per item, in grams)

integeryes
1.6.14.7.9Comment

Name of the goods (may contain description of the goods: size, color)

string(255)yes
1.6.14.7.10WeightBruttoGross weight (for one unit of goods, in grams). Only for international orders.integerno
1.6.14.7.11CommentExName 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.12LinkLink to the e-shop’s website with the goods’ description. Only for international orders.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

ResponseDocument title
yes

1.1

OrderOrder
yes

1.1.1

DispatchNumberCDEK order numberIntegeryes

1.1.2

NumberOrder number of the online storestring(40)yes

1.1.3

ErrorCodeError codestring(255)no

1.1.4

MsgFixed text “Orders changed”
Description of error (if any)
string(255)yes


Example. Order change

UpdateRequest
<?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>
Response
<?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/ attributeDescriptionType of fieldMandatory (yes/no)

1

DeleteRequestDocument title
yes

1.1

NumberAcceptance certificate number.
Order identifier in the IS of the CDEK client.
string(30)yes

1.2

DateDate of document (date of order)datetime/dateyes

1.3

AccountOnline store identifier (login)string(255)yes

1.4

SecureKeystring(255)yes

1.5

OrderCountThe total number of orders to be deleted in the documentintegeryes

2

OrderShipment (order)
yes

2.1

Number1Client's shipment number.
Order identifier in the IS of the CDEK client.
string(40)yes
2.2DispatchNumber1CDEK order numberintegeryes

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 / attributeDescriptionType of fieldMandatory (yes/no)

1

ResponseDocument title
yes

1.1

DeleteRequestOrders to be deleted
yes

1.1.1

MsgInformation messagestring(255)yes

1.1.2

OrderOrderintegeryes

1.1.2.1

NumberAcceptance certificate number. Order identifier in the IS of the CDEK client.string(40)yes

1.1.2.2

ErrorCodeError codestring(255)no

1.1.2.3

MsgFixed text “Order deleted”
Description of error (if any)
string(255)yes


Example. Order deletion

DeleteRequest
<?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>


Response
<?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 / attributeDescriptionType of fieldMandatory (yes/no)
1OrdersPrintDocument title
yes
1.1DateDate of document (date of invitation)datetime/dateyes
1.2AccountOnline store identifier (login)string(255)yes
1.3SecureKeystring(255)yes
1.4OrderCountTotal number of orders transmitted in a documentintegeryes
1.5CopyCountNumber 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.integerno
1.6LangIdentifier of language in which the request is sent and the response is expectedstring(3)no
1.7OrderShipment (order)
yes
1.7.1DispatchNumber1CDEK shipment number (assigned when orders are imported). Order identifier in the IS of the CDEK client.integeryes
1.7.2Number1Client's shipment number. Order identifier in the IS of the CDEK client.string(30)yes
1.7.3Date1Date of an acceptance certificate, based on which the order has been transferred.dateyes

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.

Information

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 / attributeDescriptionType of fieldMandatory (yes/no)

1

ResponseDocument title
yes

1.1

OrderOrder
yes

1.1.1

ErrorCodeError codestring(255)no

1.1.2

MsgError descriptionstring(255)yes


Example. Printing an order receipt

OrdersPrint
<?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)

Response (not 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.

4.6.1. Description of Data to be Transmitted

No.Tag / attributeDescriptionType of fieldMandatory (yes/no)
1CallCourierDocument title
yes
1.2DateDate of document (date of invitation)datetime/dateyes
1.3AccountOnline store identifier (login)string(255)yes
1.4SecureKeystring(255)yes
1.5CallCountThe total number of courier invitations in the documentintegeryes
1.6CallWaiting for a courier
yes
1.6.1DateDate of courier waitingdateyes
1.6.2TimeBegStart time of courier waitingtimeyes
1.6.3TimeEndEnd time of courier waitingtimeyes
1.6.4LunchBegStart time of a lunch break, if it is within a time range [TimeBeg; TimeEnd]timeno
1.6.5LunchEndEnd time of a lunch break, if it is within a time range [TimeBeg; TimeEnd]timeno
1.6.6SendCityCode1Sender's city code from the CDEK base (https://cdek.ru/storage/source/document/1/CDEK_city.zip)integeryes, if DispatchNumber is not defined
1.6.7SendCityPostCode1

Postal code of the sender's city

string(6)yes
1.6.8SendCountryCode1

Sender's country code to identify a country by postal code.

string(2)no
1.6.9SendCityName1

Name of sender's city

string(255)no
1.6.10SendPhoneSender's contact phonephoneyes, if
1. DispatchNumber is not defined
2. DispatchNumber is defined, but phone number is not defined in an order
1.6.11SenderNameSender (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.12WeightTotal 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. If no number is transmitted, a default value (0.49 kg) will be written in the order.stringyes, if DispatchNumber is not defined
1.6.13CommentCargo descriptionstring(255)yes, if DispatchNumber is not defined
1.6.14DispatchNumber2Number of an assigned orderstring(10)no
1.6.15IgnoreTime

If “true” is selected, parameters of courier arrival will not be checked

boolean

no, default value: “false”

1.6.16Address1Sender address
yes
1.6.16.1StreetReceiver's street. If possible, do not specify prefixes of values, such as
“st.”.
string(50)yes
1.6.16.2HouseReceiver's house, building, block. If possible, do not specify prefixes of values, such as “house”string(30)yes
1.6.16.3FlatReceiver's flat/office. If possible, do not specify prefixes of values, such as “flat”.string(10)yes

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. City IDs in CDEK’s database can be found in lists of cities in the documents package (https://cdek.ru/storage/source/document/1/CDEK_city.zip). 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 / attributeDescriptionType of fieldMandatory (yes/no)

1

ResponseDocument title
yes

1.1

CallWaiting for a courier
yes

1.1.1

NumberInvitation numberstring(30)yes

1.1.2

ErrorCodeError codestring(255)no

1.1.3

MsgFixed text “Orders added”
Description of error (if any)
string(255)yes

Example. Registration of a courier invitation

CallCourier
<?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>
Response
<?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.

Information

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 / attributeDescriptionType of fieldMandatory (yes/no)
1ScheduleRequestDocument title.
yes
1.1DateDate of document (date of invitation)datetime/dateyes
1.2AccountOnline store identifier (login)string(255)yes
1.3NumberNumber 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.4SecureKeystring(255)yes
1.5Order CountTotal number of requests for notification calls. Default value: 1.Integeryes
1.6OrderShipment (order)
yes
1.6.1DispatchNumber1CDEK shipment number (assigned when orders are imported).
Order identifier in the IS of a CDEK client.
integeryes
1.6.2Number1Client shipment number (unique for orders of a particular client). Order identifier in the Client's IS.string(40)yes
1.6.3Date1Date of document (date of order)datetime/dateyes
1.6.4AttemptTime of delivery.
yes
1.6.4.1IDID number of a schedule from the online store's database. You may use 1 as a default value.integeryes
1.6.4.2DateDate of delivery (only date, in the format “YYYY-MM-DD”, no time) as agreed by the receiverdateyes
1.6.4.3CommentCommentstring(255)no
1.6.4.4TimeBegStart of a delivery time range (receiver's time)timeyes
1.6.4.5TimeEndEnd of a delivery time range (receiver's time)еimeyes
1.6.4.6AddressNew 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.1StreetReceiver's street. If possible, do not specify prefixes of values, such as “str”string(50)yes
1.6.4.6.2HouseReceiver's house, building, block. If possible, do not specify prefixes of values, such as “house”string(30)yes
1.6.4.6.3FlatReceiver's flat/office. If possible, do not specify prefixes of values, such as “flat.”string(10)no
1.6.4.6.4PvzCodePickup 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 / attributeDescriptionType of fieldMandatory (yes/no)

1

ResponseDocument title
yes

1.1

ScheduleResuestWaiting for a courier
yes

1.1.1

NumberInvitation numberstring(40)no

1.1.2

DispatchNumberCDEK order numberintegeryes

1.1.3

ErrorCodeError codestring(255)no

1.1.4

MsgFixed text or Description of error (if any)string(255)yes


Example. Recording of Notification Call Results

ScheduleRequest
<?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>
Response
<?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 / attributeDescriptionType of fieldMandatory (yes/no)
1OrdersPackagesPrintDocument title
yes
1.1DateDate of documentdatetime/dateyes
1.2AccountOnline store identifier (login)string(255)yes
1.3SecureKeystring(255)yes
1.4OrderCountTotal number of orders transmitted in a documentintegeryes
1.5CopyCountNumber of copies. Default value: 1integerno
1.6PrintFormatPrint format, acceptable values: A4, A5, A6 (A – Latin letter). Default value: A4string(2)no
1.7OrderShipment (order)
yes
1.7.1DispatchNumber1CDEK shipment number (assigned when orders are imported). Order identifier in the IS of the CDEK client.integeryes
1.7.2Number1Client's shipment number. Order identifier in the IS of the CDEK client.string(40)yes
1.7.3Date1Date of an acceptance certificate, based on which the order has been transferreddateyes

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.

Information

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/ attributeDescriptionType of fieldMandatory (yes/no)
1ResponseDocument title
yes
1.1OrderOrder
yes
1.1.1ErrorCodeError codestring(255)no
1.1.2MsgError descriptionstring(255)yes


Example. Printing a Package Barcode

OrdersPackagesPrint
<?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)

Response (not 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 / attributeDescriptionType of fieldMandatory (yes/no)
1StatusReportDocument title
yes
1.1DateDate of requestdatetime/dateyes
1.2AccountClient identifier (login)string(255)yes
1.3SecureKeystring(255)yes
1.4ShowHistoryThe attribute indicating that the order history must be loaded (1 – yes, 0 – no)booleanno
1.5ShowReturnOrderThe attribute indicating that the list of return orders must be loaded (1 – yes, 0 – no)booleanno
1.6ShowReturnOrderHistoryThe attribute indicating that the history of return orders must be loaded (1 – yes, 0 – no)booleanno
1.7LangIdentifier of language in which the request is sent and the response is expectedstring(3)no
1.7ChangePeriod1The period during which the order status has changed.
no
1.7.1DateFirstStart date of requested perioddatetime/dateyes
1.7.2DateLastEnd date of requested perioddatetime/dateno
1.8Order1Shipment (order)
no
1.8.1DispatchNumber2CDEK shipment number (assigned when orders are imported). Order identifier in the CDEK IS.integeryes
1.8.2Number2Client's shipment number. Order identifier in the IS of the CDEK client.string(40)yes
1.8.3Date2Date of an acceptance certificate, based on which the order has been transferreddateyes

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.

4.9.2. Response Format

The CDEK server will return a result in the form of XML:

No.Tag / attributeDescriptionType of fieldMandatory (yes/no)
1StatusReportDocument title
yes
1.1DateFirstStart date and time of the period during which order statuses have changeddatetime/dateyes
1.2DateLastEnd date and time of the period during which order statuses have changeddatetime/dateyes
2OrderShipment (order)
yes
2.1ActNumberAcceptance certificate numberstring(30)yes
2.2NumberClient's shipment number. Order identifier in the IS of a CDEK client.string(30)yes
2.3DispatchNumberCDEK shipment number (assigned when orders are imported). Order identifier in the CDEK IS.integeryes
2.4DeliveryDateDelivery date:datetimeno
2.5RecipientNameRecipient at the time of delivery (filled only in the order status "Delivered")string(50)no
2.6ReturnDispatchNumberNumber of return shipment (order number under which the goods are returned to the online store in case of statuses “Not delivered”, “Delivered” – “Partial delivery”)integerno
2.7StatusCurrent order status
yes
2.7.1DateStatus date. Greenwich mean time indicateddatetimeyes
2.7.2CodeStatus code (for more details, see Appendix No. 5)integeryes
2.7.3DescriptionStatus namestring(100)yes
2.7.4CityCodeStatus change city, city code from the CDEK base (https://cdek.ru/storage/source/document/1/CDEK_city.zip)integeryes
2.7.5CityNameName of the status change citystring(100)yes
2.7.6State1Status change history
yes
2.7.6.1DateStatus datedatetimeyes
2.7.6.2CodeStatus code (for more details, see Appendix No. 5)integeryes
2.7.6.3DescriptionStatus namestring(100)yes
2.7.6.4CityCodeStatus change city, city code from the CDEK base (https://cdek.ru/storage/source/document/1/CDEK_city.zip)integeryes
2.7.6.5CityNameName of the status change citystring(100)yes
2.8ReasonCurrent additional status
yes
2.8.1DateAdditional status datedatetimeyes
2.8.2CodeAdditional status code (for more details, see Appendix No. 6)integerno
2.8.3DescriptionAdditional status namestring(100)no
2.9DelayReasonCurrent delay reason
yes
2.9.1DateDelay reason datedatetimeyes
2.9.2CodeDelay reason code (for more details, see Appendix No. 7)integerno
2.9.3DescriptionDelay reasonstring(50)no
2.9.4State1Delay reason history
yes
2.9.4.1DateDelay reason datedatetimeyes
2.9.4.2CodeDelay reason code (for more details, see Appendix No. 7)integerno
2.9.4.3DescriptionDelay reasonstring(50)no
2.10Package2Package
no
2.10.1NumberPackage number. Order identifier in the IS of еру CDEK client.string(20)yes
2.10.2

BarCode

Package barcode, package identifier

string(20)

yes

2.10.3Item2Items
yes
2.10.3.1WareKeyIdentifier/item number of the goods.string(20)yes
2.10.3.2MarkingMarking of itemstringno
2.10.3.3DelivAmountNumber of delivered items. Default value is equal to the number of items transferred for delivery.integeryes
2.10.3.4AmountQuantity of goods of the same type (pcs). The maximum number is 999.integeryes
2.11Attempt3Delivery time taken from the delivery schedule
no
2.11.1IDID number of a schedule from the online store's databaseintegeryes
2.11.2ScheduleCodeDelay reason code (for more details, see Appendix No. 7)integeryes
2.11.3ScheduleDescriptionDelay reasonstring(50)yes
2.12CallHistory of notification calls to the receiver
no
2.12.1.1CallGoodHistory of successful calls
no
2.12.1.1GoodSuccessful call
yes
2.12.1.1.1DateDate of a successful calldateyes
2.12.1.1.2DateDelivAgreed date of delivery/ pickupdateyes
2.12.2CallFailHistory of failed calls
no
2.12.2.1FailFailed call
yes
2.12.2.1.1DateDate of calldateyes
2.12.2.1.2ReasonCodeFailed call reason code (for more details, see Appendix No. 8)integeryes
2.12.2.1.3ReasonDescriptionReason for a failed callstring(255)yes
2.12.3CallDelayHistory of call reschedules
no
2.12.3.1DelayCall reschedule
yes
2.12.3.1.1DateDate of calldateyes
2.12.3.1.2DateNextDate to which call is rescheduleddateyes
3ReturnOrderReturn shipment
no
3.1ActNumberAcceptance certificate numberstring(30)yes
3.2NumberClient's shipment number. Order identifier in the IS of the CDEK client.string(30)yes
3.3DispatchNumberCDEK number of return order (assigned when the return order is agreed). Order identifier in the CDEK IS.integeryes
3.4DeliveryDateDelivery datedatetimeno
3.5RecipientNameRecipient at the time of deliverystring(50)no
3.6StatusCurrent order status
yes
3.6.1DateStatus datedatetimeyes
3.6.2CodeStatus code (for more details, see Appendix No. 5)integeryes
3.6.3DescriptionStatus namestring(100)yes
3.6.4CityCodeStatus change city, city code from the CDEK base (https://cdek.ru/storage/source/document/1/CDEK_city.zip)integeryes
3.6.5CityNameName of the status change citystring(100)yes
3.6.6State1Status change history
yes
3.6.6.1DateStatus datedatetimeyes
3.6.6.2CodeStatus code (for more details, see Appendix No. 5)integeryes
3.6.6.3DescriptionStatus namestring(100)yes
3.6.6.4CityCodeStatus change cityintegeryes
3.6.6.5CityNameName of the status change citystring(100)yes
3.7ReasonCurrent additional status
yes
3.7.1DateAdditional status datedatetimeyes
3.7.2CodeAdditional status code (for more details, see Appendix No. 6)integerno
3.7.3DescriptionAdditional status namestring(100)no
3.8DelayReasonCurrent delay reason
yes
3.8.1DateDelay reason datedatetimeyes
3.8.2CodeDelay reason code (for more details, see Appendix No. 7)integerno
3.8.3DescriptionDelay reasonstring(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.

Information

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

StatusReport
<?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>
Response
<?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 / attributeDescriptionType of fieldMandatory (yes/no)
1InfoRequestDocument title
yes
1.1DateDate of requestdatetime/dateyes
1.2AccountClient identifier (login)string(255)yes
1.3SecureKeystring(255)yes
1.4ChangePeriodThe period during which the tariff has changed.
no
1.4.1DateBegStart date of requested perioddateno
1.4.2DateEndEnd date of requested perioddateno
1.5OrderShipment (order)
no
1.5.1DispatchNumber1CDEK shipment number (assigned when orders are imported). Order identifier in the CDEK IS.integeryes
1.5.2Number1Client's shipment number. Order identifier in the IS of a CDEK client.string(30)yes
1.5.3Date1Date of an acceptance certificate, based on which the order has been transferreddateyes

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 / attributeDescriptionType of fieldMandatory (yes/no)
1InfoReportDocument title
yes
1.1OrderShipment (order)
yes
1.1.1NumberClient's shipment number. Order identifier in the IS of the CDEK client.string(30)yes
1.1.2DateDate on which the order has been transferred to the CDEK databasedateyes
1.1.3DispatchNumberCDEK shipment number (assigned when orders are imported). Order identifier in the CDEK IS.integeryes
1.1.4TariffTypeCodeTariff code (for more details, see Appendix No. 1)integeryes
1.1.5WeightEstimated weight (in kilograms)floatyes
1.1.6DeliverySumCost of delivery, in the settlement currency. Default: rubles.floatyes
1.1.7DateLastChangeLast change date for cost of deliverydateno
1.1.8CashOnDelivCash-on-delivery amount to be collected from the receiver in the currency of the receiver's country. Default: rubles.floatno
1.1.9CashOnDelivFactCash-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”floatno
1.1.10CashOnDelivTypePayment type of cash-on-delivery. Possible values: cash, cashless. Tag missing if payment information has not gotstrong(10)no
1.1.11DeliveryModeDelivery mode code (for more details, see Appendix No. 1)integeryes
1.1.12PvzCodePickup code specified in order at the time of request, for the delivery mode “to warehouse”string(10)yes
1.1.13DeliveryVariantDelivery option: (COURIER – courier, PVZCDEK – CDEK pickup point, PVZCLIENT – partner’s pickup point)string(10)yes
2.13SendCitySender's city
yes
2.13.1CodeCity code from the CDEK base (https://cdek.ru/storage/source/document/1/CDEK_city.zip)integeryes
2.13.2PostCodePostal code of the citystring(6)yes
2.13.3NameCity namestring(50)yes
2.14RecCityReceiver's city
yes
2.14.1CodeCity code from the CDEK base (https://cdek.ru/storage/source/document/1/CDEK_city.zip)integeryes
2.14.2PostCodePostal code of the citystring(6)yes
2.14.3NameCity namestring(50)yes
2.15AddedServiceAdditional services for orders
no
2.15.1ServiceCodeAdditional service code (for more details, see Appendix No. 2)integeryes
2.15.2SumValue of service in the settlement currency, default: rubles.floatyes
2.16PackagePackage (all packages are sent with different Package tags)
yes
2.16.1NumberPackage numberstring(20)yes
2.16.2BarCodePackage barcode, package identifierstring(20)yes
2.16.3WeightTotal weight (in kilograms)integeryes
2.16.4VolumeWeightVolumetric weight (in kilograms), calculated by formula: SizeA*SizeB*SizeC/5,000integeryes
2.16.5SizeAPackage dimensions. Length (in centimeters)integeryes
2.16.6SizeBPackage dimensions. Width (in centimeters)integeryes
2.16.7SizeCPackage dimensions. Height (in centimeters)integeryes
2.16.8ItemItems (goods)
yes
2.16.8.1WareKeyIdentifier/item number of the goodsstring(50)yes
2.16.8.2MarkingMarking of itemstringno
2.16.8.3CommentName of the goods (may contain description of the goods: size, color)string(255)yes
2.16.8.4AmountQuantity of the goods transferred for deliveryintegeryes
2.16.8.5DelivAmountQuantity of items of the same type delivered (pcs)integeryes
2.16.8.6CostDeclared value of the goods (per item in the specified the contract currency)floatyes
2.16.8.7PaymentCash on delivery (per item in the recipient country currency)floatyes
2.16.8.8VATRateVAT rate included in the value of the goods (for more details, see Appendix No. 4)string(10)no
2.16.8.9VATSumVAT amount included in the value (payment) of the goods.floatno
2.16.8.10WeightWeight (per item, in kilograms)integeryes

Information

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

InfoRequest
<?xml version="1.0" encoding="utf-8"?>
<InfoRequest Date="2019-01-23T00:00:00" Account="0278f9e8004f6b08f37497001e804007" Secure="3e10b5b7d1da1dfa42cb70c329964ec2" ShowHistory="1" ShowReturnOrder="1">
	<Order DispatchNumber="1105256461"/>
</InfoRequest>
Response
<?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&#039;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 / attributeDescriptionType of fieldMandatory (yes/no)
1regionCodeExtRegion codestring(10)no
2regionCodeRegion code in the CDEK ISintegerno
3regionFiasGuidRegion code according to the Federal Information Address SystemUUIDno
4countryCodeCountry code in the format ISO 3166-1 alpha-2string(2)no
5countryCode ExtCode according to the Russian Classifier of Countries of the Worldintegerno
6pageNumber of the results page. Default value: 0integerno
7sizeLimitation on the number of results displayed. Default value: 1,000integeryes, if page is specified
8langLocalization. Default: “rus”.string(3)no


4.11.2. Response Format

The CDEK server returns a result with the following fields:

No.Tag / attributeDescriptionType of fieldMandatory (yes/no)
1regionUuidEntity identifier in the CDEK ISUUIDyes
2regionNameRegion namestring(255)yes
3prefixPrefix (possible values: region, territory, republic, autonomous okrug, region, city)string(20)no
4regionCodeExRegion codeString( 10)no
5regionCodeRegion code in the CDEK ISString( 10)no
6regionFiasGuidRegion code according to the Federal Information Address SystemUUIDno
7countryNameCountry namestring(255)yes
8countryCodeCountry code in the format ISO 3166-1 alpha-2Stringno
9countryCodeExtCode according to the Russian Classifier of Countries of the WorldStringno


Example 1. List of Regions in JSON

Regions
http://integration.cdek.ru/v1/location/regions/json?size=3&page=0&countryCode=DE
Response
[
    {
        "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

Regions
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


Response
?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/ attributeDescriptionType of fieldMandatory (yes/no)
1regionCodeExtRegion codeintegerno
2regionCodeRegion code in the CDEK ISintegerno
3regionFiasGuidRegion code according to the Federal Information Address SystemUUIDno
4pageNumber of the results page. Default value: 0integerno
5sizeLimitation on the number of results displayed. Default value: 1,000integeryes, if page is specified
6countryCodeCountry code in the format ISO 3166-1 alpha-2string(2)no
7cityNameCity namestringno
8cityCodeCity code from the CDEK base (https://cdek.ru/storage/source/document/1/CDEK_city.zip)integerno
9postcodePostal codestringno
10langLocalization. Default: “rus”.string(3)no

4.12.2. Response Format

The CDEK server returns a result with the following fields:

No.Tag/ attributeDescriptionType of fieldMandatory (yes/no)
1cityUuidEntity identifier in the CDEK ISUUIDyes
2cityNameCity namestring(255)yes
3cityCodeCity code from the CDEK base (https://cdek.ru/storage/source/document/1/CDEK_city.zip)integeryes
4regionRegion namestring(255)yes
6regionCodeExtRF region codeintegerno
7regionCodeRegion code in the CDEK ISintegerno
8subRegionName of region's districtstring(255)no
9countryCountry namestring(255)yes
10countryCodeCountry code in the format ISO 3166-1 alpha-2integeryes
11latitudeLatitudefloatno
12longitudeLongitudefloatno
13kladrCity code according to the Russian Classifier of Addressesstring(20)no
14fiasGuid Code of an address object according to the Russian Classifier of AddressesUUIDno
15regionFiasGuidRegion code according to the Federal Information Address SystemUUIDno
16paymentLimitCash-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.
floatyes
17timezoneCity timezonestringno

Example 1.List of cities in JSON

Cities
http://integration.cdek.ru/v1/location/cities/json?countryCode=DE&lang=eng&regionCode=331&size=3
Response
[ 
   { 
      "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

Cities
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
Response
<?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:

4.13.1.1. Description of Data to be Transmitted

No.Tag / attributeDescriptionType of fieldMandatory (yes/no)
1version

The version by used API - “1.0”.

stringyes
2authLogin1Client identifier (login)stringno
3secure1Keystringno
4dateExecute2

Planning date of shipment in the format “YYYY-ММ-DD”

dateno
5langLocalization of city name. Default: “rus”.string(3)no
6senderCountryCode3Sender country code in the ISO_3166-1_alpha-2 formatstring(2)no
7receiverCountryCode3Receiver country code in the ISO_3166-1_alpha-2 formatstring(2)no
8senderCityId3

Origin city code in accordance with city codes provided by CDEK (https://cdek.ru/storage/source/document/1/CDEK_city.zip)

integeryes
9senderCity3Sender city namestringno
10senderCityPostCode3

Zip code of the origin city

integeryes
11receiverCityId3

Code of city of destination in accordance with city codes provided by CDEK (https://cdek.ru/storage/source/document/1/CDEK_city.zip)

integeryes
12receiverCityPostCode3

City of destination zip code

integeryes
13receiverCity3Receiver city namestringno
14senderLongitude3Sender city longitudefloatno
15receiverLongitude3Receiver city longitudefloatno
16senderLatitude3Sender city latitudefloatno
17receiverLatitude3Receiver city latitudefloatno
18tariffId4Code of chosen tariff (for more details, see Appendix No. 1)integeryes
19tariffList4List of tariffs
yes
19.1priority

The specified priority

integeryes
19.2id

Tariff code (for more details, see Appendix No. 1)

integeryes
20modeId

Chosen delivery mode (for more details, see Appendix No. 1)

integerno
21goodsPackage dimensions
yes
21.1weightWeight (in kilograms)floatyes
21.2lengthLength (in centimeters)integeryes
21.3widthWidth (in centimeters)integeryes
21.4heightHeight (in centimeters)integeryes
22servicesList of additional service (for more details, see Appendix No. 2)
no
22.1idNumber identifier of additional serviceintegeryes
22.2param5Parameter of additional service if necessaryintegerno


1 Authorization is not obligatory for regular delivery tariffs and authLoginsecure 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 (city ID). 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 and 32, a quantity value is transmitted to param.

4.13.1.2. Response Format

The CDEK server will return a result:

No.Tag / attributeDescriptionType of field
1error

Array errors (for more details, see Appendix No. 9)


1.1codeError codeinteger
1.2textError textstring
2price

Price for delivery in RUB

double
3deliveryPeriodMin

Minimum delivery time in days

integer
4deliveryPeriodMaxMaximum delivery time in daysinteger
5deliveryDateMinMinimum delivery date, 'YYYY-ММ-DD', eg “2018-07-29”string
6deliveryDateMax

Maximum delivery date , 'YYYY-ММ-DD', eg “2018-07-30”

string
7tariffId

Tariff code, regarding to which the delivery cost was calculated

integer
8cashOnDelivery

Cash payment limits will appear if there is any

float
9priceByCurrencyThe price is in the currency at which the on-line store operates with the CDEK. Currency is determined by authLogin and secure.float
10currency

Price in currency, in which the web shop works with CDEK (for more details, see Appendix No. 3)

string
11percentVATThe 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
12servicesList of transmitted additional services (for more details, see Appendix 2)
12.1idService IDinteger
12.2titleService titlestring
12.3priceAdditional service cost without VAT in RUBfloat
12.4rateThe percentage to calculate the additional servicesfloat


Example. Calculate shipping cost

Request
{ 
	"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
		}
	]
} 	
Response
{
	"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

http://api.cdek.ru/calculator/calculate_tarifflist.php

Content-Type: application/json

4.13.2.1. Description of Data to be Transmitted

No.Tag / attribute
DescriptionType of fieldMandatory (yes/no)
1version

The version by used API - “1.0”.

stringyes
2authLogin1Client identifier (login)stringno
3secure1Keystringno
4dateExecute2

Planning date of shipment in the format “YYYY-ММ-DD”

dateno
5langLocalization of city name. Default: “rus”.string(3)no
6senderCountryCode3Sender country code in the ISO_3166-1_alpha-2 formatstring(2)no
7receiverCountryCode3Receiver country code in the ISO_3166-1_alpha-2 formatstring(2)no
8senderCityId3

Origin city code in accordance with city codes provided by CDEK (https://cdek.ru/storage/source/document/1/CDEK_city.zip)

integeryes
9senderCityPostCode3

Zip code of the origin city

integeryes
10senderCity3Sender city namestringno
11receiverCityId3

Code of city of destination in accordance with city codes provided by CDEK (https://cdek.ru/storage/source/document/1/CDEK_city.zip)

integeryes
12receiverCityPostCode3

City of destination zip code

integeryes
13receiverCity3Receiver city namestringno
14senderLongitude3Sender city longitudefloatno
15receiverLongitude3Receiver city longitudefloatno
16senderLatitude3Sender city latitudefloatno
17receiverLatitude3Receiver city latitudefloatno
18currencyThe currency in which you need to calculate shipping cost. Default - RUBstringno
19tariffId4Code of chosen tariff (for more details, see Appendix No. 1)integeryes
20tariffList4List of tariffs
yes
20.1id

Tariff code (for more details, see Appendix No. 1)

integeryes
21goodsPackage dimensions
yes
21.1weightWeight (in kilograms)floatyes
21.2lengthLength (in centimeters)integeryes
21.3widthWidth (in centimeters)integeryes
21.4heightHeight (in centimeters)integeryes
22servicesList of additional service (for more details, see Appendix No. 2)
no
22.1idNumber identifier of additional serviceintegeryes
22.2param5Parameter of additional service if necessaryintegerno

1 Authorization is not obligatory for regular delivery tariffs and authLoginsecure 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 (city ID). 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 senderCountryCodereceiverCountryCode), 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.

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 The locations in the list can be specified by the first option (using weight, length, width and height), the second (using weight and volume) and combining these options (one piece in first, another second, etc.). Shipping cost will be calculated based on the highest values of physical or volume weight.


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 / attributeDescriptionType of field
1tariffId

Tariff code, regarding to which the delivery cost was calculated

integer
2statusResponse status (true - successful, false - unsuccessful)string
3resultCost and delivery time of tariff
3.1error

Array errors (for more details, see Appendix No. 9)


3.1.1codeError codeinteger
3.1.2textError textstring
3.2price

Price for delivery in RUB

double
3.3deliveryPeriodMin

Minimum delivery time in days

integer
3.4deliveryPeriodMaxMaximum delivery time in daysinteger
3.5cashOnDeliveryCash payment limits will appear if there is anyfloat
3.6priceByCurrencyThe price is in the currency that was transfered in the requestfloat
3.7currencyPrice in currency that was thransfered in the requeststring
3.8percentVATThe 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 displayedinteger
3.9servicesList of transmitted additional services (for more details, see Appendix 2)
3.9.1idService IDinteger
3.9.2titleService titlestring
3.9.3priceAdditional service cost without VAT in RUBfloat
3.9.4rateThe percentage to calculate the additional servicesfloat


Example. Calculate shipping cost

Request
{
	"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
			}	
		]
}
Response
{
	"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

7International express documents door–doordoor–door (D-D)up to 5 kgInternational expressExpress delivery for / from abroad of documents and letters.
8International express freight door–door door–door (D-D)up to 30 kgInternational expressExpress 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)
368Parcel warehouse-parcel terminalwarehouse-parcel terminal (W-T)
178International express freight warehouse–warehousewarehouse–warehouse (W-W)up to 30 kgInternational expressExpress delivery to / from abroad of goods and parcels up to 30 kg.
179International express freight warehouse–doorwarehouse–door (W-D)
180International express freight door–warehousedoor–warehouse (D-W)
181International express documents warehouse–warehousewarehouse–warehouse (W-W)up to 5 kgInternational expressExpress delivery for / from abroad of documents and letters.
182International express documents warehouse–doorwarehouse–door (W-D)
183International express documents door–warehousedoor–warehouse (D-W)
231Economy door–door parceldoor–door (D-D)

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.


232Economy door–warehouse parceldoor–warehouse (D-W)

233

Economy warehouse–door parcel

warehouse–door (W-D)

234

Economy warehouse–warehouse parcel

warehouse–warehouse (W-W)

376Economic parcel door-parcel terminaldoor-parcel terminal (W-T)
378Economic parcel warehouse-parcel terminalwarehouse-parcel terminal (W-T)

291

CDEK Express warehouse-warehouse

warehouse–warehouse (W-W)


CDEK Express

Delivery of goods from abroad to Russia, Ukraine, Kazakhstan, Kyrgyzstan, Uzbekistan including customs clearance.

Two options of the service:

1) We pick up a cargo in a foreign country, import it to the RF, clear it through customs, and deliver it to the client

2) The client imports a cargo to Russia on its own. We clear it through Russian customs and deliver it to the client

293

CDEK Express door–door

door–door (D-D)

294

CDEK Express warehouse–door

warehouse–door (W-D)

295

CDEK Express door–warehouse

door–warehouse (D-W)

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:

  • up to 200 g;

  • every additional 100 g up to 1 kg;

  • every additional kilogram in excess of 1 kg;

245

Chinese Express

door–door (D-D)


246

Chinese Express

warehouse–door (W-D)


247

Chinese Express

door–warehouse (D-W)

Regular Delivery Tariffs

CodeTariff nameDelivery modeWeight limitServiceDescription
1Express light door–doordoor–door (D-D)up to 30 kgExpressClassical express delivery of documents and cargoes up to 30 kg.
361Express lite door-parcel terminaldoor-parcel terminal (D-T)
363Express lite warehouse-parcel terminalwarehouse-parcel terminal (W-T)
3Super express up to 18 kgdoor–door (D-D)
Express deliveryExpress delivery of documents and cargoes “from hand to hand” across Russia by a certain hour.
5Economy express warehouse–warehousewarehouse–warehouse (W-W)
Economy deliveryCheap delivery of goods across Russia by rail and by road (longer delivery period).
10Express light warehouse-warehousewarehouse–warehouse (W-W)up to 30 kgExpressClassic Express delivery of documents and cargo within the Russian Federation, Belarus, Kazakhstan, Armenia, Kyrgyzstan and between these countries.
11Express light warehouse–doorwarehouse–door (W-D)up to 30 kgExpress
12Express light door–warehousedoor–warehouse (D-W)up to 30 kgExpress
15Express heavy warehouse-warehousewarehouse–warehouse (W-W)from 30 kgExpressClassic Express delivery within Russia, Belarus, Kazakhstan, Armenia, Kyrgyzstan and between these countries.
16Express heavy warehouse–doorwarehouse–door (W-D)from 30 kgExpress
17Express heavy door–warehousedoor–warehouse (D-W)from 30 kgExpress
18Express heavy door–doordoor–door (D-D)from 30 kgExpress
57Super express up to 9 a.m.door–door (D-D)up to 30 kgExpress deliveryExpress delivery of documents and cargoes “from hand to hand” across Russia by a certain hour (delivery within 1–2 days).
58Super express up to 10 a.m.door–door (D-D)up to 30 kgExpress deliveryExpress delivery of documents and cargoes
“from hand to hand” across Russia by a certain hour (delivery within 1–2 days).
59Super express up to 12 p.m.door–door (D-D)up to 30 kgExpress deliveryExpress delivery of documents and cargoes “from hand to hand” across Russia by a certain hour (delivery within 1–2 days).
60Super express up to 14 p.m.door–door (D-D)up to 30 kgExpress deliveryExpress delivery of documents and cargoes “from hand to hand” across Russia by a certain hour (delivery within 1–2 days).
61Super express up to 16 p.m.door–door (D-D)up to 30 kgExpress deliveryExpress delivery of documents and cargoes “from hand to hand” across Russia by a certain hour (delivery within 1–2 days).
62Long-distance express warehouse–warehousewarehouse–warehouse (W-W)
Economy deliveryFast economy delivery of cargoes across Russia
63Long-distance super express warehouse-warehousewarehouse–warehouse (W-W)
Economy deliveryFast economy delivery of cargoes by a certain hour
118Economy express door–door door–door (D-D)
Economy deliveryLow-cost delivery of goods within the Russian Federation, Belarus, Kazakhstan, Armenia, Kyrgyzstan and between these countries, railway and road transport (delivery of goods with an increase in time).
119Economy express warehouse–doorwarehouse–door (W-D)
120Economy express door–warehousedoor–warehouse (D-W)
121Main express door–doordoor–door (D-D)
Economy deliveryFast economical cargo delivery in Russia.
122Main express warehouse–doorwarehouse–door (W-D)
123Main express door–warehousedoor–warehouse (D-W)
124Main super express door–doordoor–door (D-D)
Economy deliveryFast economical cargo delivery by a specific hour.
125Main super express warehouse–door warehouse–door (W-D)
126Main super express door–warehousedoor–warehouse (D-W)

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 codeAddition to an orderParameterDescription
2Permitted (only for delivery order)INSURANCE

Insurance coverage of a parcel. Extra insurance charge depends on the declared value of a shipment.

Note

The service is charged automatically for all orders of the online store and cannot be added by the online store in the AddService tag.

3PermittedDELIVERY ON WEEKENDSCDEK can ship and deliver documents and cargoes on weekends and public holidays.
When documents or cargoes are shipped or delivered on weekends or public holidays, 300 rubles are added to the basic tariff.
5Not permitted, charged automaticallyHEAVY CARGOHeavy 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.
6Not permitted, charged automaticallyOVERSIZED CARGOIn 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).
7PermittedDANGEROUS CARGOESIn 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.
8Not permitted, charged automaticallyMORE THAN 15 MINUTES OF WAITING IN THE SENDER'S OFFICEA 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.
9Not permitted, charged automaticallyMORE THAN 15 MINUTES OF WAITING IN THE RECEIVER'S OFFICE
10Not permitted, charged automaticallyWAREHOUSE STORAGEOur 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:
  • standard shipment (1 package with dimensions limited to 25*40*60 cm). Basic tariff: 15 rubles per package for 1 calendar day, including weekends and public holidays;
  • non-standard shipment (1 package with dimensions in excess of 25*40*60cm). Basic tariff: 30 rubles per package for 1 calendar day, including weekends and public holidays.
13Not permitted, to be charged by a CDEK employeeOTHERAdditional fee from the CDEK Credit Control Department.
14Not permitted, charged automaticallyREMOTE AREAIf 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.
15Not permitted, charged automaticallyREPEATED INVITATIONWhen 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.
16PermittedPICKUP IN THE SENDER'S CITYAdditional 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)
17PermittedDELIVERY IN THE RECEIVER'S CITYAdditional 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)
20Not permitted, to be charged by a CDEK employeeDEFAULT INTERESTAdditional fee from the CDEK Credit Control Department.
23Not permitted, to be charged by a CDEK employeeCRATINGCDEK 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.
24PermittedPACKAGE 1The price of 310*215*280 mm box is 30 rubles (for cargoes up to 10 kg).
25Available only through the personal account and the call centerPACKAGE 2The price of 430*310*28 0mm box is 45 rubles (for cargoes up to 15 kg).
26Available only through the call centerCOURIER LEASINGWhen 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).
27Available only through the personal account and the call centerSMS NOTIFICATIONCDEK 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
30PermittedHOME FITTINGA courier delivers several items (clothing, footwear, etc.) to a buyer for fitting.
32Not permitted, charged automatically depending on terms and conditions of the contractDOCUMENT SCANNINGTo confirm that your goods have been delivered, we can provide you with scanned documents signed by the receiver.
Price of the service: 50 rubles
33Available only through the personal account and the call centerACCESS BY STAIRS

The service is provided if oversized and heavy cargoes (heavier than 10 kg) need to be lifted to a floor.
This service has two options: “Access by Stairs” and “Access by Elevator”.
The price of the “Access by Stairs” service (no elevator is available)
for cargoes up to and including 30 kg — 50rubles per floor
for 31-50 kg — 70 rubles per floor
for 51-100 kg — 100 rubles per floor
for 101-150 kg — 130 rubles per floor
for cargoes heavier than 150 kg — 150 rubles per floor


The price of the Access by Elevator service:
for cargoes up to and including 30 kg — 50 rubles
for 31-50 kg — 70 rubles
for 51-100 kg — 100 rubles
for 101-150 kg — 130 rubles
for cargoes heavier than 100 kg — 150 rubles.

34Available only through the personal account and the call centerACCESS BY ELEVATOR
35Not permitted, charged automaticallyNOTIFICATION CALLThe 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.
36PermittedPARTIAL DELIVERY

Upon delivery, a buyer may refuse to accept one or several items and purchase only part of his/her order.

Information

The service cannot be enabled if there’s only one item in the order.

37PermittedINSPECTION OF CONTENTSA buyer can inspect contents of his/her order before paying for it (opening a parcel).
40Not permitted, charged automaticallySPECIAL THERMAL CONDITIONSDirections 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!
41Not permitted, charged automaticallyRETURN OF DOCUMENTSThe CDEK Delivery Service can return accompanying documents marked by the receiver, as well as return the goods to online stores and other sales outlets.
42Not permitted, charged automaticallyAGENCY COMMISSIONOur company can collect money from clients for goods and cash services.
48PermittedREVERSEA return delivery order from the receiver to the sender, for example, signed documents.

* 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

CodeParameterReceiver's country
RUBRussian rubleRussia
USDUS dollarUnited States
EUREuroCountries of Europe
KZTTengeKazakhstan
GBPPound sterlingUnited Kingdom
CNYYuanChina
BYNBelarusian rubleBelarus
UAHGrzywnaUkraine
AMDArmenian dramArmenia
KGSKyrgyzstani somKyrgyzstan
TLTurkish liraTurkey
THBThai bahtThailand
KRWSouth korean wonSouth Korea
AEDUAE dirhamUnited Arab Emirates
UZSUzbek sumUzbekistan
MNTMongolian tugrikMongolia

Appendix 4. VAT Rates

IdentifierType of VAT rate
VATXFREE OF VAT
VAT00%
VAT1010%
VAT2020%

Appendix 5. Order Statuses*

CodeStatusComment
1CreatedAn order has been registered in the CDEK database.
2DeletedAn order has been canceled by an online store before it has been delivered to a CDEK warehouse in the sender's city.
3Recieved at shipment warehouseA parcel has been accepted by a CDEK warehouse in the sender's city.
6Sent for shipmentA parcel has been issued from a CDEK warehouse in the sender's city. A parcel has been prepared for delivery (consolidated with other parcels).
16Returned to shipment warehouseA 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.
7Handed to carrier in shipment locationA shipment in the sender's city has been registered. Consolidated parcel has been handed over for delivery (to an airport/ loaded into a car).
21Sent to transit locationA shipment to the transit city has been registered. Data and time of shipment have been recorded by a carrier.
22Received at transit locationA receipt in the transit city has been registered.
13Accepted at transit warehouseA parcel has been accepted in the transit city.
17Returned to transit warehouseA 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.
19Sent for shipment in transit locationA parcel has been issued from a warehouse in the transit city.
20Handed to carrier in transit locationA shipment in the transit city has been registered by a carrier.
27Sent to the sender cityA shipment to the sender's city was registered. A parcel is in transit.
8Send to destination cityA shipment to the receiver's city has been registered. A parcel is in transit.
28Received in the sending cityA receipt was registered in the sending city.
9Received in destination cityA receipt in the receiver's city has been registered.
10Accepted at delivery warehouseA parcel has been accepted by a warehouse of the receiver's city. Waiting for delivery to door.
12Accepted at warehouse for pick upA 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).
11Sent for deliveryA parcel has been added to a courier card and handed over to a courier for delivery.
18Returned to delivery warehouseA 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.
4DeliveredA parcel has been successfully delivered and handed over to a receiver (final status).
5Not deliveredA 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

CodeAdditional statusDelivery service rendered
(0–no, 1–yes)
Related status
1Returned, wrong address0Not delivered
2Returned, no answer0Not delivered
3Returned, the recepient does not reside there0Not delivered
4Returned, can`t complete: the weight is different from declared for more than X g0Not delivered
5Returned, can`t complete: no parcel in fact0Not delivered
6Returned, can`t complete: order number duplicated in inventory list0Not delivered
7Returned, can`t complete: can`t be deliveried to this town 0Not delivered
8Returned, package is damaged during picking up0Not delivered
9Returned, package is damaged at the carrier`s location0Not delivered
10Returned, package is damaged at our storage or during delivery0Not delivered
11Returned, non-receipt, no reason1Not delivered
12Returned, non-receipt, quality claims1Not delivered
13Returned, non-receipt, not enough goods in the package1Not delivered
14Returned, non-receipt, the goods don`t match the description1Not delivered
15Returned, non-receipt, not satisfied with delivery time 1Not delivered
16Returned, non-receipt, already bought1Not delivered
17Returned, non-receipt, a customer changed his mind1Not delivered
18Returned, non-receipt, fulfilment error1Not delivered
19Returned, package is damaged at the receiver`s location1Not delivered
20Partial delivery1Delivered
21Returned, non-receipt, no money1Not delivered
22Returned, non-receipt, the goods don`t meet customer expectation1Not delivered
23Returned, product expired0Not delivered
24Returned, didn`t clear customs0Not delivered
25Returned, can`t complete: commercial freight0Not delivered
26Lost0Not delivered
27Non-required, ready for disposal 0Not delivered

Appendix 7. Reasons for Late Delivery

CodeReason
1Wrong phone number
2Phone is not in service
3No answer
4Had no time
5Mechanical problem
6Wrong address
7Abandonment of an application
8Don't know what to ship
9Package is not ready
10Refused to recieve
11Abandonment of payment
12Contact person is not with a company
13Contact person is out
14Shipment was sent through other company
15Didn't get through
16Partial delivery
17Business closed
18Can't find adress
19Address got changed
20Required additional info to get shippment
21Refusal of receipt
22Change date
23Pass required / limited access
24No passport / copy of passport
25Coupon missing
26Sales receipt required
27No power of attorney from the recipient
28No power of attorney from CDEK
29Documents required
30Shipment couldn't fit delivery truck
31Wanted a courier
32Sender requests document signature
33The queue for the grant
34Whaiting call from operator
35Not enough time
36Self pick up
37Packstation is crowded
38Packstation isn't work
39Shipment couldn't fit packstation's cell
40Refusal to accept
41Rejectioon of request
42Entry permit required
43Entry fee
44Restricted area
45No identity documents
46City changed
47Address does not exist
48Delivery to P.O. box
49Dangerous cargo
52Refused by address
53Changing the interval in agreement with the client
54The postamate app doesn't work
55The cargo was not found
56Transfer to pvz
57I can't deliver it to the pvz

Appendix 8. Reasons for Failed Calls

CodeReason
1Phone is busy
2The subscriber does not answer
3Subscriber unavailable
4Wrong Number
5Phone unknown
6Silence
7Reset
8Hung up

Appendix 9. Possible calculator errors

CodeError 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

CodeForm of ownership
1Joint-Stock Company
61Closed Joint-Stock Company
63Sole Trader
119Open Joint-Stock Company
137Limited Liability Company
147Public Joint-Stock Company
  • No labels