Jak korzystać z API Shoper - Kompletny przewodnik
1. Wprowadzenie
API Shoper umożliwia zautomatyzowanie wielu operacji w Twoim sklepie internetowym, takich jak zarządzanie produktami, zdjęciami, zamówieniami i wieloma innymi elementami. W tym artykule pokażę Ci krok po kroku, jak połączyć się z API Shoper oraz wykonać podstawowe operacje, takie jak dodawanie produktów, zarządzanie zdjęciami i przypisywanie produktów powiązanych.
2. Autoryzacja - Uzyskanie Access Token
Aby korzystać z API Shoper, najpierw musisz uzyskać access token:
POST https://twojsklep.shoper.pl/webapi/oauth/token
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials&client_id=TWOJE_CLIENT_ID&client_secret=TWOJE_CLIENT_SECRET
Przykład w PHP:
<?php
$client_id = 'TWOJE_CLIENT_ID';
$client_secret = 'TWOJE_CLIENT_SECRET';
$ch = curl_init('https://twojsklep.shoper.pl/webapi/oauth/token');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
'grant_type' => 'client_credentials',
'client_id' => $client_id,
'client_secret' => $client_secret
]));
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
echo 'Access token: ' . $data['access_token'];
?>
W odpowiedzi otrzymasz token, który wykorzystasz do autoryzacji dalszych zapytań.
3. Dodawanie nowego produktu
Po uzyskaniu tokena, możesz dodać nowy produkt:
POST https://twojsklep.shoper.pl/webapi/rest/products
Authorization: Bearer ACCESS_TOKEN
Content-Type: application/json
{
"product_name": "Nowy produkt",
"price": 99.99,
"stock": {
"stock_type": "A",
"quantity": 10
},
"categories": [
{ "category_id": 1 }
],
"description": "Opis produktu"
}
Przykład w PHP:
<?php
$access_token = 'ACCESS_TOKEN';
$data = [
"product_name" => "Nowy produkt",
"price" => 99.99,
"stock" => [
"stock_type" => "A",
"quantity" => 10
],
"categories" => [
["category_id" => 1]
],
"description" => "Opis produktu"
];
$ch = curl_init('https://twojsklep.shoper.pl/webapi/rest/products');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer $access_token",
"Content-Type: application/json"
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
4. Dodawanie zdjęcia do produktu
Aby dodać zdjęcie do wcześniej utworzonego produktu:
POST https://twojsklep.shoper.pl/webapi/rest/products/{product_id}/images
Authorization: Bearer ACCESS_TOKEN
Content-Type: application/json
{
"image": "BASE64_ENCODED_IMAGE"
}
Przykład w PHP:
<?php
$access_token = 'ACCESS_TOKEN';
$product_id = 123; // ID produktu
$image_path = 'sciezka/do/zdjecia.jpg';
// Wczytanie i zakodowanie zdjęcia w base64
$image_data = base64_encode(file_get_contents($image_path));
$ch = curl_init("https://twojsklep.shoper.pl/webapi/rest/products/{$product_id}/images");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer $access_token",
"Content-Type: application/json"
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
'image' => $image_data
]));
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
5. Dodawanie produktów powiązanych
Możesz przypisać produkty powiązane do danego produktu:
POST https://twojsklep.shoper.pl/webapi/rest/products/{product_id}/related_products
Authorization: Bearer ACCESS_TOKEN
Content-Type: application/json
{
"related": [
{ "product_id": 123 },
{ "product_id": 456 }
]
}
Przykład w PHP:
<?php
$access_token = 'ACCESS_TOKEN';
$product_id = 123; // ID produktu głównego
$data = [
"related" => [
["product_id" => 123],
["product_id" => 456]
]
];
$ch = curl_init("https://twojsklep.shoper.pl/webapi/rest/products/{$product_id}/related_products");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer $access_token",
"Content-Type: application/json"
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
6. Usuwanie zdjęć z produktu
Aby usunąć zdjęcie przypisane do produktu:
DELETE https://twojsklep.shoper.pl/webapi/rest/products/{product_id}/images/{image_id}
Authorization: Bearer ACCESS_TOKEN
7. Podsumowanie
Dzięki API Shoper możesz skutecznie zautomatyzować wiele procesów w swoim sklepie internetowym. W tym przewodniku poznaliśmy podstawy autoryzacji, dodawania produktów, zarządzania zdjęciami oraz przypisywania produktów powiązanych. W kolejnych wpisach przyjrzymy się bardziej zaawansowanym funkcjom API!
Komentarze
Prześlij komentarz