ROSSKO API

version           http://api.rossko.ru

/GetCheckout


SOAP http://api.rossko.ru/service/v2.0/GetCheckout

Сервис для оформления заказа.

Параметры запроса

ПараметрТипОбязателенОписание
KEY1 string Да Ключ авторизации (1).
Можно получить в личном кабинете или через персонального менеджера. Пример: cba94510b02ecccef994b52711c84413
KEY2 string Да Ключ авторизации (2).
Можно получить в личном кабинете или через персонального менеджера. Пример: 8c7b4ba7acc716fe5bd7a80c513ad930
delivery array Да Содержит в себе информацию о доставке
delivery_id string Да Идентификатор доставки. Можно посмотреть в сервисе GetCheckoutDetails
city string Да Город. Поле является обязательным, если тип доставки не равен самовывозу.
street string Да Улица. Поле является обязательным, если тип доставки не равен самовывозу.
house string Дом
office string Квартира\офис
payment array Да Содержит в себе информацию о способе оплаты
payment_id integer Да Идентификатор оплаты. Можно посмотреть в сервисе GetCheckoutDetails
company_name string Да Наименование организации. Поле является обязательным, если тип оплаты - банковский платеж.
company_requisite string Да Реквизиты организации. Поле является обязательным, если тип оплаты - банковский платеж.
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 string Да Необходимое количество
comment string Комментарий к позиции в заказе. Ограничение 50 символов.

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

PHP1C
$connect = array(
'wsdl' => 'http://api.rossko.ru/service/GetCheckout',
'options' => array(
'connection_timeout' => 1,
'trace' => true
)
);

$param = array(
'KEY1' => 'you_key_1',
'KEY2' => 'you_key_2',
'delivery' => array(
'delivery_id' => '000000002',
'city' => 'Test city',
'street' => 'Test street',
'house' => '123'
),
'payment' => array(
'payment_id' => '1',
'company_name' => 'Test company',
'company_requisite' => 'Test company'
),
'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/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.city = "Новосибирск"; // Поле является обязательным, если тип доставки не равен самовывозу.
delivery.street = "Бетонная"; // Поле является обязательным, если тип доставки не равен самовывозу.
delivery.house = "14";
delivery.office = "222";

payment = Прокси.ФабрикаXDTO.Создать(ArrayOfPayment);
payment.payment_id = 1; // Идентификатор оплаты. Можно посмотреть в сервисе GetCheckoutDetails
payment.company_name = "ООО Р и К"; // Наименование организации. Поле является обязательным, если тип оплаты - банковский платеж.
payment.company_requisite = "ИНН 0123456789"; // Реквизиты организации. Поле является обязательным, если тип оплаты - банковский платеж.

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;
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: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: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 Да Идентификатор заказа
ItemsList array Содержит в себе элемент Item
Item array Да Содержит в себе список заказанной номенклатуры
partnumber string Да Артикул номенклатуры
brand string Да Наименование производителя
count integer Да Заказанное количество
price string Да Стоимость
total_price string Да Общая стоимость
delivery integer Да Дни доставки
ItemsErrorList array Содержит в себе элемент ItemError
ItemError array Да Содержит в себе список номенклатуры которую не удалось заказать
partnumber string Да Артикул номенклатуры
brand string Да Наименование производителя
count integer Да Заказанное количество
stock string Да Склад
message string Да Сообщение описывающее ошибку