Поиск по сайту

API
Главная / API - Изменение получателя

Изменение получателя по заказу

Обновлено 08.08.2023
145 кб

Общие сведения

Сервис позволяет изменять получателя по уже оформленному заказу, при необходимости назначать его плательщиком по заказу, а также определять, кто берёт на себя расходы за платное хранение - отправитель, новый получатель или третье лицо.

Смена получателя доступна только отправителю или пользователю, имеющему полный доступ к отправителю (подробнее о полном доступе см. в описании параметра ответа 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ДаstringID сессии. Для получения сессии необходимо воспользоваться сервисом "Авторизация пользователя"

orderID

ДаstringНомер заказа, по которому необходимо изменить получателя

receiver

ДаMemberДанные нового получателя

changeOrderPayer

Даboolean

Флаг, обозначающий необходимость назначить нового получателя плательщиком по заказу.

Возможные значения:

  • "true" - назначить нового получателя плательщиком;
  • "false" - не менять плательщика

storePayer

Даstring

Сторона, берущая на себя расходы на платное хранение.

Возможные значения:

  • "sender" - отправитель;
  • "receiver" - получатель;
  • "third" - третье лицо. В случае передачи данного значения, параметр "third" является обязательным

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 цифр

email

НетstringЭлектронный адрес заказчика перевозки. Максимум 128 символов

dataForReceipt

Нетobject

Контактные данные для отправки электронного чека плательщику-физическому лицу. Параметр используется в следующих случаях:

  1. Если новый получатель является физическим лицом и будет выступать в качестве плательщика по заказу (значение параметра запроса "changeOrderPayer" - "true", в качестве значения параметра запроса "receiver.counteragent.form" передан UID ОПФ физического лица).
  2. Плательщик, берущий на себя расходы на платное хранение, не выступает в качестве отправителя/получателя заказа и является физическим лицом(значение параметра запроса "storePayer" - "third", в качестве значения параметра запроса "third.counteragent.form" передан UID ОПФ физического лица)
dataForReceipt.phoneНет*string

Номер телефона для отправки чека в формате "+79XXXXXXXXX" (где X - любая цифра)

*Обязательно должен быть передан хотя бы один из параметров: "dataForReceipt.phone", "dataForReceipt.email"

dataForReceipt.emailНет*string

Адрес электронной почты для отправки чека. Максимум 128 символов

*Обязательно должен быть передан хотя бы один из параметров: "dataForReceipt.phone", "dataForReceipt.email"

Counteragent

Counteragent

ПараметрОбязательныйТипОписание

form

ДаstringUID организационно-правовой формы контрагента (ОПФ), см. "Поиск ОПФ"

document

Нет*object

Данные документа, удостоверяющего личность. Параметр используется только для физических лиц (то есть в тех случаях, когда в качестве значения параметра "form" передан UID ОПФ физического лица).

*Если контрагент является физическим лицом, то параметр является обязательным

document.type

Даstring

Тип документа.

Доступные значения:

  • "passport" - паспорт;
  • "drivingLicence" - водительское удостоверение;
  • "foreignPassport" - заграничный паспорт. Для некоторых стран значение "foreignPassport" недоступно

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 символов

Примечания:

  1. Обязательно должен быть передан адрес - в виде строки ("juridicalAddress.search") или набора параметров (в этом случае обязательными являются параметры "juridicalAddress.street" и "juridicalAddress.house"). 
  2. Передача параметра "juridicalAddress.search" исключает передачу параметров "juridicalAddress.street", "juridicalAddress.house", "juridicalAddress.building", "juridicalAddress.structure", но допускает передачу параметра "juridicalAddress.flat" (в этом случае в качестве номера квартиры/офиса будет использоваться значение параметра "juridicalAddress.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
ПараметрТипОписание
metadataobjectСистемная информация
metadata.statusinteger

Эмуляция http-кода состояния. В случае успешного выполнения возвращается код "200". В случае ошибки - "400"

metadata.generated_atstring

Дата и время генерации ответа сервера.

Формат: "ГГГГ-ММ-ДД ЧЧ:ММ:СС"

dataobjectПодтверждение успешности операции
data.statusstring

Статус операции на английском языке. Возможное значение - "success"

Статус "success" означает, что заявка на внесение изменений была принята. После дополнительной проверки заявка может быть одобрена или отклонена. Проверить статус заявки можно при помощи метода "История изменений заказа". 
data.foundAddressesarray of FoundAddressesДанные по найденным адресам. Параметр присутствует в ответе, только если в запросе был передан параметр "juridicalAddress.search" класса Counteragent

FoundAddresses
FoundAddresses
ПараметрТипОписание
fieldstringОбъект, в котором был передан параметр "search"
sourcestring

Введённое значение

resultstring

Найденный адрес

Обработка ошибок

Помимо общих ошибок API, в ответе метода могут присутствовать следующие ошибки:

Номер ошибки

http-код

Краткое описание ошибки

Детальное описание ошибки

610001

400

По данному заказу изменение получателя недоступно

-

610002

400По данному заказу изменение получателя недоступноИзменение по данному заказу недоступно в связи с отсутствием доступа

610003

400Указан анонимный контрагентДанная операция невозможна для контрагента анонима

610014

400Ошибка наложенного платежаПолучателем в заказе с наложенным платежом может быть только физическое лицо