Изменение получателя по заказу
Общие сведения
Сервис позволяет изменять получателя по уже оформленному заказу, при необходимости назначать его плательщиком по заказу, а также определять, кто берёт на себя расходы за платное хранение - отправитель, новый получатель или третье лицо.
Смена получателя доступна только отправителю или пользователю, имеющему полный доступ к отправителю (подробнее о полном доступе см. в описании параметра ответа info.accessLevel метода "Список контрагентов"). Для проверки возможности изменения получателя по заказу следует использовать метод "Доступные изменения".
Изменения вступают в силу не сразу. После дополнительной проверки заявка на внесение изменений может быть одобрена или отклонена. Проверить статус заявки можно при помощи метода "История изменений заказа".
Изменение получателя по заказу
Запрос метода
Структура запроса
Адрес метода: 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 контрагента из "Aдресной книги". *Обязательно должен быть передан один из взаимоисключающих параметров: "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 | Нет | Address | Юридический адрес. Параметр используется только для юридических лиц (то есть в тех случаях, когда в качестве значения параметра "form" передан UID ОПФ юридического лица) |
Address
Address | |||
---|---|---|---|
Параметр | Обязательный | Тип | Описание |
search | Нет* | string | Адрес в виде текста. Для передачи юридического адреса не следует использовать координаты. При передаче адреса в виде текста в запрос следует включать:
Элементы необходимо указывать через запятую, например "Омская обл., Омск, Ленина, 5". Минимальная длина поля - 2 символа, максимальная - 1024 символа *Передача параметра "search" или пары параметров "street" и "house" является обязательной.Параметр "search" и набор параметров "street", "house", "building" и "structure" являются взаимоисключающими |
street | Нет* | string | Код КЛАДР улицы (см. "Поиск КЛАДР") *Передача параметра "search" или пары параметров "street" и "house" является обязательнойПараметр "search" и набор параметров "street", "house", "building" и "structure" являются взаимоисключающими |
house | Нет* | string | Номер дома, включая литеру. Например, "13/А". Максимальная длина поля - 7 символов *Передача параметра "search" или пары параметров "street" и "house" является обязательнойПараметр "search" и набор параметров "street", "house", "building" и "structure" являются взаимоисключающими |
building | Нет | string | Корпус. Максимальная длина поля - 5 символов Параметр "search" и набор параметров "street", "house", "building" и "structure" являются взаимоисключающими |
structure | Нет | string | Строение. Максимальная длина поля - 7 символов Параметр "search" и набор параметров "street", "house", "building" и "structure" являются взаимоисключающими |
flat | Нет | string | Номер квартиры/офиса. Допускается написание с буквой, например "222 А". Максимальная длина поля - 5 символов *Если одновременно переданы параметры "search" и "flat", то в качестве номера квартиры/офиса будет использоваться значение параметра "flat" |
Ответ метода
Структура ответа
{ "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" Статус "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 | Указан анонимный контрагент | Данная операция невозможна для контрагента анонима |
610014 | 400 | Ошибка наложенного платежа | Получателем в заказе с наложенным платежом может быть только физическое лицо |