Поиск по сайту

API
Главная / API - Order for shipping

Order for shipping with a pick-up / pre-order

Обновлено 28.05.2018
217 кб

General information

The services lets you create orders for shipping with a pick-up or a pre-oder.

Order for shipping with a pick-up / pre-order

Method request

Request example

Method address: https://api.dellin.ru/v1/customers/request.json

{  
   "appkey":"00000000-0000-0000-000000000000",
   "sessionID":"00000000-0000-0000-0000-000000000000",
   "sender":{  
      "counteragentID":220568,
      "addressID":537846,
      "contacts":[334694],
      "phones":[382110],
      "worktimeStart":"09:00",
      "worktimeEnd":"18:00",
      "breakStart":"12:00",
      "breakEnd":"12:30",
      "loadUnload":[  
         {  
            "uid":"0xa77fcf6a449164ed490133777a68bd51"
         },
         {  
            "uid":"0xadf1fc002cb8a9954298677b22dbde12",
            "value":"4"
         },
         {  
            "uid":"0x9a0d647ddb11ebbd4ddaaf3b1d9f7b74",
            "value":"58"
         }
      ],
      "requirementService": [
         "0xb83b7589658a3851440a853325d1bf69",
         "0x92fce2284f000b0241dad7c2e88b1655"
      ]
   },
   "receiver":{  
      "counteragentID":219467,
      "addressID":537836,
      "contacts":334683,
      "phones":382099,
      "worktimeStart":"10:00",
      "worktimeEnd":"19:00",
      "breakStart":"12:00",
      "breakEnd":"12:30",
      "loadUnload":[  
         {  
            "uid":"0xa77fcf6a449164ed490133777a68bd51"
         },
         {  
            "uid":"0xadf1fc002cb8a9954298677b22dbde12",
            "value":4
         },
         {  
            "uid":"0x9a0d647ddb11ebbd4ddaaf3b1d9f7b74",
            "value":58
         }
      ],
      "requirementService": [
         "0xb83b7589658a3851440a853325d1bf69",
         "0x92fce2284f000b0241dad7c2e88b1655"
      ]
   },
   "third":{  
      "counteragentID":210067,
      "contacts":234983,
      "phoneNumbersExtended":[  
         {
            "phoneNumber": "+7(333)333-33-33"
         }, 
         {
            "phoneNumber": "+7(333)333-33-33",
            "addNumber": "9878"
         }
      ],
      "address_obj":{
         "code": "7800000000000000000000000"
      }
   },
   "additionalServices":[  
      {  
         "service":33,
         "payer":1
      },
      {  
         "service":1,
         "payer":2
      }
   ],
   "pickup_params": {
      "derival_drivers_pass": 24,
      "shipment_register": true,
      "paid_entry": {
         "sum": 100,
         "type": 1
      },
      "shipment_derival": "АБ1000222",
      "docs_for_receive": [
         "0x90bc42c2d8cf7c1c47a40fc1ccfb54d5",
         "0x9c65f346435836584a8345ade132df00"
      ],
      "prior_call": true,
      "no_need_agreement": true
   },
   "day":28,
   "month":8,
   "year":2014,
   "packed":"мешки",
   "totalWeight":1,
   "totalVolume":2,
   "quantity":3,
   "maxLength":1,
   "maxHeight":1,
   "maxWidth":1,
   "maxWeight":1,
   "statedValue":1000,
   "loadingType":1,
   "whoIsPayer":[1,3],
   "primaryPayer":1,
   "paymentType":1,
   "requester":1,
   "name":"запчасти Калининград",
   "freight_uid":"0x9c2acaea110d75ba48fdc7a83c976269",
   "document":"document",
   "deliveryType":1,
   "inOrder":1,
   "moreinfo":"комментарий к заказу",
   "mailback":"user@domen.net",
   "smsback":"79211234567",
   "packages_count":5,
   "bags_count":4,
   "IMOrderNum":"123456",
   "IMOrderDate":"2018-04-09",
   "IMPaymentType":"cash",
   "IMProductItems":[
      {
         "productName":"Кофеварка BRAUN",
         "productCode":"K-2300",
         "productAmount":"1",
         "costWithVAT":"17800",
         "VATRate":18
      }
   ]
}

Method address: https://api.dellin.ru/v1/customers/request.xml

<request>
   <appkey>00000000-0000-0000-000000000000</appkey>
   <sessionid>00000000-0000-0000-0000-000000000000</sessionid>
   <sender>
      <counteragentid>220568</counteragentid>
      <addressid>537846</addressid>
      <contacts>334694</contacts>
      <phones>382110</phones>
      <worktimestart>09:00</worktimestart>
      <worktimeend>18:00</worktimeend>
      <breakstart>12:00</breakstart>
      <breakend>12:30</breakend>
      <loadunload>
         <uid>0xa77fcf6a449164ed490133777a68bd51</uid>
      </loadunload>
      <loadunload>
         <uid>0xadf1fc002cb8a9954298677b22dbde12</uid>
         <value>4</value>
      </loadunload>
      <loadunload>
         <uid>0x9a0d647ddb11ebbd4ddaaf3b1d9f7b74</uid>
         <value>58</value>
      </loadunload>
      <requirementservice>0xb83b7589658a3851440a853325d1bf69</requirementservice>
      <requirementservice>0x92fce2284f000b0241dad7c2e88b1655</requirementservice>
   </sender>
   <receiver>
      <counteragentid>219467</counteragentid>
      <addressid>537836</addressid>
      <contacts>334683</contacts>
      <phones>382099</phones>
      <worktimestart>10:00</worktimestart>
      <worktimeend>19:00</worktimeend>
      <loadunload>
         <uid>0xa77fcf6a449164ed490133777a68bd51</uid>
      </loadunload>
      <loadunload>
         <uid>0xadf1fc002cb8a9954298677b22dbde12</uid>
         <value>4</value>
      </loadunload>
      <loadunload>
         <uid>0x9a0d647ddb11ebbd4ddaaf3b1d9f7b74</uid>
         <value>58</value>
      </loadunload>
      <requirementservice>0xb83b7589658a3851440a853325d1bf69</requirementservice>
      <requirementservice>0x92fce2284f000b0241dad7c2e88b1655</requirementservice>
   </receiver>
   <third>
      <counteragentid>210067</counteragentid>
      <contacts>234983</contacts>
      <phonenumbersextended>
         <phonenumber>+7(333)333-33-33</phonenumber>
         <addnumber></addnumber>
      </phonenumbersextended>
      <phonenumbersextended>
         <phonenumber>+7(333)333-33-33</phonenumber>
         <addnumber>9878</addnumber>
      </phonenumbersextended>
      <address_obj>
         <code>7800000000000000000000000</code>
      </address_obj>
   </third>
   <additionalservices>
      <service>33</service>
      <payer>1</payer>
   </additionalservices>
   <additionalservices>
      <service>1</service>
      <payer>2</payer>
   </additionalservices>
   <pickup_params>
      <derival_drivers_pass>24</derival_drivers_pass>
      <shipment_register>true</shipment_register>
      <paid_entry>
         <sum>100</sum>
         <type>1</type>
      </paid_entry>
      <shipment_derival>АБ1000222</shipment_derival>
      <docs_for_receive>0x90bc42c2d8cf7c1c47a40fc1ccfb54d5</docs_for_receive>
      <docs_for_receive>0x9c65f346435836584a8345ade132df00</docs_for_receive>
      <prior_call>true</prior_call>
      <no_need_agreement>true</no_need_agreement>
   </pickup_params>
   <day>28</day>
   <month>8</month>
   <year>2014</year>
   <packed>мешки</packed>
   <totalweight>1</totalweight>
   <totalvolume>2</totalvolume>
   <quantity>3</quantity>
   <maxlength>1</maxlength>
   <maxheight>1</maxheight>
   <maxwidth>1</maxwidth>
   <maxweight>1</maxweight>
   <statedvalue>1000</statedvalue>
   <loadingtype>1</loadingtype>
   <whoispayer>1</whoispayer>
   <whoispayer>3</whoispayer>
   <primarypayer>1</primarypayer>
   <paymenttype>1</paymenttype>
   <requester>1</requester>
   <name>запчасти Калининград</name>
   <freight_uid>0x9c2acaea110d75ba48fdc7a83c976269<freight_uid>
   <document>document</document>
   <deliverytype>1</deliverytype>
   <inorder>1</inorder>
   <moreinfo>комментарий к заказу</moreinfo>
   <mailback>user@domen.net</mailback>
   <smsback>79211234567</smsback>
   <packages_count>5</packages_count>
   <bags_count>4</bags_count>
   <imordernum>123456</imordernum>
   <imorderdate>2018-04-09</imorderdate>
   <impaymenttype>cash</impaymenttype>
   <improductitems>
      <productname>Кофеварка BRAUN</productname>
      <productcode>K-2300</productcode>
      <productamount>1</productamount>
      <costwithvat>17800</costwithvat>
      <vatrate>18</vatrate>
   </improductitems>
</request>

Description of parameters

Request
ParameterR*TypeDescription
appkeyYesstringThe application key. To get the key, register

sessionID

YesstringThe session ID that is required to take personal discounts into account. To get the ID, use the User Authorization method
senderYes
Request.SenderInformation about the sender
receiverYes
Request.ReceiverInformation about the receiver
thirdNoRequest.ThirdInformation about a third party (which can only be a payer)
additionalServicesNo
array of Request.AdditionalServicesAn array with information about additional services
pickup_paramsNo
Request.Pickup_paramsAdditional parameters for a pick-up. Ignored, if the service is not ordered
dayYes
integerThe day of executing the order (a desired day when a truck must take cargo)
monthYes
integerThe month of executing the order
yearYes
integerThe year of executing the order
packedNostringThe type of a cargo package
totalWeightYes
floatThe weight of the cargo, kg
totalVolumeYes
floatThe volume of the cargo, m3
quantityYes
integerThe number of cargo items
maxLengthYes
floatThe length of the cargo (the longest part), m
maxHeightYes
floatThe height of the cargo (the heighest part), m
maxWidthYes
floatThe width of the cargo (the widest part), m3
maxWeightYes
floatThe weight of the heaviest part, kg (if there are several parts; otherwise maxWeight equals totalWeight)
statedValueNo
floatThe declared cost of the cargo in rubles. When it is empty or "0" the cargo is insured with the declared cost taken into account; when it is more than "0" the declared cost is taken into account
loadingTypeYes
integerID of a vehicle loading type. It should be specified using the Directory of Vehicle Loading Types
whoIsPayerYes
array of integerAn array listing IDs of payers, that is who is paying for terminal-to-terminal shipping (independent of a shipping type; air, by car, express). Value from the Directory of Payer Types
primaryPayerYes
integerID of the main payer that pays for the terminal-to-terminal shipment (regardless of delivery type: by air, by truck, express). Value from the Directory of Payer Types
paymentTypeYes
integerID of a payment type. It should be specified using the Directory of Payment Types
requesterNo
integer

Parameter should be specified in case of absence of the full access to the counterparties.

Available values:

  • "1" - sender
  • "2" - receiver
  • "3" - third party
nameYes*string

The name of the cargo (1 character at least).

*Only if the "freight_uid" parameter is absent

freight_uidYes*string

UID of a cargo type from the Directory of Cargo Types. To search for UID by the name of cargo use the Cargo Type by an Input String method.

*Only if the "name" parameter is absent

documentYes
stringA document required to receive the cargo from the sender
deliveryTypeYes
integerID of a shipping type. It should be specified using the Directory of Shipping Types
inOrderNo
integer

Indicator of placing an order in the processing queue.

Available values:

  • "1" - to place to the queue
  • "0" - not to place to the queue

Default value: "1"

moreinfoNo
stringA comment to the order
mailbackNo
stringA contact e-mail address
smsbackNo
stringA contant phone number in the format: (11 figures, starts with 7)
packages_countNo
integerThe amount of required The amount of required boxes (if a package has been ordered using the additionalServices parameter)(if a package has been ordered using the additionalServices parameter)
bags_countNo
integerThe amount of required bags (if a package has been ordered using the additionalServices parameter)

IMOrderNum

Yes*

string

The order number in the online store. 100 characters at most. *Only if the "IMProductItems" parameter is not empty

IMOrderDate

No

date

The date of order in the online store, in the format: YYYY-MM-DD

IMPaymentType

No

string

The declared type of payment.

Available values:

  • "cash"
  • "card"

IMProductItems

No

array of Request.IMProductItems

A description of nomenclative contents of the cargo. If there is at least one element of the array with a declared cost ("CostWithVAT" parameter), cash on delivery will be used

Request.Sender
ParameterR*TypeDescription
counteragentIDYesinteger

ID of the sender (counterparty). It should be specified using the "Address book"

addressID

Yesinteger

ID of the address from where the cargo is sent. It should be specified using the "Address book"

contactsYes*array of integer

An array containing IDs of contact persons or ID of the contact person of the receiver. It should be specified using the "Address book".

*Only if the "contacts_person" parameter is absent

contacts_personNostring

The surname, name and patronymic name of a contact person

phonesYes
array of integerAn array containing IDs of contact phone numbers or ID of the contact phone number of the sender. It should be specified using the "Address book"
worktimeStartYes
stringThe time when working hoursofthe sender'swarehousebeginadesired time when acargopick-upbeginsintheformat HHThe time when working hours of the sender's warehouse begin (a desired time when a cargo pick-up begins) in the format HH:MMMM
worktimeEndYes
stringThe time when the break between working hours of the sender's warehouse begins in the format HH:MM
breakStartNo
stringThe time when working hours of the sender's warehouse end (a desired time when a cargo pick-up ends in the format HH:MM
breakEndNo
stringThe time when the break between working hours of the receiver's warehouse ends in the format HH:MM
loadUnloadNo
array of Request.Sender.LoadUnloadThe time when the break between working hours of the receiver's warehouse ends in the format HH:MM

requirementService

No
array of stringAn array with special requirements for transport from the Directory of Special Requirements for Transport

Request.Sender.LoadUnload
ParameterR*TypeDescription
uidNostringThe unique identifier of an additional parameter required to calculate the cost of loading/unloading activities. It should be specified using the Directory of Vehicle Loading/Unloading Services

value

NostringValue of an additional parameter if it is necessary. For example, additional parameter = "этаж" ("floor"), value = "4"

Request.Receiver
ParameterR*TypeDescription
counteragentIDYesintegerID of the receiver (counterparty). It should be specified using the "Address book"

addressID

YesintegerID of the address where the cargo is received by the receiver. It should be specified using the "Address book" and the "type" parameter that contains the value "delivery"
contactsYes*array of integer

An array containing IDs of contact persons or ID of the contact person of the receiver. It should be specified using the "Address book".

*Only if the "contacts_person" parameter is absent and the receiver is not an anonymous receiver

contacts_personNo
string

The surname, name and patronymic name of a contact person.

*Only if the "contacts" parameter is absent and the receiver is not an anonymous receiver

phones

Yes*array of integer

An array containing IDs of contact phone numbers or ID of the contact phone number of the receiver.

*Only if the receiver is not an anonymous receiver

worktimeStartYesstringThe time when working hours of the receiver's warehouse begin (a desired time when delivering of cargo begins) in the format HH:MM
worktimeEndYesstringThe time when working hours of the receiver's warehouse end (a desired time when delivering of cargo ends) in the format HH:MM
breakStartNo
stringThe time when the break between working hours of the receiver's warehouse begins in the format HH:MM
breakEndNo
stringThe time when the break between working hours of the receiver's warehouse ends in the format HH:MM
loadUnloadNoarray of Request.Receiver.LoadUnloadAn array of additional parameters required to calculate the cost of loading/unloading activities, which can be ordered using the "additionalServices" parameter
The Request.Receiver.LoadUnload parameter requires the same additional parameters as "Request.Sender.LoadUnload" does.

Request.Third
ParameterR*TypeDescription
counteragentIDYesintegerCounterparty ID. It should be specified using the "Address book"
contactsYes*array of integer

Array of ID of contact persons or ID of a contact person. It should be specified using the "Address book"

*In case of absence of parameter "contacts_person"

contacts_personNo
string

The surname, name and patronymic name of a contact person

phoneNumbersExtendedYesarray of Request.Third.PhoneNumbersExtended

Array of contact phone numbers of the third party

address_objYes*object

Third party address.

*Only if "whoIsPayer" = 3 (Third party is chosen as a payer or one of two payers (the second payer - is the receiver or the sender)) AND "paymentType" = 2 (cash payment)

address_obj.codeYes*string

CLADR code of the city of the payer that is the third party (the city from which the payment for delivery will perform).

*Only if "whoIsPayer" = 3 (Third party is chosen as a payer or one of two payers (the second payer - is the receiver or the sender)) AND "paymentType" = 2 (cash payment)

Request.Third.PhoneNumbersExtended
ParameterR*TypeDescription
phoneNumberYesstring

Phone number.

Only digits are available for entering. Maximum quantity of digits:

  • 11, if number starts with "7"
  • 12, if number starts with "375"
  • 18, otherwise
addNumberNostring

Additional number.

Only digits are available for entering. Maximum quantity of digits - 5

Request.AdditionalServices
ParameterR*TypeDescription
serviceYesinteger

ID of a service. It should be specified using the Directory of Additional Services.

If the "additionalServices" array contains the "service" parameter with the value "33" (the code of the service Cargo Pickup from the Sender's Address from the Directory of Additional Services), then a Shipping with a Pickup order will be created. Otherwise, a pre-order will be created

payer

Yes
integerID of a payer. Choose a value from the "whoIsPayer" array
Notice: the type of order is determined by the presense or absence of the "service" parameter with the value "33" in the "additionalServices" array.

Request.Pickup_params
ParameterR*TypeDescription
derival_drivers_passNo
integer

Parameter determining the need to order a pass by the driver of DL to enter the territory of the sender and time that it takes

Available values:

  • "1" - an hour before the order
  • "24" - one day before the order

shipment_register

No
boolean

Parameter determining the need to make an appointment by the driver of DL to pick-up the cargo at the sender's address.

Default value: "false"

paid_entryNo
object

Parameter determining the need to pay the entry fee by the driver of DL when entering the territory of the sender to pick-up the cargo

paid_entry.sumYes
integerAmount, rub.
paid_entry.typeYes
integer

Reimbursement method.

Available values:

  • "1" - by the check at the address
  • "2" - include in the bill
shipment_derivalNo
string

Parameter determining the need to provide the pick-up number by the driver of DL in order to pick-up the cargo at the sender's territory. Parameter should contain the pick-up number

docs_for_receiveYes
array of strings

List of the documents that the driver of DL has to have in order to pick-up the cargo at the sender's territory. Should be specified using the "Documents for picking-up the cargo" directory

prior_callNo
boolean

Parameter determining the need of advance call from the driver of DL to the sender before the picking-up of the cargo.

Default value: "false"

no_need_agreementNo
boolean

Parameter determining the need to agree the order for shipment with the sender.

Available values:

  • "true" - need to agree
  • "false" - not need to agree (default value)

Request.IMProductItems
ParameterR*TypeDescription

productName

Yes

string

Product name.

Maximum number of characters - 200

productCode

No

string

Product code.

Maximum number of characters - 50

productAmount

Yes

integer

Product amount

costWithVAT

Yes

decimal

Unit price including VAT.

Maximum number of characters - 20 (2 of them are after the decimal point)

VATRate

No

integer

VAT rate, %.

Available values:

  • "0"
  • "10"
  • "18"

Method response

Response example

{  
   "answer":{  
      "state":"success",
      "requestID":"3954004",
      "barcode":"41508460D0905400400000014"
   }
}
<response>
   <answer>
      <state>success</state>
      <requestid>3954004</requestid>
      <barcode>41508460D0905400400000014</barcode>
   </answer>
</response>

Description of parameters

Response
ParameterTypeDescription
answerobjectInformation about the order/pre-order
answer.statestring

Status of the order/pre-order

answer.requestIDstringID of the order/pre-order
answer.barcodestringBarcode according to algorithm Code 128 (for pre-order)

Error handling

If a lot of data is missing, including data on the sender and receiver, the response will be as follows:

Response example

{  
   "Error":{  
      "code":"403",
      "description":"Invalid data"
   }
}
<response>
   <error>
      <code>403</code>
      <description>Invalid data</description>
   </error>
</response>

Description of parameters

Response
ParameterTypeDescription
ErrorobjectInformation about an error
Error.codestringThe code of an error
Error.descriptionstringDescription of an error

If there is not enough data, but the "sender" and "receiver" objects have been passed, the response will list the missing parameters as follows:

Response example

{  
   "errors":{  
      "deliveryType":"Требуется",
      "document":"Требуется",
      "name":"Требуется",
      "maxWidth":"Требуется",
      "maxHeight":"Требуется",
      "month":"Требуется"
   }
}
<response>
   <errors>
      <deliverytype>Требуется</deliverytype>
      <document>Требуется</document>
      <name>Требуется</name>
      <maxwidth>Требуется</maxwidth>
      <maxheight>Требуется</maxheight>
      <month>Требуется</month>
   </errors>
</response>

If the counterparty-sender's ID, contact person and phone number are incorrect, the reponse will be as follows:

Response example

{  
   "errors":{  
      "sender":{  
         "phones":"Не существующий id",
         "counteragentID":"Не существующий id",
         "contacts":"Не существующий id"
      }
   }
}
<response>
   <errors>
      <sender>
         <phones>Не существующий id</phones>
         <counteragentid>Не существующий id</counteragentid>
         <contacts>Не существующий id</contacts>
      </sender>
   </errors>
</response>

If the "whoIsPayer" array contains the ID of a payer that is a third party, but the "third" object is empty, the response will be as follows:

Response example

{
   "Error":"Нет данных по третьему лицу"
}
<response>
   <error>Нет данных по третьему лицу</error>
</response>

If additional services have been ordered in the "additionalServices" section, but the payer is a counterparty not mentioned in the "whoIsPayer" array, the response will be as follows:

Response example

{
   "Error":"Неправильно заполнено поле payer в группе additionalServices"
}
<response>
   <error>Неправильно заполнено поле payer в группе additionalServices</error>
</response>

If the "whoIsPayer" array contains no any ID or contains more than 2 ID's, the response will be as follows: 

Response example

{  
   "errors":{  
      "whoIsPayer":"недопустимое значение"
   }
}
<response>
   <errors>
      <whoispayer>недопустимое значение</whoispayer>
   </errors>
</response>

If the day of executing the order is in the past, you will see the following error: 

Response example 

{  
   "errors":{  
      "year":"Дата выполнения должна быть в будущем.",
      "day":"Дата выполнения должна быть в будущем.",
      "month":"Дата выполнения должна быть в будущем."
   }
}
<response>
   <errors>
      <year>Дата выполнения должна быть в будущем.</year>
      <day>Дата выполнения должна быть в будущем.</day>
      <month>Дата выполнения должна быть в будущем.</month>
   </errors>
</response>

 If sending cargo is not possible on the specified date, the error will be as follows: 

Response example 

{  
   "errors":{  
      "year":"Дата отправления груза невозможна. Ближайшая возможная дата 2015-06-01",
      "day":"Дата отправления груза невозможна. Ближайшая возможная дата 2015-06-01",
      "month":"Дата отправления груза невозможна. Ближайшая возможная дата 2015-06-01",
      "available_produce_date":"2015-06-01"
   }
}
<response>
   <errors>
      <year>Дата отправления груза невозможна. Ближайшая возможная дата 2015-06-01</year>
      <day>Дата отправления груза невозможна. Ближайшая возможная дата 2015-06-01</day>
      <month>Дата отправления груза невозможна. Ближайшая возможная дата 2015-06-01</month>
      <available_produce_date>2015-06-01</available_produce_date>
   </errors>
</response>

If you have no access to counterparties or the current counterparty has not been selected (see the section "Available counterparties"), the error will be as follows:

Response example

{  
   "Error":{  
      "code":"403",
      "description":"Не выбран текущий контрагент. Возможно у вас нет доступа к контрагентам."
   }
}
<response>
   <error>
      <code>403</code>
      <description>Не выбран текущий контрагент. Возможно у вас нет доступа к контрагентам.</description>
   </error>
</response>

If you use cash payment, but it is not available at a payer's location, the response will be as follows:

Response example 

{
   "errors": {
      "paymentType": "В населенном пункте плательщика наличный расчет недоступен."
   }
}
<response>
   <errors>
      <paymentType>В населенном пункте плательщика наличный расчет недоступен.</paymentType>
   </errors>
</response>

If the third party is mentioned as the payer, but the CLADR code of the payer's location has not been passed, the response will be as follows:

Response example 

{  
   "errors":{  
      "third":{  
         "address_obj":{  
            "code":"Поле обязательно для заполнения если плательщик третье лицо и формой оплаты выбран наличный расчет."
         }
      }
   }
}
<response>
   <errors>
      <third>
         <address_obj>
            <code>Поле обязательно для заполнения если плательщик третье лицо и формой оплаты выбран наличный расчет.</code>
         </address_obj>
      </third>
   </errors>
</response>

If at at least one of the terminals (corresponding to "addressID" parameters in the "sender" and "receiver" sections) receiving cargo of a specific weight, volume and size is not possible, the error will be as follows:

Response example

{  
   "answer":{  
      "state":"error",
      "error":"Весогабаритные характеристики груза превышают допустимые для приёма на терминалах города <название города>."
   }
}
<response>
   <answer>
      <state>error</state>
      <error>Весогабаритные характеристики груза превышают допустимые для приёма на терминалах города <название города>.</error>
   </answer>
</response>

If the request included both "name" and "freight_uid" parameters, the error will be as follows:

Response example

{  
   "errors":{  
      "freight_uid":"Возможно задание только одного из параметров: name или freight_uid."
   }
}
<response>
   <errors>
      <freight_uid>Возможно задание только одного из параметров: name или freight_uid</freight_uid>
   </errors>
</response>

If the request included neither "name", no "freight_uid" parameters, the error will be as follows:

Response example

{
   "errors": {
      "freight_uid": "Необходимо указать характер груза. Приоритетнее указание параметра \"freight_uid\", т.к. в следующих версиях поддержка параметра \"namе\" будет прекращена."
   }
}
<response>
   <errors>
      <freight_uid>Необходимо указать характер груза. Приоритетнее указание параметра "freight_uid", т.к. в следующих версиях поддержка параметра "namе" будет прекращена.</freight_uid>
   </errors>
</response>

If the value of the "freight_uid" parameter is not listed in the Cargo Type directory, the error will be as follows:

Response example

{  
   "errors":{  
      "freight_uid":"С указанным характером груза перевозка не осуществляется."
   }
}
<response>
   <errors>
      <freight_uid>С указанным характером груза перевозка не осуществляется.</freight_uid>
   </errors>
</response>

If the receiver's address is a juridical address (the "Request.Receiver.AddressID" contains the ID of an address from the address book, and the "type" parameter equals "juridical"), the following error will be displayed:

Response example

{  
   "errors":{  
      "receiver":{  
         "addressid":"необходимо указать адрес доставки"
      }
   }
}
<response>
   <errors>
      <receiver>
         <addressid>необходимо указать адрес доставки</addressid>
      </receiver>
   </errors>
</response>

If the "additionalServices" parameter contains IDs of package related services and the required package type is not available at at least one of the terminals in the cities where the cargo is sent/received, the response will contain an error, the text of which is given below. [package type] ([имя упаковки]) will be replaced with the value of the "name" parameter (specified using the Directory of Additional Services).

Response example

{  
   "answer":{  
      "state":"error",
      "error":"Упаковка [имя упаковки] недоступна для выбранных ОСП отправки/выдачи"
   }
}
<response>
   <answer>
      <state>error</state>
      <error>Упаковка [имя упаковки] недоступна для выбранных ОСП отправки/выдачи</error>
   </answer>
</response>

If the "Third.PhoneNumbersExtended.PhoneNumber" parameter contained unallowed characters (e.g. letters), the following error will be displayed:

Response example

{  
   "errors":{  
      "third":{  
         "phonenumbersextended":"Телефон содержит недопустимые символы"
      }
   }
}
<response>
   <errors>
      <third>
         <phonenumbersextended>Телефон содержит недопустимые символы</phonenumbersextended>
      </third>
   </errors>
</response>

If the "Third.PhoneNumbersExtended.PhoneNumber" parameter contained unallowed number of figures, the following error will be displayed:

Response example

{  
   "errors":{  
      "third":{  
         "phonenumbersextended":"Неверный номер телефона"
      }
   }
}
<response>
   <errors>
      <third>
         <phonenumbersextended>Неверный номер телефона</phonenumbersextended>
      </third>
   </errors>
</response>

If the "Third.PhoneNumbersExtended.AddNumber" parameter contained unallowed characters (e.g. letters), the following error will be displayed:

Response example

{  
   "errors":{  
      "third":{  
         "phonenumbersextended":"Добавочный код содержит недопустимые символы"
      }
   }
}
<response>
   <errors>
      <third>
         <phonenumbersextended>Добавочный код содержит недопустимые символы</phonenumbersextended>
      </third>
   </errors>
</response>

If the "Third.PhoneNumbersExtended.AddNumber" parameter contained unallowed number of figures, the following error will be displayed:

Response example

{  
   "errors":{  
      "third":{  
         "phonenumbersextended":"Неверный добавочный код"
      }
   }
}
<response>
   <errors>
      <third>
         <phonenumbersextended>Неверный добавочный код</phonenumbersextended>
      </third>
   </errors>
</response>

If the receiver is an anonymous receiver, the errors described below may appear (such errors descriptions start with "Ошибка упрощённой отправки" (Error of simplified shipment)).
If you do not have a full access to the sender, you will get the following error:

Response example

{  
   "errors":{  
      "error":"ошибка упрощённой отправки: отсутствует полный доступ к отправителю"
   }
}
<response>
   <errors>
      <error>ошибка упрощённой отправки: отсутствует полный доступ к отправителю</error>
   </errors>
</response>

If the sender is not the current counterparty of your personal account, you will get the following response:

Response example

{  
   "errors":{  
      "error":"ошибка упрощённой отправки: отправитель не является текущим контрагентом вашей учётной записи"
   }
}
<response>
   <errors>
      <error>ошибка упрощённой отправки: отправитель не является текущим контрагентом вашей учётной записи</error>
   </errors>
</response>

If an incorrect service has been mentioned in the request, the response will be as follows:

Response example

{  
   "errors":{  
      "error":"ошибка упрощённой отправки: некорректная услуга"
   }
}
<response>
   <errors>
      <error>ошибка упрощённой отправки: некорректная услуга</error>
   </errors>
</response>

If the mentioned sender is not a juridical party, the response will be as follows:

Response example

{  
   "errors":{  
      "error":"ошибка упрощённой отправки: отправитель не является юрлицом"
   }
}
<response>
   <errors>
      <error>ошибка упрощённой отправки: отправитель не является юрлицом</error>
   </errors>
</response>

If the sender does not have an additional agreement for a simplified shipping, the response will be as follows:

Response example

{  
   "errors":{  
      "error":"ошибка упрощённой отправки: отсутствует доп соглашение на упрощённую отправку у отправителя"
   }
}
<response>
   <errors>
      <error>ошибка упрощённой отправки: отсутствует доп соглашение на упрощённую отправку у отправителя</error>
   </errors>
</response>

If an incorrect shipping zone is used, the response will be as follows:

Response example

{  
   "errors":{  
      "error":"ошибка упрощённой отправки: некорректная зона перевозки"
   }
}
<response>
   <errors>
      <error>ошибка упрощённой отправки: некорректная зона перевозки</error>
   </errors>
</response>

If the third party is a counterparty with minimum data set (anonymous receiver), the response will be as follows:

Response example

{  
   "errors":{  
      "error":"ошибка упрощённой отправки: контрагент с минимальным набором данных не может быть третьим лицом по заказу"
   }
}
<response>
   <errors>
      <error>ошибка упрощённой отправки: контрагент с минимальным набором данных не может быть третьим лицом по заказу</error>
   </errors>
</response>

If the sender is a counterparty with minimum data set (anonymous receiver), the response will be as follows:

Response example

{  
   "errors":{  
      "error":"ошибка упрощённой отправки: контрагент с минимальным набором данных не может быть отправителем по заказу"
   }
}
<response>
   <errors>
      <error>ошибка упрощённой отправки: контрагент с минимальным набором данных не может быть отправителем по заказу</error>
   </errors>
</response>

If the following conditions are simultaneously satisfied:

  • the service "Cargo pick-up from the sender's address" is not ordered (the request does not contain parameter "service" = "33" in array "additionalServices"),
  • the sender's address is an address of the terminal,
  • terminal of departure does not render a service "Cargo receiving" or this terminal is a point of issue of the counterparty "220 Вольт" orders,

then the response will be as follows:

Response example

{  
   "errors":{  
      "sender":{  
         "addressID":"Данный терминал не осуществляет услуг по приему грузов"
      }
   }
}
<response>
   <errors>
      <sender>
         <addressid>Данный терминал не осуществляет услуг по приему грузов</addressid>
      </sender>
   </errors>
</response>

If the following conditions are simultaneously satisfied:

  • the service "Delivery to the address" is not ordered (the request does not contain parameter "service" = "1" in array "additionalServices"),
  • the receiver's address is an address of the terminal,
  • terminal of arrival does not render a service "Cargo delivery",

then the response will be as follows:

Response example

{  
   "errors":{  
      "receiver":{  
         "addressID":"Данный терминал не осуществляет услуг по выдаче грузов"
      }
   }
}
<response>
   <errors>
      <receiver>
         <addressid>Данный терминал не осуществляет услуг по выдаче грузов</addressid>
      </receiver>
   </errors>
</response>

If the following conditions are simultaneously satisfied:

  • the sender's or receiver's address is an address of the terminal,
  • terminal renders services "3PL Cargo receiving" and "3PL Cargo delivery", but does not render the service on groupage cargo,

then the response will be as follows:

Response example

{  
   "errors":{  
      "receiver":{  
         "addressID":"Данный терминал не осуществляет услуг по приему/выдаче грузов"
      }
   }
}
<response>
   <errors>
      <receiver>
         <addressid>Данный терминал не осуществляет услуг по приему/выдаче грузов</addressid>
      </receiver>
   </errors>
</response>

If the value of the parameter "IMOrderNum" in the request exceeds the length limit (number of characters) then the response will be as follows:

Response example

{  
   "errors":{  
      "IMOrderNum":"Превышено допустимое кол-во символов 100"
   }
}
<response>
   <errors>
      <imordernum>Превышено допустимое кол-во символов 100</imordernum>
   </errors>
</response>

If the parameter "IMOrderNum" in the request is empty then the response will be as follows:

Response example

{  
   "errors":{  
      "IMOrderNum":"Не может быть передано пустое значение"
   }
}
<response>
   <errors>
      <imordernum>Не может быть передано пустое значение</imordernum>
   </errors>
</response>

If the parameter "IMProductItems" in the request is not empty and the parameter "IMOrderNum" is empty or absent then the response will be as follows:

Response example

{  
   "errors":{  
      "IMOrderNum":"Не передан номер заказа ИМ."
   }
}
<response>
   <errors>
      <imordernum>Не передан номер заказа ИМ.<imordernum>
   </errors>
</response>

If the parameter "IMProductItems" in the request is not empty and customer is not a juridical party or is not the sender or cash on delivery is unavailable for them then the response will be as follows:

Response example

{  
   "errors":{  
      "cauid":"Для указанного контрагента невозможно оформление заказа с наложенным платежом."
   }
}
<response>
   <errors>
      <cauid>Для указанного контрагента невозможно оформление заказа с наложенным платежом.</cauid>
   </errors>
</response>

If the parameter "IMProductItems" in the request is not empty and cash on delivery is available for the customer, but any parameter describing the type of the cargo for any product item is not passed, then the response will be as follows:

Response example

{  
   "errors":{  
      "IMProductItems":"Не заполнены все обязательные параметры при описании заказанных товаров. Обязательными для заполнения являются: Наименование товара, Кол-во, Цена."
   }
}
<response>
   <errors>
      <improductitems>Не заполнены все обязательные параметры при описании заказанных товаров. Обязательными для заполнения являются: Наименование товара, Кол-во, Цена.</improductitems>
   </errors>
</response>

If the parameter "IMProductItems" in the request is not empty and cash on delivery is available for the customer, but any parameter describing the type of the cargo for any product item exceeds the length limit (number of characters), then the response will be as follows:

Response example

{  
   "errors":{  
      "ProductName":"Превышено допустимое кол-во символов 200"
   }
}
<response>
   <errors>
      <productname>Превышено допустимое кол-во символов 200</productname>
   </errors>
</response>

If the parameter "IMProductItems" in the request is not empty and cash on delivery is available for the customer, but the parameter "VATrate" for any product item has an unavailable value, then the response will be as follows:

Response example

{  
   "errors":{  
      "VATRate":"Указано неверное значение ставки НДС для товара Кофеварка BRAUN"
   }
}
<response>
   <errors>
      <vatrate>Указано неверное значение ставки НДС для товара Кофеварка BRAUN</vatrate>
   </errors>
</response>

If the parameter "IMPaymentType" in the request has an unavailable value, then the response will be as follows:

Response example

{  
   "errors":{  
      "IMPaymentType":"Указано неверное значение способа оплаты (возможные значения: cash, card)."
   }
}
<response>
   <errors>
      <impaymenttype>Указано неверное значение способа оплаты (возможные значения: cash, card).</impaymenttype>
   </errors>
</response>

If the parameter "CostWithVAT" in block "Request.IMProductItems" for any item product in the request is not empty and the parameter "Receiver.AddressID" is not empty and the parameter "additionalServices" = 1, then the response will be as follows:

Response example

{  
   "errors":{  
      "additionalServices":"При оформлении заказа с наложенным платежом невозможно заказать доставку до адреса."
   }
}
<response>
   <errors>
      <additionalservices>При оформлении заказа с наложенным платежом невозможно заказать доставку до адреса.</additionalservices>
   </errors>
</response>