Изменение получателя по заказу
Общие сведения
Сервис позволяет изменять получателя по уже оформленному заказу, при необходимости назначать его плательщиком по заказу, а также определять, кто берёт на себя расходы за платное хранение - отправитель, новый получатель или третье лицо.
Смена получателя доступна только отправителю или пользователю, имеющему полный доступ к отправителю (подробнее о полном доступе см. в описании параметра ответа 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 | Нет | object | Юридический адрес. Параметр используется только для юридических лиц (то есть в тех случаях, когда в качестве значения параметра "form" передан UID ОПФ юридического лица) |
juridicalAddress.search | Нет (1) | string | Адрес в виде произвольной строки (2). Адрес может быть передан в виде текста. При передаче адреса в виде текста, помимо собственно адреса, в запрос следует включать наименование населённого пункта, элементы необходимо указывать через запятую, например, "Омск, Ленина, 5". Минимум 2 символа, максимум - 1024 |
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" Статус "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 | Ошибка наложенного платежа | Получателем в заказе с наложенным платежом может быть только физическое лицо |