Изменение плательщика по заказу
Общие сведения
Сервис позволяет изменять плательщика по уже оформленному заказу. Смена плательщика возможно, если у текущей учётной записи есть полный доступ к грузоотправителю или к новому плательщику (подробнее о полном доступе см. метод "Список контрагентов", описание параметра ответа "info.accessLevel").
Если необходимо изменить получателя по заказу и назначить его плательщиком, то следует использовать метод "Изменение получателя по заказу".
Для проверки возможности изменения плательщика следует использовать метод "Доступные изменения заказа".
Изменения вступают в силу не сразу. После дополнительной проверки заявка на внесение изменений может быть одобрена или отклонена. Проверить статус заявки можно при помощи метода "История изменений заказа".
Изменение плательщика по заказу
Запрос метода
Структура запроса
Адрес метода: https://api.dellin.ru/v3/orders/change_payer.json
{ "appkey":"00000000-0000-0000-0000-000000000000", "sessionID":"00000000-0000-0000-0000-000000000000", "orderID":"00000000", "counteragentUID":"0x8f51001438c4d49511dbd774581edb7a", "docUID": "0x81870050568388af11ea718b63f47df1", "contactIDs":[ 12345678, 78456123 ], "contactPersons":[ { "name":"Иван Иванович" }, { "name":"Петр Петрович" } ], "phoneIDs":[ 98765412, 65478921 ], "phoneNumbers":[ { "number":"79213332211", "ext":"0123" } ], "dataForReceipt":{ "phone":"+79999999999", "email":"test@mail.ru" } }
Адрес метода: https://api.dellin.ru/v3/orders/change_payer.xml
<request> <appkey>00000000-0000-0000-0000-000000000000</appkey> <sessionID>00000000-0000-0000-0000-000000000000</sessionID> <orderID>00000000</orderID> <counteragentUID>0x8f51001438c4d49511dbd774581edb7a</counteragentUID> <docUID>0x81870050568388af11ea718b63f47df1</docUID> <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> <dataForReceipt> <phone>+79999999999</phone> <email>test@mail.ru</email> </dataForReceipt> </request>
Описание параметров
Request
Request | |||
---|---|---|---|
Параметр | Обязательный | Тип | Описание |
appkey | Да | string | Ключ приложения. Для получения ключа необходимо пройти регистрацию |
sessionID | Да | string | ID сессии. Для получения сессии необходимо воспользоваться сервисом "Авторизация пользователя" |
orderID | Да | string | Номер заказа, по которому необходимо изменить плательщика |
counteragentUID | Да | string | UID контрагента У текущей учётной записи должен быть полный доступ к контрагенту или к грузоотправителю (см. метод "Список контрагентов", описание параметра ответа "info.accessLevel") |
docUID | Нет* | string | Номер накладной. *Если по заказу было создано несколько накладных, параметр является обязательным |
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 цифр |
dataForReceipt | Нет | object | Контактные данные для отправки электронного чека плательщику-физическому лицу. Параметр используется в случае, если плательщик является физическим лицом |
dataForReceipt.phone | Нет* | string | Номер телефона для отправки чека в формате "+79XXXXXXXXX" (где X - любая цифра) *Обязательно должен быть передан хотя бы один из параметров: "dataForReceipt.phone", "dataForReceipt.email" |
dataForReceipt.email | Нет* | string | Адрес электронной почты для отправки чека. Максимум 128 символов *Обязательно должен быть передан хотя бы один из параметров: "dataForReceipt.phone", "dataForReceipt.email" |
Ответ метода
Структура ответа
{ "metadata":{ "status":200, "generated_at":"2019-11-18 12:52:26" }, "data":{ "status":"success" } }
<response> <metadata> <status>200</status> <generated_at>2019-11-18 12:52:26</generated_at> </metadata> <data> <status>success</status> </data> </response>
Описание параметров
Response
Response | ||
---|---|---|
Параметр | Тип | Описание |
metadata | object | Системная информация |
metadata.status | integer | Эмуляция http-кода состояния. В случае успешного выполнения возвращается код "200". В случае ошибки - "400" |
metadata.generated_at | string | Дата и время генерации ответа сервера. Формат: "ГГГГ-ММ-ДД ЧЧ:ММ:СС" |
data | object | Подтверждение успешности операции |
data.status | string | Статус операции на английском языке. Возможное значение - "success" Статус "success" означает, что заявка на внесение изменений была принята. После дополнительной проверки заявка может быть одобрена или отклонена. Проверить статус заявки можно при помощи метода "История изменений заказа" |
Обработка ошибок
Помимо общих ошибок API, в ответе метода могут присутствовать следующие ошибки:
Номер ошибки | http-код | Краткое описание ошибки | Детальное описание ошибки |
---|---|---|---|
611001 | 400 | По данному заказу изменение плательщика недоступно | - |
611002 | 400 | По данному заказу изменение плательщика недоступно | Изменение по данному заказу недоступно в связи с отсутствием доступа |
611003 | 400 | Необходимо указать накладную | - |
611004 | 400 | Данная накладная уже оплачена | - |