Инструкция по использованию 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, '', '&'));