ROSSKO API

version           http://api.rossko.ru

/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>

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

ПараметрТипОбязателенОписание
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 Да Сообщение описывающее ошибку