Инструкция по использованию API

Перед началом работы не забудьте добавить IP адрес, с которого будут производиться запросы, в список разрешенных адресов на странице API вашего личного кабинета.

Для примеров используется PHP библиотека "curl", если вам нужна техническая помощь по использованию API - отправьте нам запрос через форму обратной связи.

Содержание:


Логин (получение токена)

api/login

Создание сессии для пользователя API по ключу:

// укажите "Имя пользователя" и "Ключ" из личного кабинета 
$request = array(
'username' => 'Имя пользователя',
'key' => 'Ключ'
);
$curl = curl_init('https://spd-group.ru/index.php?route=api/login');

Если авторизация выполнена, в ответе вы получите api_token, который необходимо использовать для авторизации при дальнейших запросах в рамках текущей сессии.

Информация о товаре (поиск товаров)

api/product/getProduct

Метод принимает один из трех параметров - model (артикул), id (id товара) или name (наименование товара). Также отдельным параметром необходимо передать токен текущей сессии:

$token = '123456789'; // api_token полученный из запроса api/login
$request = array(
  // 'model' => '1049916',
  // 'id' => '6306',
  'name' => 'Вилочное масло RIDE Fork oil 20W. LAVR MOTO Ln7786 1л.( уп.16 шт)',
);
$curl = curl_init('https://spd-group.ru/index.php?route=api/product/getProduct&api_token=' . $token);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request, '', '&'));

В ответе будет отдан массив с информацией о найденном товаре (товарах, если найдено несколько).

Поиск товаров по категории

api/product/getProductsByCategoryName

Метод принимает параметр - category_name (наименование категории). Также отдельным параметром необходимо передать токен текущей сессии:

$token = '123456789'; // api_token полученный из запроса api/login
$request = array(
  'category_name' => 'Антифризы',
);	
$curl = curl_init('https://spd-group.ru/index.php?route=api/product/getProductsByCategoryName&api_token=' . $token);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request, '', '&'));

В ответе будет отдан массив с информацией о найденных товарах, которые привязаны к данной категории.

Добавление в корзину

api/cart/add

Метод принимает два параметр - product_id (id товара, его можно получить с помощью методов api/product/getProduct (по артикулу или наименованию) или api/product/getProductsByCategoryName). Также отдельным параметром необходимо передать токен текущей сессии:

$token = '123456789'; // api_token полученный из запроса api/login
$request = array(
  'product_id' => '7767',
  'quantity' => '10',
);
$curl = curl_init('https://spd-group.ru/index.php?route=api/cart/add&api_token=' . $token);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request, '', '&'));

Содержимое корзины

api/cart/products

Метод отдает содержимое корзины покупок текущей сессии, его можно использовать для проверки корзины перед заказом и для получения cart_id товара, который необходим для удаления товара из корзины. Также отдельным параметром необходимо передать токен текущей сессии:

$token = '123456789'; // api_token полученный из запроса api/login
$request = array();	
$curl = curl_init('https://spd-group.ru/index.php?route=api/cart/products&api_token=' . $token);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request, '', '&'));

Удаление товара из корзины

api/cart/remove

Метод принимает параметр - key (cart_id товара, который можно получить из метода api/cart/products). Также отдельным параметром необходимо передать токен текущей сессии:

$token = '123456789'; // api_token полученный из запроса api/login
$request = array(
  'key' => 5855 // cart_id товара для удаления из корзины
);	
$curl = curl_init('https://spd-group.ru/index.php?route=api/cart/remove&api_token=' . $token);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request, '', '&'));

Установка данных о покупателе

api/customer

Метод принимает данные о покупателе, минимально необходимые - Имя, Фамилия, Email, Телефон и Адрес (для оплаты). Укажите при запросе свои данные. Также отдельным параметром необходимо передать токен текущей сессии:

$token = '123456789'; // api_token полученный из запроса api/login
$request = array(
  'firstname' => 'Иван', // Имя
'lastname' => 'Иванов', // Фамилия
'email' => 'test@test.ru', // Электронная почта 'telephone' => '12345', // Контактный телефон 'payment_address' => 'Екатеринбург, ул. Такая-то 22' // Адрес (для доставки и оплаты) ); $curl = curl_init('https://spd-group.ru/index.php?route=api/customer&api_token=' . $token); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request, '', '&'));

Установка адреса для оплаты

api/payment/address

Формальная процедура необходимая для создания заказа. В метод необходимо передать параметры для регистрации адреса, в случае если заказ самовывозом - можно передать в параметры адрес и город произвольное значение. Код страны указывать "176", код геозоны - "2807". Также отдельным параметром необходимо передать токен текущей сессии:

$token = '123456789'; // api_token полученный из запроса api/login
$request = array(
  'firstname' => 'Иван', // Имя
  'lastname' => 'Иванов', // Фамилия
  'address_1' => 'ул. Такая-то 22', // Адрес
'city' => 'Екатеринбург', // Контактный телефон
'country_id' => '176' // Код страны
'zone_id' => '2807' // Код геозоны
); $curl = curl_init('https://spd-group.ru/index.php?route=api/payment/address&api_token=' . $token); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request, '', '&'));

Получение способов оплаты

api/payment/methods

Дополнительный метод для получения типов оплаты (для дальнейшей установки способа оплаты). Также отдельным параметром необходимо передать токен текущей сессии:

$token = '123456789'; // api_token полученный из запроса api/login
$request = array();
$curl = curl_init('https://spd-group.ru/index.php?route=api/payment/methods&api_token=' . $token);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request, '', '&'));

Установка способа оплаты

api/payment/method

Метод принимает параметр - payment_method (идентификатор способа оплаты, список доступных в данный момент способов оплаты можно получить методом api/payment/methods). Также отдельным параметром необходимо передать токен текущей сессии:

$token = '123456789'; // api_token полученный из запроса api/login
$request = array(
  'payment_method' => 'cheque' // способ оплаты, в примере "Оплата по счету"
);		
$curl = curl_init('https://spd-group.ru/index.php?route=api/payment/method&api_token=' . $token);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request, '', '&'));

Установка адреса для доставки

api/shipping/address

Формальная процедура необходимая для создания заказа. В метод необходимо передать параметры для регистрации адреса, в случае если заказ самовывозом - можно передать в параметры адрес и город произвольное значение. Код страны указывать "176", код геозоны - "2807". Также отдельным параметром необходимо передать токен текущей сессии:

$token = '123456789'; // api_token полученный из запроса api/login
$request = array(
  'firstname' => 'Иван', // Имя
  'lastname' => 'Иванов', // Фамилия
  'address_1' => 'ул. Такая-то 22', // Адрес
'city' => 'Екатеринбург', // Контактный телефон
'country_id' => '176' // Код страны
'zone_id' => '2807' // Код геозоны
); $curl = curl_init('https://spd-group.ru/index.php?route=api/shipping/address&api_token=' . $token);
curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request, '', '&'));

Получение способов доставки

api/shipping/methods

Дополнительный метод для получения типов доставки (для дальнейшей установки способа доставки). Также отдельным параметром необходимо передать токен текущей сессии:

$token = '123456789'; // api_token полученный из запроса api/login
$request = array();
$curl = curl_init('https://spd-group.ru/index.php?route=api/shipping/methods&api_token=' . $token);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request, '', '&'));

Установка способа доставки

api/shipping/method

Метод принимает параметр - shipping_method (идентификатор способа доставки, список доступных в данный момент способов доставки можно получить методом api/shipping/methods). Также отдельным параметром необходимо передать токен текущей сессии:

$token = '123456789'; // api_token полученный из запроса api/login
$request = array(
  'shipping_method' => 'flat.flat' // pickup.pickup - самовывоз, flat.flat - доставка
);		
$curl = curl_init('https://spd-group.ru/index.php?route=api/shipping/method&api_token=' . $token);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request, '', '&'));

Создание заказа

api/order/add

Метод создает заказ для текущей сессии.

Обратите внимание, для создания заказа предварительно необходимо выполнение следующих действий:
1) Добавление товаров в корзину
2) Установка данных о покупателе (api/customer)
3) Установка адреса оплаты (api/payment/address)
4) Установка способа оплаты (api/payment/method)
5) Установка адреса доставки (api/shipping/address)
6) Установка типа доставки (api/shipping/method)

Также отдельным параметром необходимо передать токен текущей сессии:

$token = '123456789'; // api_token полученный из запроса api/login
$request = array();		
$curl = curl_init('https://spd-group.ru/index.php?route=api/order/add&api_token=' . $token);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($request, '', '&'));