Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Warning

Previously received test accounts will be inactive after May 26! You should use test accounts specified in the documentation.


Table of Contents

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

...

ParameterDescription
AccountContractor identifier (login)
SecureSecure code Key generated through encryption according to the algorithm described above

To ensure the security of data transfer/request, the online store must transmit a value of the secure field, calculated according to the algorithm:

secure = md5(date.'&'. secure password), where

...

Note
titleNote

An account for integration is not the same as a CDEK account that provides assess to https://lk.cdek.ru/user/login.

Info

If you send a request to https you can use Secure password as Secure.

Tip
titlePromptExample

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

...

Info
titleInformation

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.


Anchor
TestAccount
TestAccount
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-storeAccountz9GRRu7FxmO53CQ9cFfI6qiy32wpfTkd
Secure passwordw24JTCv4MnAcuRTx0oHjHLDtyt3I6IBq
DeliveryAccount7JM7K5twfzEV1ssCRklthcIPbbVZrZrZ
Secure passwordt8XBoL1rUofIK9dKoXVB3Tji2F2hPHSk

...

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

Creation of a pre-alert document

https://integration.cdek.ru/addPreAlertPrint

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

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

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

10

Order Status Report

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

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

11

Order Information Report

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

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

12

List of Regions

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

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

13

List of Cities

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

https://integration.edu.cdek.ru/v1/location/cities?
14Cost calculation on tarrifs with priorityhttp://api.cdek.ru/calculator/calculate_price_by_json.phphttp://api.edu.cdek.ru/calculator/calculate_price_by_json.php
15Cost 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

...

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 document, default value: 1.integeryes
1.6Currency

Currency identifier for prices, RUB is a default parameter. Only for international orders

string(10)no
1.7OrderShipment (order)
yes
1.7.1NumberClient shipment number (unique for orders of a particular client). Order identifier in the Client's IS.string(40)yes
1.7.2SendCityCode1Sender's city code from the CDEK base (see the file “City_XXX_YYYYMMDD.xls”)integeryes
1.7.3RecCityCode1Receiver's city code from the CDEK base (see the file “City_XXX_YYYYMMDD.xls”)integeryes
1.7.4SendCityPostCode1Postal code of the sender's citystring(6)yes
1.7.5RecCityPostCoDe1Postal code of the receiver's citystring(6)yes
1.7.6SendCountryCode1Sender's country code to identify a country by postal code. Default value: RUstring(2)no
1.7.7RecCountryCode1Receiver's country code to identify a country by postal code. Default value: RUstring(2)no
1.7.8SendCityName1Name of sender's citystring(255)no
1.7.9RecCityName1Name of receiver's citystring(255)no
1.7.10RecipientINN

TIN of the receiver. Only for international orders.

string(12)no
1.7.11DateInvoice

Invoice date. Only for international orders.

Date time/date
no
yes, if order is international
1.7.12ShipperName

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

string (255)
no
yes, if order is international
1.7.13ShipperAddress

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

string (255)
no
yes, if order is international
1.7.14Passport

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


no
1.7.14.1Series

Series of the receiver’s passport.

string (255)no
1.7.14.2Number

Number of the receiver’s passport.

string (255)no
1.7.14.3IssueDate

Date of issue of the receiver’s passport.

Date time/dateno
1.7.14.4IssuedBy

Issuing authority of the receiver’s passport.

string (255)no
1.7.14.5DateBirth

The receiver’s birthdate

Date time/dateno
1.7.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.7.15.1CompanyName of sender's companystring(128)no
1.7.15.2NameSender's contact personstring(128)no
1.7.15.3Address1Address of pickup
no
1.7.15.3.1StreetStreetstring(50)yes
1.7.15.3.2HouseHousestring(30)yes
1.7.15.3.3FlatFlat/officestring(10)no
1.7.15.4PhoneSender's phonephoneno
1.7.16RecipientNameReceiver (full name). At least 3 characters.string(128)yes
1.7.17RecipientEmailReceiver's email for sending order status notifications and contacting in case of failed callsemailno
1.7.18PhoneReceiver's phonephoneyes
1.7.19TariffTypeCodeCode of tariff type (for more details, see Appendix No. 1)integeryes
1.7.20DeliveryRecipientCost2Extra delivery charge collected by the online store from the receiver (in the specified currency)floatno
1.7.21DeliveryRecipientVATRateVAT rate included in the extra delivery charge (for more details, see Appendix No. 4)string(10)no
1.7.22DeliveryRecipientVATSumVAT amount included in the extra delivery chargefloatno
1.7.23RecipientCurrency3Code of cash-on-delivery currency: extra delivery charge and payment for the goods to be collected from the receiver. The currency is considered to be a currency of the receiver's country (for details, see Appendix No. 3)string(10)no
1.7.24ItemsCurrencyCode of declared value currency (all items in the order). Currency of settlements with the CDEK client under contract.string(10)no
1.7.25SellerRequisites of the real seller
no
1.7.25.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)
no
yes, if order is international
1.7.25.2NameReal sellerstring (255)yes, if ITN is indicated
1.7.25.3INNITN (Individual Taxpayer Number) of the real sellerstring (20)no
1.7.25.4PhoneTelephone of the real sellerphoneyes, if ITN is indicated
1.7.25.5OwnershipFormCode of type ownership (for more details, see Appendix No. 10)integeryes, if ITN is indicated
1.7.26Comment4Comments (special notes on the order)string(255)no
1.7.27Address1Delivery 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.7.27.1StreetReceiver's street. If possible, do not specify prefixes of values, such as “st.”string(50)yes
1.7.27.2HouseReceiver's house, building, block. If possible, do not specify prefixes of values, such as “house”.string(30)yes
1.7.27.3FlatReceiver's flat/office. If possible, do not specify prefixes of values, such as “flat”.string(10)no
1.7.27.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).
If the specified pickup point is closed at the time of order creation, the order will be accepted for the nearest functioning pickup point. 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
1.7.28PackagePackage (all packages are sent with different Package tags)
yes
1.7.28.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.7.28.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.7.28.3WeightTotal weight (in grams)integeryes
1.7.28.4SizeA5Package dimensions. Length (in centimeters)integeryes, if other dimensions are indicated, in a range of 1 to 1,500
1.7.28.5SizeB5Package dimensions. Width (in centimeters)integeryes, if other dimensions are indicated, in a range of 1 to 1,500
1.7.28.6SizeC5Package dimensions. Height (in centimeters)integeryes, if other dimensions are indicated, in a range of 1 to 1,500
1.7.28.7ItemItems (goods)
yes
1.7.28.7.1AmountQuantity of goods of the same type (pcs). The maximum number is 999.Integeryes
1.7.28.7.2WareKeyIdentifier/item number of the goods (Unique for
this Package).
string(50)yes
1.7.28.7.3CostDeclared value of the goods (per item in the specified currency, value >=0). This value is used to calculate the amount of insurance.floatyes
1.7.28.7.4PaymentCash on delivery (per item in the specified currency, value >=0) — cash on delivery; in case of prepayment, value = 0.floatyes
1.7.28.7.5PaymentVATRateVAT rate included in the value of the goods (for more details, see the Appendix 4)string(10)no
1.7.28.7.6PaymentVATSumVAT amount included in the value (payment) of the goods.floatno
1.7.28.7.7WeightWeight (per item, in grams)integeryes
1.7.28.7.8CommentName of the goods (may contain description of the goods: size, color)string(255)yes
1.7.28.7.9WeightBrutto

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

integer
no
yes, if order is international
1.7.28.7.10CommentEx

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

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

string(255)no
1.7.29DeliveryRecipientCostAdv

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


no
1.7.29.1Threshold

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

integeryes
1.7.29.2Sum

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

floatyes
1.7.29.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.7.29.4VATSum

VAT sum included in the additional charge for delivery

floatno
1.7.30AddServiceAdditional services
no
1.7.30.1ServiceCodeType of additional service (for more details, see Appendix No. 2)integeryes
1.7.30.2CountNumber of packages. It is used and is mandatory only for the additional service "Package 1".integerno
1.7.31Schedule7

Schedule for delivery /pickup


no
1.7.31.1Attempt

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


yes
1.7.31.1.1ID

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

integeryes
1.7.31.1.2Date

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

dateyes
1.7.31.1.3CommentCommentstring(255)no
1.7.31.1.4TimeBeg

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

timeno
1.7.31.1.5TimeEnd

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

timeno
1.7.31.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.7.31.1.6.1Street

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

string(50)yes
1.7.31.1.6.2House

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

string(30)yes
1.7.31.1.6.3Flat

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

string(10)no
1.7.31.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.8CallCourier8Call courier
no
1.8.1Call

Waiting for a courier


yes
1.8.1.1Date

Date of courier waiting

dateyes
1.8.1.2TimeBeg

Start time of courier waiting

timeyes
1.8.1.3TimeEnd

End time of courier waiting

timeyes
1.8.1.4LunchBeg

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

timeno
1.8.1.5LunchEnd

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

timeno
1.8.1.6SendCityCode1

Sender's city code from the CDEK base (see the file “City_XXX_YYYYMMDD.xls”)

integeryes
1.8.1.7SendCityPostCode1

Postal code of the sender's city

string(6)yes
1.8.1.8SendCountryCode1

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

string(2)no
1.8.1.9SendCityName1

Name of sender's city

string(255)no
1.8.1.10SendPhone

Sender's contact phone

phoneyes
1.8.1.11SenderName

Sender (full name)

string(255)yes
1.8.1.12CommentComment for courierstring(255)no
1.8.1.13SendAddressSender's address
yes
1.8.1.13.1Street

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

string(50)yes
1.8.1.13.2House

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

string(30)yes
1.8.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.3CurrencyCurrencystring(30)yes, if
ForeignDelivery =true
1.4AccountClient identifier (login)string(255)yes
1.5SecureKeystring(255)yes
1.6OrderCountThe total number of orders in a document, default value: 1.integeryes
1.7OrderShipment (order)
yes
1.7.1ClientSide6Client type: sender, receiver, third person. Possible values: “sender”, “receiver”, “other” (third party)string(10)yes
1.7.2NumberClient shipment number (unique for orders of a particular client). Order identifier in the Client's IS.string(40)yes
1.7.3SendCityCode1Sender's city code from the CDEK base (see the file“City_XXX_YYYYMMDD.xls”)Integeryes
1.7.4RecCityCode1Receiver's city code from the CDEK base (see the file “City_XXX_YYYYMMDD.xls”)Integeryes
1.7.5SendCityPostCode1Postal code of the sender's citystring(6)yes
1.7.6RecCityPostCode1Postal code of the receiver's citystring(6)yes
1.7.7SendCountryCode1Sender's country code to identify a country by postal code. Default value: RUstring(2)no
1.7.8RecCountryCode1Receiver's country code to identify a country by postal code. Default value: RUstring(2)no
1.7.9SendCityName1Name of sender's citystring(255)no
1.7.10RecCityName1Name of receiver's citystring(255)no
1.7.11SenderSender
no
1.7.11.1Company6Name of sender's companystring(128)no
1.7.11.2NameSender's contact personstring(128)no
1.7.11.3Address1Address of pickup
no
1.7.11.3.1StreetStreetstring(50)yes
1.7.11.3.2HouseHousestring(30)yes
1.7.11.3.3FlatFlat/officestring(10)no
1.7.11.4PhoneSender's phonephoneyes
1.7.12RecipientCompanyName of receiver's companystring(128)yes
1.7.13RecipientNameReceiver (full name). At least 3 characters.string(128)yes
1.7.14RecipientEmailEmail for sending order status notifications and contacting in case of failed callsеmailno
1.7.15PhoneReceiver's phonephoneyes
1.7.16TariffTypeCodeCode of tariff type (for more details, see Appendix No. 1)Integeryes
1.7.17Comment4Comments (special notes on the order)string(255)no
1.7.18Address1Delivery 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.7.18.1StreetReceiver's street. If possible, do not specify prefixes of values, such as “st.”string(50)yes
1.7.18.2HouseReceiver's house, building, block. If possible, do not specify prefixes of values, such as “house”string(30)yes
1.7.18.3FlatReceiver's flat/office. If possible, do not specify prefixes of values, such as “flat”string(10)no
1.7.18.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).
If the specified pickup point is closed at the time of order creation, the order will be accepted for the nearest functioning pickup point.
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
1.7.19PackagePackage (all packages are sent with different Package tags)
yes
1.7.19.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.7.19.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.7.19.3WeightTotal weight (in grams)integeryes
1.7.19.4SizeA5Package dimensions. Length (in centimeters)integeryes, if other dimensions are indicated, in a range of 1 to 1,500
1.7.19.5SizeB5Package dimensions. Width (in centimeters)integeryes, if other dimensions are indicated, in a range of 1 to 1,500
1.7.19.6SizeC5Package dimensions. Height (in centimeters)integeryes, if other dimensions are indicated, in a range of 1 to 1,500
1.7.20AddServiceAdditional services
no
1.7.20.1ServiceCodeType of additional service (for more details, see Appendix No. 2)integeryes
1.7.20.2CostDeclared value of the package. It is used and is mandatory only for the additional service "Insurance".floatno
1.7.20.3CountNumber of packages. It is used and is mandatory only for the additional service "Package 1".integerno

...

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 document, default value: 1.integeryes
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 specified 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.7PhoneReceiver's phonephoneno
1.6.8RecipientINNTIN of the receiver. Only for international orders.string(12)no
1.6.9DateInvoiceInvoice date. Only for international orders.Date time/dateno
1.6.10PassportDetails of the receiver’s passport. Used to print waybills. Only for international orders.
no
1.6.10.1SeriesSeries of the receiver’s passport.string(255)no
1.6.10.2NumberNumber of the receiver’s passport.string(255)no
1.6.10.3IssueDateDate of issue of the receiver’s passport.Date time/dateno
1.6.10.4IssuedByIssuing authority of the receiver’s passport.string(255)no
1.6.10.5DateBirth

The receiver’s birthdate

Date time/dateno
1.6.11AddressDelivery 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.11.1StreetReceiver's street. If possible, do not specify prefixes of values, such as “st.”string(50)yes
1.6.11.2HouseReceiver's house, building, block. If possible, do not specify prefixes of values, such as “house”.string(30)yes
1.6.11.3FlatReceiver's flat/office. If possible, do not specify prefixes of values, such as “flat”.string(10)no
1.6.11.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).
If the specified pickup point is closed at the time of order creation, the order will be accepted for the nearest functioning pickup point. 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
1.6.12DeliveryRecipientCostAdvAdditional charge for delivery (E-shop charges the receiver), depending on the order’s sumДоп. сбор за доставку (которую ИМ берет с получателя), в зависимости от суммы заказа
no
1.6.12.1Threshold

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

integeryes
1.6.12.2Sum

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

floatyes
1.6.12.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.12.4VATSum

VAT sum included in the additional charge for delivery

floatno
1.6.13PackagePackage (all packages are sent with different Package tags)
no
1.6.13.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.13.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.13.3WeightTotal weight (in grams)integeryes
1.6.13.4SizeAPackage dimensions. Length (in centimeters)integeryes, if other dimensions are indicated, in a range of 1 to 1,500
1.6.13.5SizeBPackage dimensions. Width (in centimeters)integeryes, if other dimensions are indicated, in a range of 1 to 1,500
1.6.13.6SizeCPackage dimensions. Height (in centimeters)integeryes, if other dimensions are indicated, in a range of 1 to 1,500
1.6.13.7ItemItems (goods)
yes
1.6.13.7.1Amount

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

integeryes
1.6.13.7.2WareKeyIdentifier/item number of the goods (Unique for this Package).string(50)yes
1.6.13.7.3CostDeclared value of the goods (per item in the specified currency, value >=0). This value is used to calculate the amount of insurance.floatyes
1.6.13.7.4PaymentCash on delivery (per item in the specified currency, value >=0) — cash on delivery, in case of prepayment, value = 0.floatyes
1.6.13.7.5PaymentVATRateVAT rate included in the value of the goods (for more details, see Appendix No. 4)string(10)yes
1.6.13.7.6PaymentVATSumVAT amount included in the value (payment) of the goods.floatyes
1.6.13.7.7Weight

Weight (per item, in grams)

integeryes
1.6.13.7.8Comment

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

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

...

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 provided by CDEK.(login)string(255)yes

1.4

SecureKeystring(255)yes

1.5

OrderCountThe total number of orders to be deleted in the document. Default value: 1.integeryes

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

...

No.Tag / attributeDescriptionType of fieldMandatory (yes/no)
1OrdersPrintDocument title
yes
1.1DateDate of document (date of invitation)datetime/dateyes
1.2AccountOnline store identifier provided by CDEK.(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

...

No.Tag / attributeDescriptionType of fieldMandatory (yes/no)
1CallCourierDocument title
yes
1.2DateDate of document (date of invitation)datetime/dateyes
1.3AccountOnline store identifier provided by CDEK.(login)string(255)yes
1.4SecureKeystring(255)yes
1.5CallCountThe total number of courier invitations in the document. Default value: 1.integeryes
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 (see the file
“City_XXX_YYYYMMDD.xls”)
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.5 kg) will be written in the order.stringyes, if DispatchNumber is not defined
1.6.13CommentCommentstring(255)no
1.6.14DispatchNumberNumber 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.16Address1Receiver's 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

...

No.Tag / attributeDescriptionType of fieldMandatory (yes/no)
1ScheduleRequestDocument title.
yes
1.1DateDate of document (date of invitation)datetime/dateyes
1.2AccountOnline store identifier provided by CDEK.(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.4DeliveryRecipientCostAdditional delivery charge collected by the online store from the receiver (in the specified currency)floatno
1.6.4.5DeliveryRecipientVATRateVAT rate included in the extra delivery charge (for more details, see Appendix No. 4)string(10)no
1.6.4.6DeliveryRecipientVATSumVAT amount included in the extra delivery chargefloatno
1.6.4.7TimeBegStart of a delivery time range (receiver's time)timeno
1.6.4.8TimeEndEnd of a delivery time range (receiver's time)еimeno
1.6.4.9AddressNew 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.9.1StreetReceiver's street. If possible, do not specify prefixes of values, such as “str”string(50)yes
1.6.4.9.2HouseReceiver's house, building, block. If possible, do not specify prefixes of values, such as “house”string(30)yes
1.6.4.9.3FlatReceiver's flat/office. If possible, do not specify prefixes of values, such as “flat.”string(10)no
1.6.4.9.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

...

No.Tag / attributeDescriptionType of fieldMandatory (yes/no)
1OrdersPackagesPrintDocument title
yes
1.1DateDate of documentdatetime/dateyes
1.2AccountOnline store identifier provided by CDEK.(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

...

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

yes
1.1DateDate of planned transmission. Format: YYYY-MM-DDDatetime/dateyes
1.2AccountOnline store identifier (login)string(255)yes
1.3SecureKeystring(255)yes
1.4PlannedMeetingDateДата планируемой передачи. В формате YYYY-MM-DDDatetime/dateyes
1.5PvzCodeReceiver's officeintegeryes
1.6OrderNumber of orders for picking up the consolidated cargo. Must contain at least one element.

1.6.1DispatchNumber1Order number in the CDEK systemstring(30)yes
1.6.2Number1Order number in the online store systemstring(40)yes

...

No.Tag / attributeDescriptionType of fieldMandatory (yes/no)
1StatusReportDocument title
yes
1.1DateDate of requestdatetime/dateyes
1.2AccountClient identifier provided by CDEK.(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(30)yes
1.8.3Date2Date of an acceptance certificate, based on which the order has been transferreddateyes

...

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

...

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
5senderCityId3

Origin city code in accordance with city codes provided by CDEK (file City_XXX_YYYYMMDD.xls»)

integeryes
6senderCityPostCode3

Zip code of the origin city

integeryes
7receiverCityId3

Code of city of destination in accordance with city codes provided by CDEK (file «City_XXX_YYYYMMDD.xls»)

integeryes
8receiverCityPostCode3

City of destination zip code

integeryes
9tariffId4Code of chosen tariff (for more details, see Appendix No. 1)integeryes
10tariffList4List of tariffs
yes
10.1priority

The specified priority

integeryes
10.2id

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

integeryes
10.3modeId

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

integerno
11goodsLocation's dimension
yes
11.1weightWeight (in kilograms)floatyes
11.2lengthLength (in centimeters)integeryes
11.3widthWidth (in centimeters)integeryes
11.4heightHeight (in centimeters)integeryes
11.5volume5Shipment's volume (in cubic meters)floatyes
12servicesList of additional service (for more details, see Appendix No. 2)
no
12.1idNumber identifier of additional serviceintegeryes
12.2param6Parameter of additional service if necessaryintegerno

...


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

Code Block
languagexml
firstline1
titleRequest
{ 
	"version":"1.0",
	"dateExecute":"2018-07-27", 
	"senderCityId":"270", 
	"receiverCityId":"44", 
	"tariffId":"137", 
	"goods": 
		[ 
			{ 
				"weight":"0.3", 
				"length":"10", 
				"width":"7", 
				"height":"5" 
			}, 
			{ 
				"weight":"0.1", 
				"volume":"0.1" 
			} 
		],
	"services": [
		{	
			"id": 2,	
			"param": 2000	
		},
		{	
			"id": 30
		}
	]
} 	
Code Block
languagexml
firstline1
titleResponse
{
	"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.14.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.14.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
5senderCityId3

Origin city code in accordance with city codes provided by CDEK (file City_XXX_YYYYMMDD.xls»)

integeryes
6senderCityPostCode3

Zip code of the origin city

integeryes
7receiverCityId3

Code of city of destination in accordance with city codes provided by CDEK (file «City_XXX_YYYYMMDD.xls»)

integeryes
8receiverCityPostCode3

City of destination zip code

integeryes
9currencyThe currency in which you need to calculate shipping cost. Default - RUBstringнет
10tariffId4Code of chosen tariff (for more details, see Appendix No. 1)integeryes
11tariffList4List of tariffs
yes
11.1id

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

integeryes
12goodsLocation's dimension
yes
12.1weightWeight (in kilograms)floatyes
12.2lengthLength (in centimeters)integeryes
12.3widthWidth (in centimeters)integeryes
12.4heightHeight (in centimeters)integeryes
13servicesList of additional service (for more details, see Appendix No. 2)
no
13.1idNumber identifier of additional serviceintegeryes
13.2param5Parameter of additional service if necessaryintegerno

1 Authorization is not obligatory. Parameters: authLogin, secure might be not provided. Authorization allows taking into account individual rates and discounts, if the web shop has any.

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; 
  • 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.14.2.2. Response Format

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

Code Block
languagexml
firstline1
titleRequest
{
	"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
			}	
		]
}
Code Block
languagexml
firstline1
titleResponse
{
	"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"
						}
					}
			}
	]
}


...

Appendix 10. Forms of ownership

CodeForm of ownership
33Joint-Stock Company
241Closed Joint-Stock Company
249Sole Trader
357Small business
469Open Joint-Stock Company
541Limited Liability Company
581Public Joint-Stock Company