مستندات وبسرویس

(v1.0)

نیاز به راهنمایی دارید؟

تیم پشتیبانی ما آماده کمک به شماست.

تماس با پشتیبانی

اندپوینت‌های محصولات

از اندپوینت‌های محصولات برای دریافت اطلاعات محصولات موجود در گیفت سیتی، قیمت‌ها و جزئیات آن‌ها استفاده کنید. این اندپوینت‌ها اطلاعات مورد نیاز برای نمایش محصولات در وب‌سایت یا اپلیکیشن شما را فراهم می‌کنند.

دریافت لیست محصولات
/api/v1/productsGET

این اندپوینت لیست تمام محصولات قابل دسترس را با اطلاعات پایه‌ای و امکان فیلترکردن و صفحه‌بندی ارائه می‌دهد. توجه کنید که این اندپوینت فقط اطلاعات پایه‌ای محصولات را برمی‌گرداند و برای دریافت جزئیات کامل باید از اندپوینت جزئیات محصول استفاده کنید.

پارامترها

نامنوعضروریتوضیحات
pagenumberخیرشماره صفحه (پیش‌فرض: 1)
pageSizenumberخیرتعداد محصولات در هر صفحه (پیش‌فرض: 10)
categorystringخیرفیلتر براساس دسته‌بندی محصول (GIFTCARD, PREMIUM, GAME, APP)
regionstringخیرفیلتر براساس منطقه محصول
searchstringخیرجستجو در نام و توضیحات محصول

مثال پاسخ

{
  "status": "success",
  "code": 200,
  "data": [
    {
      "id": 123,
      "name": "گیفت کارت استیم",
      "description": "خرید گیفت کارت استیم با تحویل آنی",
      "category": "GIFTCARD",
      "slug": "steam-giftcard",
      "image": "https://gift30t.com/images/products/steam.png",
      "regions": [
        {
          "id": 1,
          "name": "Global",
          "flag": "global"
        }
      ]
    }
  ],
  "meta": {
    "pagination": {
      "total": 24,
      "page": 1,
      "pageSize": 10,
      "totalPages": 3
    }
  }
}

دریافت محصولات بر اساس دسته‌بندی
/api/v1/products/category/:idGET

این اندپوینت لیست محصولات مربوط به یک دسته‌بندی خاص را با اطلاعات پایه‌ای ارائه می‌دهد. همانند اندپوینت لیست محصولات، این اندپوینت نیز فقط اطلاعات اصلی محصولات را برمی‌گرداند.

پارامترها

نامنوعضروریتوضیحات
idstringبلهشناسه دسته‌بندی (GIFTCARD, PREMIUM, GAME, APP)
pagenumberخیرشماره صفحه (پیش‌فرض: 1)
pageSizenumberخیرتعداد محصولات در هر صفحه (پیش‌فرض: 10)

مثال پاسخ

{
  "status": "success",
  "code": 200,
  "data": [
    {
      "id": 123,
      "name": "گیفت کارت استیم",
      "description": "خرید گیفت کارت استیم با تحویل آنی",
      "category": "GIFTCARD",
      "slug": "steam-giftcard",
      "image": "https://gift30t.com/images/products/steam.png",
      "regions": [
        {
          "id": 1,
          "name": "Global",
          "flag": "global"
        }
      ]
    }
  ],
  "meta": {
    "pagination": {
      "total": 15,
      "page": 1,
      "pageSize": 10,
      "totalPages": 2
    },
    "category": "GIFTCARD"
  }
}

دریافت جزئیات یک محصول
/api/v1/products/:idGET

این اندپوینت جزئیات کامل یک محصول خاص را بر اساس شناسه آن ارائه می‌دهد. برخلاف اندپوینت‌های لیست محصولات، این اندپوینت اطلاعات کامل محصول از جمله ویژگی‌های منطقه‌ها (properties) را برمی‌گرداند.

پارامترها

نامنوعضروریتوضیحات
idnumberبلهشناسه محصول

مثال پاسخ

{
  "status": "success",
  "code": 200,
  "data": {
    "id": 123,
    "name": "گیفت کارت استیم",
    "description": "خرید گیفت کارت استیم با تحویل آنی",
    "category": "GIFTCARD",
    "slug": "steam-giftcard",
    "image": "https://gift30t.com/images/products/steam.png",
    "content": "محتوای کامل و توضیحات بیشتر در مورد محصول...",
    "regions": [
      {
        "id": 1,
        "name": "Global",
        "flag": "global",
        "properties": [
          {
            "id": 101,
            "title": "10 دلاری",
            "price": 490000,
            "originalPrice": 510000,
            "stock_status": "INSTOCK"
          },
          {
            "id": 102,
            "title": "20 دلاری",
            "price": 980000,
            "originalPrice": 1020000,
            "stock_status": "INSTOCK"
          }
        ]
      }
    ],
    "requiredFields": [
      {
        "id": 1,
        "fieldName": "ایمیل",
        "fieldType": "EMAIL"
      }
    ],
    "faq": [
      {
        "title": "چگونه گیفت کارت را فعال کنم؟",
        "description": "برای فعال‌سازی گیفت کارت، کافیست به وب‌سایت استیم مراجعه کرده و..."
      }
    ]
  }
}

دریافت لیست دسته‌بندی‌ها
/api/v1/products/categoriesGET

این اندپوینت لیست تمام دسته‌بندی‌های محصولات را به همراه تعداد محصولات در هر دسته‌بندی ارائه می‌دهد.

مثال پاسخ

{
  "status": "success",
  "code": 200,
  "data": [
    {
      "id": "GIFTCARD",
      "name": "گیفت کارت",
      "count": 15
    },
    {
      "id": "PREMIUM",
      "name": "اشتراک پریمیوم",
      "count": 8
    },
    {
      "id": "GAME",
      "name": "بازی",
      "count": 12
    },
    {
      "id": "APP",
      "name": "اپلیکیشن",
      "count": 5
    }
  ]
}

نکات مهم

  • اطمینان حاصل کنید که X-API-KEY را در هدر تمام درخواست‌ها ارسال می‌کنید.
  • برای بهبود عملکرد، از پارامترهای صفحه‌بندی (page وpageSize) استفاده کنید.
  • توجه داشته باشید که اندپوینت‌های لیست محصولات فقط اطلاعات پایه‌ای را برمی‌گردانند. برای دریافت جزئیات کامل مانند قیمت‌ها و ویژگی‌ها، از اندپوینت جزئیات محصول استفاده کنید.
  • قیمت‌ها به تومان هستند و originalPrice قیمت قبل از تخفیف را نشان می‌دهد.
  • برای دریافت اطلاعات فیلدهای مورد نیاز برای ثبت سفارش، به requiredFields در پاسخ جزئیات محصول مراجعه کنید.