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

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

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

Обновлено 26.06.2020
117 кб

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

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

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

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

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

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

Адрес метода: 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":{
            "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":{
            "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>
				<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>
				<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.street

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

juridicalAddress.house

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

juridicalAddress.building

НетstringКорпус

juridicalAddress.structure

НетstringСтроение

juridicalAddress.flat

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

Ответ метода

Пример ответа

{
   "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
ПараметрТипОписание
metadataobjectСистемная информация
metadata.statusinteger

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

metadata.generated_atstring

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

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

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

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

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

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

Номер ошибки

http-код

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

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

610001

400

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

-

610002

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

610003

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