Все примеры запросов в этой инструкции в формате Php для использования методом cURL в PHP
Запросы к сервису можно отправлять и методом HTTP (например Postman), в этом случае запросы должны быть в формате JSON.
Используем метод POST
1. Сначала проходим Авторизацию, где:
curl_setopt => Устанавливает параметр для сеанса CURL
ch => Дескриптор cURL, полученный из curl_init()
option => Устанавливаемый параметр CURLOPT_XXX
value => Значение параметра option
URL: https://cdek.orderadmin.ru/api/products/offer
Content type: application/json
При этом заголовок Accept необходимо сохранить
Информацию о ваших API ключах можете найти здесь.
$username = 'public key'; // ваш открытый ключ
$password = 'secret key'; // ваш закрытый ключ
$url = 'https://cdek.orderadmin.ru/api/раздел/подраздел?';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_POST,true);
curl_setopt($ch, CURLOPT_USERPWD, $username . ':' . $password);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Accept: application/json',
'Content-Type: application/json')
);
2. Пример запроса с данными товара в виде массива:
$post_data = [
'state' => 'normal', // Состояние предложения
'type' => 'simple', // Тип предложения - simple(обычный), обязательный параметр
'group-type' => '', //
'shop' => '34330', // Магазин, обязательный параметр
'name' => 'TEST2', // Название, обязательный параметр
'article' => '001663', // Артикул предложения
'extId' => '2-3', // Внешний ID предложения, обязательный параметр
'image' => '', // Изображение должно быть в http:// формате
'sku' => '', // Идентификатор товарной позиции, учетная единица, складской номер
'purchasingPrice' => '', // Закупочная цена
'price' => '100', // Цена
'weight' => '', // Вес в граммах
'dimensions' => // Габариты
[
'x' => '0', // Ширина в мм
'y' => '0', // Длина в мм
'z' => '0', // Глубина в мм
],
]
3. С параметром CURLOPT_POSTFIELDS загружаем данные нашего товара $post_data:
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$result = curl_exec($ch);
curl_close($ch);
echo($result);
4. В ответ получаем:
- или ошибку
'type' => 'http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html',
'title' => 'Internal Server Error',
'status' => 500,
'detail' => 'Input errors: array (
\'extId\' =>
array (
\'isEmpty\' => \'Value is required and can\\\'t be empty\',
- или данные созданного товара
[
'id' => '146134',
'article' => '001663',
'name' => 'TEST2',
'type' => 'simple',
'image' => NULL,
'barcodes' =>
[
],
'sku' => NULL,
'dimensions' =>
[
'x' => '0',
'y' => '0',
'z' => '0',
],
'weight' => NULL,
'purchasingPrice' => 0,
'price' => 100,
'state' => 'normal',
'created' =>
[
'date' => '2019-06-20 13:39:34.046106',
'timezone_type' => 3,
'timezone' => 'UTC',
],
'updated' =>
[
'date' => '2019-06-20 13:39:34.046109',
'timezone_type' => 3,
'timezone' => 'UTC',
],
'extId' => '2-3',
'eav' =>
[
],
'parent' => NULL,
'supplier' => NULL,
'currency' => NULL,
'_embedded' =>
[
'shop' =>
[
'name' => 'тестМагазинПресташоп',
'expirationDate' => NULL,
'id' => 34330,
'state' => 'active',
'created' =>
[
'date' => '2019-02-13 17:48:10.000000',
'timezone_type' => 1,
'timezone' => '+03:00',
],
'updated' =>
[
'date' => '2019-06-20 16:27:34.000000',
'timezone_type' => 1,
'timezone' => '+03:00',
],
'eav' =>
[
'shops-default-country' => '25',
'shops-default-warehouse' => '31',
],
'_embedded' =>
[
'owner' =>
[
'domain' => NULL,
'username' => NULL,
'email' => 'testPrestashop@test.com',
'name' => 'testPrestashop',
'allowedAdapters' =>
[
0 => '5',
],
'created' =>
[
'date' => '2019-02-13 16:35:35.000000',
'timezone_type' => 1,
'timezone' => '+03:00',
],
'expirationDate' => NULL,
'id' => 3620,
'state' => 'active',
'updated' =>
[
'date' => '2019-06-12 09:46:14.000000',
'timezone_type' => 1,
'timezone' => '+03:00',
],
'eav' =>
[
],
'client' => NULL,
'accessToken' => NULL,
'authorizationCode' => NULL,
'refreshToken' => NULL,
'parent' => NULL,
'roles' =>
[
],
'_links' =>
[
'self' =>
[
'href' => 'http://panel.orderadmin.ru/api/users/users/3620',
],
],
],
],
'_links' =>
[
'self' =>
[
'href' => 'http://panel.orderadmin.ru/api/products/shops/34330',
],
],
],
],
'_links' =>
[
'self' =>
[
'href' => 'http://panel.orderadmin.ru/api/products/offer/146134',
],
],
]
Выше описано как добавлять простые товары для Вашего магазина. Еще Orderadmin предлагает и более сложные товары, это:
- configurable - конфигурируемые товары,
- grouped - сгруппированные товары - это группы товаров, в котором клиент получает право выбрать атрибут(ы) товара, такие как цвет, размер или материал. Процесс создания сгруппированного товара такой же, как и для простого товара.
- virtual - виртуальные товары
- bundle -
Поддержка | VK | Telegram | Сайт | Оцените нашу работу
Статья помогла?
Отлично!
Спасибо за ваш отзыв
Извините, что не удалось помочь!
Спасибо за ваш отзыв
Комментарий отправлен
Мы ценим вашу помощь и постараемся исправить статью