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

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

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

Обновлено 10.09.2020
144 кб

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

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

Для проверки возможности изменения получателя следует использовать метод "Проверка возможности изменения заказа".

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

Запрос метода

Пример запроса 

Адрес метода: 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":"7800000000004380000000000",
            "house":"4",
            "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"
      }
   },
   "changeOrderPayer":true,
   "storePayer":"third",
   "third":{
      "counteragentID":456783515,
      "counteragent":{
         "form":"0x8F51001438C4D49511DBD774581EDB80",
         "document":{
            "type":"passport",
            "serial":"1111",
            "number":"123456"
         },
         "inn":1234567890,
         "name":"Ромашка",
         "juridicalAddress":{
            "search":"Новосибирск, Кутузова, 5",
            "street":"7800000000004380000000000",
            "house":"4",
            "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>7800000000004380000000000</street>
            <house>4</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>
   </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>7800000000004380000000000</street>
            <house>4</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 контрагента из адресной книги.

*Обязательно должен быть передан один из взаимоисключающих параметров: "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 символа, максимум - 1024 (2)

juridicalAddress.street

Нет (1)string

Код КЛАДР улицы (см. "Справочник улиц") (2)

juridicalAddress.house

Нет (1)string

Номер дома, включая литеру. Например, "13/А" (2)

juridicalAddress.building

НетstringКорпус (2)

juridicalAddress.structure

НетstringСтроение (2)

juridicalAddress.flat

НетstringНомер квартиры/офиса. Допускается написание с буквой, например "222 А" (2)

Примечания:

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

data.foundAddressesarray of FoundAddressesДанные по найденным адресам. Параметр присутствует в ответе, только если в запросе был передан параметр "juridicalAddress.search"

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

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

resultstring

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

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

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

Номер ошибки

http-код

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

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

610001

400

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

-

610002

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

610003

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