وب سرویس اضافه کردن محصول (غیر وردپرس) به گرند بازار
وب سرویس اضافه کردن محصولات سایتهای غیروردپرسی به گرند بازار
این مستند، نحوهی استفاده از سرویسهای گرند بازار را توضیح میدهد. برای پیادهسازی، شما نیاز دارید تا ابتدا دستهبندی محصولات را همسانسازی کنید و سپس محصولات خود را ایجاد یا بهروزرسانی نمایید. در صورت نیاز، امکان حذف محصولات نیز فراهم است. برای پیاده سازی وب سرویس میتوانید از نمونه کدهایی که در ادامه در همین مستند آورده شده استفاده کنید.
مراحل کلی پیادهسازی¶
- فراخوانی سرویس همسانسازی دستهبندی: ارسال دستهبندیهای محصولات توسط فروشنده.
- فراخوانی سرویس ایجاد یا بهروزرسانی محصولات: ارسال اطلاعات محصولات توسط فروشنده.
دسترسی به سرویسها¶
توکن دسترسی¶
برای استفاده از وبسرویسهای گرند بازار، به یک توکن احراز هویت نیاز دارید. برای دریافت این توکن، لطفاً با پشتیبانی تماس بگیرید.
نحوهی استفاده از توکن¶
توکن احراز هویت باید در هدر درخواست به صورت زیر قرار بگیرد:
همسان سازی دستهبندی محصولات¶
Endpoint :
ساختار Request body :
{
"id": 0,
"name": "string",
"parent": 0,
"children": [
{
"id": 0,
"name": "string",
"parent": 0,
}
]
}
هدرهای درخواست :
پاسخ موفق :
Field | Type | Description |
---|---|---|
"id": 0 | Integer | شناسه دستهبندی فروشنده |
"name": "string" | string | نام دستهبندی فروشنده |
"parent": 0 | Integer | Null |
"children": [ { "id": 0, "name": "string", "parent": 0,} ] }] |
json | شناسه دستهبندی کودک نام دستهبندی کودک شناسه دستهبندی والد |
درخواست نمونه :
cURL (bash)
curl -X 'POST' \
'https://grandbazaar-backend.darkube.app/api/v1/external/sync-categories/' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'X-CSRFTOKEN: x4EJodrVM4YQtKbaAmKAJcYle8fcCeYTDw7rcF3oYrmoaZIKtG59Fuda5G3mFhAd' \
-d '{
"id": 0,
"name": "string",
"parent": 0,
"children": [
{
"id": 0,
"name": "string",
"parent": 0,
}
]
}
Python (requests)
import requests
url = "https://grandbazaar-backend.darkube.app/api/v1/external/sync-categories/"
headers = {
"accept": "application/json",
"Content-Type": "application/json",
"Authorization": "Api-key {YourToken}"
}
data = {
"id": 0,
"name": "string",
"parent": 0,
"children": [
{
"id": 0,
"name": "string",
"parent": 0,
}
]
}
response = requests.post(url, json=data, headers=headers)
print(response.status_code, response.json())
JavaScript (Node.js – axios)
const axios = require('axios');
const url = 'https://grandbazaar-backend.darkube.app/api/v1/external/sync-categories/';
const headers = {
'accept': 'application/json',
'Content-Type': 'application/json',
'Authorization': 'Api-key {YourToken}'
};
const data = {
id: 0,
name: 'string',
parent: 0,
children: [
{
id: 0,
name: ‘string’,
parent: 0,
}
]
};
axios.post(url, data, { headers })
.then(response => {
console.log(response.status, response.data);
})
.catch(error => {
console.error(error);
});
PHP (cURL)
$curl = curl_init();
$data = json_encode([
"id" => 0,
"name" => "string",
"parent" => 0,
"children" => [
[
"id" => 0,
"name" => "string",
" parent " => 0
]
]]);
curl_setopt_array($curl, [
CURLOPT_URL => "https://grandbazaar-backend.darkube.app/api/v1/external/sync-categories/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"accept: application/json",
"Content-Type: application/json",
"Authorization: Api-key {YourToken}"
],
CURLOPT_POSTFIELDS => $data
);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
]);
ایجاد و یا بهروزرسانی محصولات¶
Endpoint :
ساختار Request body :
[
{
"id": 0,
"name": "string",
"regular_price": "string",
"sale_price": "string",
"product_url": "string",
"base_image_url": "string",
"images": [
"string"
],
"available": true,
"full_description": "string",
"stock_status": "string",
"stock": 0,
"seller": 0,
"categories": [
0
],
"currency": "IRR",
"price": "string"
}
]
هدرهای درخواست :
پاسخ موفق :
درخواست نمونه :
cURL (bash)
curl -X 'POST' \
'https://grandbazaar-backend.darkube.app/api/v1/external/create-or-update-products/' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'X-CSRFTOKEN: x4EJodrVM4YQtKbaAmKAJcYle8fcCeYTDw7rcF3oYrmoaZIKtG59Fuda5G3mFhAd' \
-d '{
"id": 0,
"name": "string",
"regular_price": "string",
"sale_price": "string",
"product_url": "string",
"base_image_url": "string",
"images": [
"string"
],
"available": true,
"full_description": "string",
"stock_status": "string",
"stock": 0,
"seller": 0,
"categories": [
0
],
"currency": "IRR",
"price": "string"
}'
Python (requests)
import requests
url = "https://grandbazaar-backend.darkube.app/api/v1/external/create-or-update-products/"
headers = {
"accept": "application/json",
"Content-Type": "application/json",
"Authorization": "Api-key {YourToken}"
}
data = {
"id": 0,
"name": "string",
"regular_price": "string",
"sale_price": "string",
"product_url": "string",
"base_image_url": "string",
"images": ["string"],
"available": True,
"full_description": "string",
"stock_status": "string",
"stock": 0,
"seller": 0,
"categories": [0],
"currency": "IRR",
"price": "string"
}
response = requests.post(url, json=data, headers=headers)
print(response.status_code, response.json())
JavaScript (Node.js - axios)
[
const axios = require('axios');
const url = 'https://grandbazaar-backend.darkube.app/api/v1/external/create-or-update-products/';
const headers = {
'accept': 'application/json',
'Content-Type': 'application/json',
'Authorization': 'Api-key {YourToken}'
};
const data = {
id: 0,
name: 'string',
regular_price: 'string',
sale_price: 'string',
product_url: 'string',
base_image_url: 'string',
images: ['string'],
available: true,
full_description: 'string',
stock_status: 'string',
stock: 0,
seller: 0,
categories: [0],
currency: 'IRR',
price: 'string'
};
axios.post(url, data, { headers })
.then(response => {
console.log(response.status, response.data);
})
.catch(error => {
console.error(error);
});
]
PHP (cURL)
$curl = curl_init();
$data = json_encode([
"id" => 0,
"name" => "string",
"regular_price" => "string",
"sale_price" => "string",
"product_url" => "string",
"base_image_url" => "string",
"images" => ["string"],
"available" => true,
"full_description" => "string",
"stock_status" => "string",
"stock" => 0,
"seller" => 0,
"categories" => [0],
"currency" => "IRR",
"price" => "string"
]);
curl_setopt_array($curl, [
CURLOPT_URL => "https://grandbazaar-backend.darkube.app/api/v1/external/create-or-update-products/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"accept: application/json",
"Content-Type: application/json",
"Authorization: Api-key {YourToken}"
],
CURLOPT_POSTFIELDS => $data
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
حذف محصولات¶
Endpoint :
ساختار Request body :
هدرهای درخواست :
پاسخ موفق :
Field | Type | Description |
---|---|---|
"ids": 0 | [integer] | لیستی از شناسه یکتاهای محصولات برای حذف |
درخواست نمونه :
cURL (bash)
curl -X 'DELETE' \
'https://grandbazaar-backend.darkube.app/api/v1/external/delete/' \
-H 'accept: */*' \
-H 'X-CSRFTOKEN: x4EJodrVM4YQtKbaAmKAJcYle8fcCeYTDw7rcF3oYrmoaZIKtG59Fuda5G3mFhAd'
Python (requests)
import requests
url = "https://grandbazaar-backend.darkube.app/api/v1/external/delete/"
headers = {
"accept": "*/*",
"Authorization": "Api-key {YourToken}"
}
data = {"ids": [0]}
response = requests.delete(url, json=data, headers=headers)
print(response.status_code, response.json())
JavaScript (Node.js - axios)
const axios = require('axios');
const url = 'https://grandbazaar-backend.darkube.app/api/v1/external/delete/';
const headers = {
'accept': '*/*',
'Authorization': 'Api-key {YourToken}'
};
const data = { ids: [0] };
axios.delete(url, { headers, data })
.then(response => {
console.log(response.status, response.data);
})
.catch(error => {
console.error(error);
});
PHP (cURL)
$curl = curl_init();
$data = json_encode(["ids" => [0]]);
curl_setopt_array($curl, [
CURLOPT_URL => "https://grandbazaar-backend.darkube.app/api/v1/external/delete/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"accept: */*",
"Authorization: Api-key {YourToken}"
],
CURLOPT_POSTFIELDS => $data
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;