/GetCheckout
SOAP http://api.rossko.ru/service/v2.1/GetCheckout
Сервис для оформления заказа.
При выборе курьерской доставки стоит помнить, что существует минимальная сумма для её осуществления.
Информацию о минимальной сумме смотрите на портале своего филиала или в ответном сообщении сервиса (в случае неудачи).
Для тестирования данного сервиса включите соответствующую настройку в настройках личного кабинета на портале.
Все заказы совершенные в режиме тестирования будут удалены через 24 часа. Информация о таких заказах доступна исключительно в сервисе GetOrders.
Нигде более она фигурировать не будет.
Параметры запроса
Параметр | Тип | Обязателен | Описание |
KEY1 | string | Да |
Ключ авторизации (1). Можно получить в личном кабинете или через персонального менеджера. Пример: cba94510b02ecccef994b52711c84413 |
KEY2 | string | Да |
Ключ авторизации (2). Можно получить в личном кабинете или через персонального менеджера. Пример: 8c7b4ba7acc716fe5bd7a80c513ad930 |
delivery | array | Да | Содержит в себе информацию о доставке |
delivery_id | integer | Да |
Идентификатор доставки. Можно посмотреть в сервисе GetCheckoutDetails |
address_id | string |
Идентификатор адреса доставки. Поле является обязательным, если тип доставки не равен самовывозу. Можно посмотреть в сервисе GetCheckoutDetails |
|
payment | array | Да | Содержит в себе информацию о способе оплаты |
payment_id | integer | Да |
Идентификатор оплаты. Можно посмотреть в сервисе GetCheckoutDetails |
requisite_id | integer |
Идентификатор реквизитов. Поле является обязательным, если тип оплаты - оплата картой и тип доставки не равен самовывозу. Можно посмотреть в сервисе GetCheckoutDetails |
|
contact | array | Да | Содержит в себе информацию о контактных данных |
name | string | Да | ФИО покупателя |
phone | string | Да | Контактный номер |
comment | string | Комментарий к заказу для оператора | |
delivery_parts | boolean | Да | Доставлять заказ по частям или нет |
PARTS | array | Да | Содержит в себе элемент Part |
Part | array | Да | Содержит в себе список заказываемой номенклатуры |
partnumber | string | Да | Артикул номенклатуры. Можно посмотреть в сервисе GetSearch |
brand | string | Да | Наименование производителя. Можно посмотреть в сервисе GetSearch |
stock | string | Да | Необходимый склад. Можно посмотреть в сервисе GetSearch |
count | integer | Да | Необходимое количество |
comment | string | Комментарий к позиции в заказе. Ограничение 50 символов. |
Пример запроса
PHP1C$connect = array(
'wsdl' => 'http://api.rossko.ru/service/v2.1/GetCheckout',
'options' => array(
'connection_timeout' => 1,
'trace' => true
)
);
$param = array(
'KEY1' => 'you_key_1',
'KEY2' => 'you_key_2',
'delivery' => array(
'delivery_id' => '000000002',
'address_id' => '112233'
),
'payment' => array(
'payment_id' => '1',
'requisite_id' => '112233'
),
'contact' => array(
'name' => 'Your name',
'phone' => 'Your phone',
'comment' => 'My first test order'
),
'delivery_parts' => true,
'PARTS' => array(
array(
'partnumber' => 'BPR6E',
'brand' => 'NGK',
'stock' => 'HST375',
'count' => '1',
'comment' => 'Item comment'
),
array(
'partnumber' => '333114',
'brand' => 'KYB',
'stock' => 'HST125',
'count' => '2',
'comment' => 'Item comment'
)
)
);
$query = new SoapClient($connect['wsdl'], $connect['options']);
$result = $query->GetCheckout($param);
print_r($result);
Попытка
СсылкаНаВебСервис = "http://api.rossko.ru/service/v2.1/GetCheckout?wsdl";
ОпределениеСсылки = Новый WSОпределения(СсылкаНаВебСервис);
URIПространстваИмен = ОпределениеСсылки.Сервисы[0].URIПространстваИмен;
Прокси = Новый WSПрокси(ОпределениеСсылки, URIПространстваИмен, "Checkout", "CheckoutSoap");
Исключение
Прокси = Неопределено;
КонецПопытки;
Если Прокси <> Неопределено Тогда
KEY1 = "you_key_1";
KEY2 = "you_key_2";
// Типы значений параметров
ArrayOfDelivery = Прокси.ФабрикаXDTO.Тип(URIПространстваИмен, "ArrayOfDelivery");
ArrayOfPayment = Прокси.ФабрикаXDTO.Тип(URIПространстваИмен, "ArrayOfPayment");
ArrayOfContact = Прокси.ФабрикаXDTO.Тип(URIПространстваИмен, "ArrayOfContact");
ArrayOfParts = Прокси.ФабрикаXDTO.Тип(URIПространстваИмен, "ArrayOfParts");
Part = Прокси.ФабрикаXDTO.Тип(URIПространстваИмен, "Part");
// Входные параметры
delivery = Прокси.ФабрикаXDTO.Создать(ArrayOfDelivery);
delivery.delivery_id= "000000001"; // Идентификатор доставки. Можно посмотреть в сервисе GetCheckoutDetails
delivery.address_id = "112233"; // Идентификатор адреса доставки. Можно посмотреть в сервисе GetCheckoutDetails
payment = Прокси.ФабрикаXDTO.Создать(ArrayOfPayment);
payment.payment_id = 1; // Идентификатор оплаты. Можно посмотреть в сервисе GetCheckoutDetails
payment.requisite_id = 112233; // Идентификатор реквизитов. Можно посмотреть в сервисе GetCheckoutDetails
contact = Прокси.ФабрикаXDTO.Создать(ArrayOfContact);
contact.name = "Иванов И.И.";
contact.phone = "+7-222-333-2233";
contact.comment = "Любой ваш комментарий";
delivery_parts = Истина;
// Это код для заполнения табличной части по товару. При количестве номенклатуры больше 1 - ставить внутрь цикла по ТЧ. Например как в закоментированом коде.
PARTS = Прокси.ФабрикаXDTO.Создать(ArrayOfParts); // Список заказываемой номенклатуры (PARTS)
//Для каждого СтрокаТабличнойЧасти Из Заказ.Товары Цикл
СтрокаТЧ = Прокси.ФабрикаXDTO.Создать(Part);
СтрокаТЧ.partnumber = "333114"; // Артикул номенклатуры. Можно посмотреть в сервисе GetSearch
СтрокаТЧ.brand = "KYB"; // Наименование производителя. Можно посмотреть в сервисе GetSearch
СтрокаТЧ.stock = "HST154"; // Необходимый склад. Можно посмотреть в сервисе GetSearch
СтрокаТЧ.count = 2;
СтрокаТЧ.comment = "Комментарий к строке";
PARTS.Part.Добавить(СтрокаТЧ);
//КонецЦикла;
// Окончание заполнения строки ТЧ
Результат = Прокси.GetCheckout(KEY1,KEY2,delivery,payment,contact,delivery_parts,PARTS);
Если Результат.success = Истина Тогда
// Заказ оформлен. Обрабатываем ответ
Иначе
// Не оформлено. Смотрим причины в Результат.message
КонецЕсли;
КонецЕсли;
Ответ
200:Стандартный ответ
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://api.rossko.ru/">
<SOAP-ENV:Body>
<ns1:GetCheckoutResponse>
<ns1:CheckoutResult>
<ns1:success>true</ns1:success>
<ns1:OrderIDS>
<ns1:id>1234567</ns1:id>
</ns1:OrderIDS>
<ns1:DeliveryCost>
<ns1:cost>0</ns1:cost>
</ns1:DeliveryCost>
<ns1:ItemsList>
<ns1:Item>
<ns1:partnumber>IQ16TT#4</ns1:partnumber>
<ns1:brand>Denso</ns1:brand>
<ns1:count>1</ns1:count>
<ns1:price>363.13</ns1:price>
<ns1:total_price>363.13</ns1:total_price>
<ns1:delivery>5</ns1:delivery>
<ns1:deliveryStart>2020-01-31T09:00:00</ns1:deliveryStart>
<ns1:deliveryEnd>2020-01-31T14:10:00</ns1:deliveryEnd>
<ns1:comment>comment 321</ns1:comment>
<ns1:order_id>1234567</ns1:order_id>
<ns1:extra>0</ns1:extra>
<ns1:description>Москва</ns1:description>
<ns1:stock_address>Новосибирск, ул. Бетонная, 14А</ns1:description>
</ns1:Item>
</ns1:ItemsList>
<ns1:ItemsErrorList>
<ns1:ItemError>
<ns1:partnumber>IQ16TT#4</ns1:partnumber>
<ns1:brand>Denso</ns1:brand>
<ns1:count>1</ns1:count>
<ns1:stock>HST123</ns1:stock>
<ns1:message>Нет в наличии</ns1:message>
</ns1:ItemError>
</ns1:ItemsErrorList>
</ns1:CheckoutResult>
</ns1:GetCheckoutResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<SOAP-ENV:Body>
<ns1:GetCheckoutResponse>
<ns1:CheckoutResult>
<ns1:success>true</ns1:success>
<ns1:OrderIDS>
<ns1:id>1234567</ns1:id>
</ns1:OrderIDS>
<ns1:DeliveryCost>
<ns1:cost>0</ns1:cost>
</ns1:DeliveryCost>
<ns1:ItemsList>
<ns1:Item>
<ns1:partnumber>IQ16TT#4</ns1:partnumber>
<ns1:brand>Denso</ns1:brand>
<ns1:count>1</ns1:count>
<ns1:price>363.13</ns1:price>
<ns1:total_price>363.13</ns1:total_price>
<ns1:delivery>5</ns1:delivery>
<ns1:deliveryStart>2020-01-31T09:00:00</ns1:deliveryStart>
<ns1:deliveryEnd>2020-01-31T14:10:00</ns1:deliveryEnd>
<ns1:comment>comment 321</ns1:comment>
<ns1:order_id>1234567</ns1:order_id>
<ns1:extra>0</ns1:extra>
<ns1:description>Москва</ns1:description>
<ns1:stock_address>Новосибирск, ул. Бетонная, 14А</ns1:description>
</ns1:Item>
</ns1:ItemsList>
<ns1:ItemsErrorList>
<ns1:ItemError>
<ns1:partnumber>IQ16TT#4</ns1:partnumber>
<ns1:brand>Denso</ns1:brand>
<ns1:count>1</ns1:count>
<ns1:stock>HST123</ns1:stock>
<ns1:message>Нет в наличии</ns1:message>
</ns1:ItemError>
</ns1:ItemsErrorList>
</ns1:CheckoutResult>
</ns1:GetCheckoutResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Параметры ответа
Параметр | Тип | Обязателен | Описание |
success | boolean | Да | Результат запроса |
message | string | Сообщение описывающее ошибку | |
OrderIDS | array |
Список идентификаторов сформированных заказов. Заказы с авиадоставкой\дополнительным складом разбиваются на несколько |
|
id | integer | Да | Идентификатор заказа |
DeliveryCost | array | Список стоимости доставки. Соответствует порядку списка OrderIDS | |
cost | string | Да | Стоимость доставки |
ItemsList | array | Содержит в себе элемент Item | |
Item | array | Да | Содержит в себе список заказанной номенклатуры |
partnumber | string | Да | Артикул номенклатуры |
brand | string | Да | Наименование производителя |
count | integer | Да | Заказанное количество |
price | string | Да | Стоимость |
total_price | string | Да | Общая стоимость |
stock | string | Да | Склад |
delivery | integer | Да | Дни доставки |
deliveryStart | date |
Товар может быть доставлен с указанной даты. Если дата отсутствует - значит выбранная доставка не распространяется на данный склад (применимо для дополнительных складов) |
|
deliveryEnd | date | Товар может быть доставлен до указанной даты | |
comment | string | Комментарий оставленный к позиции | |
order_id | integer | Да | Номер заказа, в котором находится позиция |
extra | integer | Да | Является ли склад дополнительным |
description | string | Описание склада | |
stock_address | string | Адрес склада, где сформирован заказ | |
ItemsErrorList | array | Содержит в себе элемент ItemError | |
ItemError | array | Да | Содержит в себе список номенклатуры которую не удалось заказать |
partnumber | string | Да | Артикул номенклатуры |
brand | string | Да | Наименование производителя |
count | integer | Да | Заказанное количество |
stock | string | Да | Склад |
comment | string | Комментарий оставленный к позиции | |
message | string | Да | Сообщение описывающее ошибку |