Изменение плательщика по заказу
Общие сведения
Сервис позволяет изменять плательщика по уже оформленному заказу.Смена возможно только на контрагента, к которому у текущей учётной записи есть полный доступ (см. метод "Список контрагентов", описание параметра ответа "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" |
Обработка ошибок
Помимо общих ошибок API, в ответе метода могут присутствовать следующие ошибки:
Номер ошибки | http-код | Краткое описание ошибки | Детальное описание ошибки |
---|---|---|---|
611001 | 400 | По данному заказу изменение плательщика недоступно | - |
611002 | 400 | По данному заказу изменение плательщика недоступно | Изменение по данному заказу недоступно в связи с отсутствием доступа |
611003 | 400 | Необходимо указать накладную | - |
611004 | 400 | Данная накладная уже оплачена | - |