Изменение получателя по заказу
Общие сведения
Сервис позволяет изменять получателя по уже оформленному заказу, при необходимости назначать его плательщиком по заказу, а также определять, кто берёт на себя расходы за платное хранение- отправитель, новый получатель или третье лицо.
Для проверки возможности изменения получателя следует использовать метод "Проверка возможности изменения заказа".
Изменение получателя по заказу
Запрос метода
Пример запроса
Адрес метода: https://api.dellin.ru/v3/orders/change_receiver.json
{ "appkey":"00000000-0000-0000-0000-000000000000", "sessionID":"00000000-0000-0000-0000-000000000000", "orderID":"00000000", "receiver":{ "counteragentID":456783515, "counteragent":{ "form":"0x8F51001438C4D49511DBD774581EDB80", "document":{ "type":"passport", "serial":"1111", "number":"123456" }, "inn":1234567890, "name":"Ромашка", "juridicalAddress":{ "search":"Омск, Ленина, 5", "street":"5500000100005970000000000", "house":"5", "building":"1", "structure":"3А", "flat":"Б-234" } }, "contactIDs":[ 12345678, 78456123 ], "contactPersons":[ { "name":"Иван Иванович" }, { "name":"Петр Петрович" } ], "phoneIDs":[ 98765412, 65478921 ], "phoneNumbers":[ { "number":"79213332211", "ext":"0123" } ], "email":"test@mail.ru", "dataForReceipt":{ "phone":"+79999999999", "email":"test@mail.ru" } }, "changeOrderPayer":true, "storePayer":"third", "third":{ "counteragentID":456783515, "counteragent":{ "form":"0x8F51001438C4D49511DBD774581EDB80", "document":{ "type":"passport", "serial":"1111", "number":"123456" }, "inn":1234567890, "name":"Ромашка", "juridicalAddress":{ "search":"Новосибирск, Кутузова, 5", "street":"5400000100019470000000000", "house":"5", "building":"2", "structure":"3А", "flat":"Б-234" } }, "contactIDs":[ 12345678, 78456123 ], "contactPersons":[ { "name":"Иван Иванович" }, { "name":"Петр Петрович" } ], "phoneIDs":[ 98765412, 65478921 ], "phoneNumbers":[ { "number":"79213332211", "ext":"0123" } ], "email":"test@mail.ru", "dataForReceipt":{ "phone":"+79999999999", "email":"test@mail.ru" } } }
Адрес метода: https://api.dellin.ru/v3/orders/change_receiver.xml
<request> <appkey>00000000-0000-0000-0000-000000000000</appkey> <sessionID>00000000-0000-0000-0000-000000000000</sessionID> <orderID>00000000</orderID> <receiver> <counteragentID>456783515</counteragentID> <counteragent> <form>0x8F51001438C4D49511DBD774581EDB80</form> <document> <type>passport</type> <serial>1111</serial> <number>123456</number> </document> <inn>1234567890</inn> <name>Ромашка</name> <juridicalAddress> <search>Омск, Ленина, 5</search> <street>5500000100005970000000000</street> <house>5</house> <building>1</building> <structure>3А</structure> <flat>Б-234</flat> </juridicalAddress> </counteragent> <contactIDs>12345678</contactIDs> <contactIDs>78456123</contactIDs> <contactPersons> <name>Иван Иванович</name> </contactPersons> <contactPersons> <name>Петр Петрович</name> </contactPersons> <phoneIDs>98765412</phoneIDs> <phoneIDs>65478921</phoneIDs> <phoneNumbers> <number>79213332211</number> <ext>0123</ext> </phoneNumbers> <email>test@mail.ru</email> <dataForReceipt> <phone>+79999999999</phone> <email>test@mail.ru</email> </dataForReceipt> </receiver> <changeOrderPayer>true</changeOrderPayer> <storePayer>third</storePayer> <third> <counteragentID>456783515</counteragentID> <counteragent> <form>0x8F51001438C4D49511DBD774581EDB80</form> <document> <type>passport</type> <serial>1111</serial> <number>123456</number> </document> <inn>1234567890</inn> <name>Ромашка</name> <juridicalAddress> <search>Новосибирск, Кутузова, 5</search> <street>5400000100019470000000000</street> <house>5</house> <building>2</building> <structure>3А</structure> <flat>Б-234</flat> </juridicalAddress> </counteragent> <contactIDs>12345678</contactIDs> <contactIDs>78456123</contactIDs> <contactPersons> <name>Иван Иванович</name> </contactPersons> <contactPersons> <name>Петр Петрович</name> </contactPersons> <phoneIDs>98765412</phoneIDs> <phoneIDs>65478921</phoneIDs> <phoneNumbers> <number>79213332211</number> <ext>0123</ext> </phoneNumbers> <email>test@mail.ru</email> <dataForReceipt> <phone>+79999999999</phone> <email>test@mail.ru</email> </dataForReceipt> </third> </request>
Описание параметров
Request
Request | |||
---|---|---|---|
Параметр | Обязательный | Тип | Описание |
appkey | Да | string | Ключ приложения. Для получения ключа необходимо пройти регистрацию |
sessionID | Да | string | ID сессии. Для получения сессии необходимо воспользоваться сервисом "Авторизация пользователя" |
orderID | Да | string | Номер заказа, по которому необходимо изменить получателя |
receiver | Да | Member | Данные нового получателя |
changeOrderPayer | Да | boolean | Флаг, обозначающий необходимость изменения плательщика по заказу. Возможные значения:
|
storePayer | Да | string | Сторона, берущая на себя расходы на платное хранение. Возможные значения:
|
third | Нет* | Member | Данные третьего лица *Если значение параметра "storePayer" - "third", то параметр является обязательным |
Member
Member | |||
---|---|---|---|
Параметр | Обязательный | Тип | Описание |
counteragentID | Нет* | integer | ID контрагента из адресной книги. *Обязательно должен быть передан один из взаимоисключающих параметров: "counteragentID" или "counteragent" |
counteragent | Нет* | Counteragent | Данные контрагента. *Обязательно должен быть передан один из взаимоисключающих параметров: "counteragentID" или "counteragent" |
contactIDs | Нет* | array of integers | Список ID контактных лиц из адресной книги. Максимальное количество элементов в массиве - 3. *Обязательно должен быть передан один из взаимоисключающих параметров: "contactIDs" или "contactPersons" |
contactPersons | Нет* | array of contactPersons | Данные контактных лиц. Максимальное количество элементов в массиве - 3. *Обязательно должен быть передан один из взаимоисключающих параметров: "contactIDs" или "contactPersons" |
contactPersons.name | Да | string | Имя контактного лица |
phoneIDs | Нет* | array of integers | Список ID телефонных номеров из адресной книги. Максимальное количество элементов в массиве - 3. *Обязательно должен быть передан один из взаимоисключающих параметров: "phoneIDs" или "phoneNumbers" |
phoneNumbers | Нет* | array of phoneNumbers | Список телефонных номеров. Максимальное количество элементов в массиве - 3. *Обязательно должен быть передан один из взаимоисключающих параметров: "phoneIDs" или "phoneNumbers" |
phoneNumbers.number | Да | string | Номер телефона. Максимум 15 цифр |
phoneNumbers.ext | Нет | string | Добавочный номер. Максимум 5 цифр |
Нет | string | Электронный адрес заказчика перевозки. Максимум 128 символов | |
dataForReceipt | Нет | object | Контактные данные для отправки электронного чека плательщику-физическому лицу. Параметр используется в следующих случаях:
|
dataForReceipt.phone | Нет* | string | Номер телефона для отправки чека в формате "+79XXXXXXXXX" (где X - любая цифра) *Обязательно должен быть передан хотя бы один из параметров: "dataForReceipt.phone", "dataForReceipt.email" |
dataForReceipt.email | Нет* | string | Адрес электронной почты для отправки чека. Максимум 128 символов *Обязательно должен быть передан хотя бы один из параметров: "dataForReceipt.phone", "dataForReceipt.email" |
Counteragent
Counteragent | |||
---|---|---|---|
Параметр | Обязательный | Тип | Описание |
form | Да | string | UID организационно-правовой формы контрагента (ОПФ). Заполняется на основании "Справочника ОПФ" |
document | Нет* | object | Данные документа, удостоверяющего личность. Параметр используется только для физических лиц (то есть в тех случаях, когда в качестве значения параметра "form" передан UID ОПФ физического лица). *Если контрагент является физическим лицом, то параметр является обязательным |
document.type | Да | string | Тип документа. Доступные значения:
|
document.serial | Да* | string | Серия документа. *Для некоторых стран параметр не является обязательным и игнорируется |
document.number | Да | string | Номер документа. Формат номера зависит от страны |
inn | Нет* | integer | ИНН. Максимальная допустимая длина поля зависит от страны и ОПФ. Параметр используется только для юридических лиц (то есть в тех случаях, когда в качестве значения параметра "form" передан UID ОПФ юридического лица). *Если контрагент является юридическим лицом, то параметр является обязательным |
name | Да | string | Имя контрагента или наименование юридического лица |
juridicalAddress | Нет* | object | Юридический адрес. Параметр используется только для юридических лиц (то есть в тех случаях, когда в качестве значения параметра "form" передан UID ОПФ юридического лица). *Если контрагент является юридическим лицом, то параметр является обязательным |
juridicalAddress.search | Нет (1) | string | Адрес в виде произвольной строки. Минимум 2 символа, максимум - 1024 (2) |
juridicalAddress.street | Нет (1) | string | Код КЛАДР улицы (см. "Справочник улиц") (2) |
juridicalAddress.house | Нет (1) | string | Номер дома, включая литеру. Например, "13/А" (2). Максимум 7 символов |
juridicalAddress.building | Нет | string | Корпус (2). Максимум 5 символов |
juridicalAddress.structure | Нет | string | Строение (2). Максимум 7 символов |
juridicalAddress.flat | Нет | string | Номер квартиры/офиса. Допускается написание с буквой, например "222 А" (2). Максимум 5 символов |
Примечания:
|
Ответ метода
Пример ответа
{ "metadata":{ "status":200, "generated_at":"2019-11-18 12:52:26" }, "data":{ "status":"success", "foundAddresses":[ { "field":"receiver.counteragent.juridicalAddress", "source":"Омск, Ленина, 5", "result":"Россия, Омская обл, г Омск, ул Ленина, д 5" }, { "field":"third.counteragent.juridicalAddress", "source":"Новосибирск, Кутузова, 5", "result":"Россия, Новосибирская обл, г Новосибирск, ул Кутузова, д 5" } ] } }
<response> <metadata> <status>200</status> <generated_at>2019-11-18 12:52:26</generated_at> </metadata> <data> <status>success</status> <foundAddresses> <field>receiver.counteragent.juridicalAddress</field> <source>Омск, Ленина, 5</source> <result>Россия, Омская обл, г Омск, ул Ленина, д 5</result> </foundAddresses> <foundAddresses> <field>third.counteragent.juridicalAddress</field> <source>Новосибирск, Кутузова, 5</source> <result>Россия, Новосибирская обл, г Новосибирск, ул Кутузова, д 5</result> </foundAddresses> </data> </response>
Описание параметров
Response
Response | ||
---|---|---|
Параметр | Тип | Описание |
metadata | object | Системная информация |
metadata.status | integer | Эмуляция http-кода состояния. В случае успешного выполнения возвращается код "200". В случае ошибки - "400" |
metadata.generated_at | string | Дата и время генерации ответа сервера. Формат: "ГГГГ-ММ-ДД ЧЧ:ММ:СС" |
data | object | Подтверждение успешности операции |
data.status | string | Статус операции на английском языке. Возможное значение - "success" |
data.foundAddresses | array of FoundAddresses | Данные по найденным адресам. Параметр присутствует в ответе, только если в запросе был передан параметр "juridicalAddress.search" класса Counteragent |
FoundAddresses
FoundAddresses | ||
---|---|---|
Параметр | Тип | Описание |
field | string | Объект, в котором был передан параметр "search" |
source | string | Введённое значение |
result | string | Найденный адрес |
Обработка ошибок
Помимо общих ошибок API, в ответе метода могут присутствовать следующие ошибки:
Номер ошибки | http-код | Краткое описание ошибки | Детальное описание ошибки |
---|---|---|---|
610001 | 400 | По данному заказу изменение получателя недоступно | - |
610002 | 400 | По данному заказу изменение получателя недоступно | Изменение по данному заказу недоступно в связи с отсутствием доступа |
610003 | 400 | Указан анонимный контрагент | Данная операция невозможна для контрагента анонима |