این API برای دریافت لیست واریانت (اعتبار) های یک گیفت کارت استفاده میشود.
اطلاعات پایه
GET
/giftcard/variant-list
- نام API: لیست واریانت های محصول
- آدرس: /giftcard/variant-list
- متد: GET
پارامترهای درخواست
| نام | نوع | الزامی | توضیحات |
|---|---|---|---|
| sku | string | بله | شناسه محصول |
هدرها
| کلید | مقدار | توضیحات |
|---|---|---|
| Authorization | Bearer {token} | توکن احراز هویت |
فیلدهای پاسخ
| نام | نوع | توضیحات |
|---|---|---|
| sku | string | شناسه واریانت |
| name | string | نام واریانت |
| url | string | لینک واریانت |
| image_url | string | لینک تصویر واریانت |
| price | string | قیمت واریانت |
| price_currency | string | واحد پول |
| value | string | مقدار واریانت |
| max_order_per_item | integer | حداکثر تعداد سفارش در هر آیتم |
| stock_status | string | وضعیت موجودی (مقادیر ممکن: instant – تحویل آنی، manual – تحویل 1 ساعته، out_of_stock – اتمام موجودی) |
کدهای خطا
| کد خطا | توضیحات |
|---|---|
| missing_sku | پارامتر sku الزامی است |
| product_not_found | محصول یافت نشد |
| not_variable_product | محصول از نوع متغیر نیست |
پاسخهای ممکن
موفقیت (200 OK)
[
{
"sku": "VARIANT_SKU",
"name": "نام واریانت",
"url": "https://example.com/product/variant",
"image_url": "https://example.com/image.jpg",
"price": "100000",
"price_currency": "IRR",
"value": "مقدار واریانت",
"max_order_per_item": 5,
"stock_status": "instant"
}
]
مثالهای کد
cURL
curl -X GET "{base_url}/giftcard/variant-list?sku=PRODUCT_SKU" \
-H "Accept: application/json"
PHP
$sku = 'PRODUCT_SKU';
$url = "{base_url}/giftcard/variant-list?sku=" . urlencode($sku);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Accept: application/json'
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($httpCode === 200) {
$variants = json_decode($response, true);
print_r($variants);
} else {
echo "Error: " . $httpCode;
}
curl_close($ch);
ASP.NET
import requests
sku = "PRODUCT_SKU"
url = f"{base_url}/giftcard/variant-list?sku={sku}"
headers = {
"Accept": "application/json"
}
response = requests.get(url, headers=headers)
if response.status_code == 200:
variants = response.json()
print(variants)
else:
print(f"Error: {response.status_code}")
Python
import requests
sku = "PRODUCT_SKU"
url = f"{base_url}/giftcard/variant-list?sku={sku}"
headers = {
"Accept": "application/json"
}
response = requests.get(url, headers=headers)
if response.status_code == 200:
variants = response.json()
print(variants)
else:
print(f"Error: {response.status_code}")
Node.js
const axios = require('axios');
const sku = 'PRODUCT_SKU';
const url = `{base_url}/giftcard/variant-list?sku=${encodeURIComponent(sku)}`;
axios.get(url, {
headers: {
'Accept': 'application/json'
}
})
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error('Error:', error.response?.status || error.message);
});
Java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
public class VariantApiClient {
public static void main(String[] args) {
try {
String sku = "PRODUCT_SKU";
String encodedSku = URLEncoder.encode(sku, "UTF-8");
String urlString = "{base_url}/giftcard/variant-list?sku=" + encodedSku;
URL url = new URL(urlString);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setRequestProperty("Accept", "application/json");
int responseCode = connection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String inputLine;
StringBuilder response = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
} else {
System.out.println("Error: " + responseCode);
}
} catch (Exception e) {
System.out.println("Exception: " + e.getMessage());
}
}
}



















