وب سرویس گوپس

استفاده بصورت اشتراک دیتابیس

ضمن سپاس و تشكر از همراهي و همكاري شما عزيزان با خانواده بزرگ فروتل،

کاربران با استفاده از این سرویس می تواند به صورت لحظه ای به اطلاعات محصولات سیستم بازاریابی فروتل دسترسی داشته و از این اطلاعات در سایت ها، اپ های موبایلی و برنامه های خود استفاده کند و با فروش این محصولات به کسب درآمد بپردازند.

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

 

تابع  Update :

این تابع ، تابعی میباشد که توسط آن کاربر میتواند آخرین تغییرات بانک اطلاعاتی را دریافت کند که این تابع شامل پارامترهای زیر میباشد .

api :

مقدار این پارامتر باید نام همان کلید Api باشد که توسط فروتل به شما داده شده است . (string)

ابتدا Api توسط سیستم اعتبارسنجی می‌شود و در صورت عدم تأیید سیستم خطا میدهد .

from :

تاریخی که میخواهید تغییرات از آن تاریخ به بعد را دریافت کنید که باید بصورت عددی 10 رقمی وارد شود. (integer)

To :

تاریخی که میخواهید تغییرات تا آن تاریخ را دریافت کنید که باید بصورت عددی 10 رقمی وارد شود. (integer)

  • توجه بفرمایید که در صورتی که اختلاف بین این 2 تاریخ بیش از 2 روز تنظیم شود سیستم خطا میدهد و تغییرات درصورتی دریافت می‌شود که این اختلاف بیش از 2 روز نباشد .

Count :

توسط این پارامتر میتوان مشخص کرد که تغییرات مربوط به چند محصول در صفحه نمایش داده شود. (integer)

nextLink :

درصورتی که در چند صفحه نمایش داده شود توسط این پارامتر میتوانید به بقیه نتایج دسترسی داشته باشید. (string)

برای اجرای این تابع میتوانند به مانند مثال زیر عمل کنید :

webaddress/web/site/update?api=testtesttesttesttesttesttesttest&from=1200005930&to=1200006005&count=1

مثلاً وقتی درخواست بالا ارسال می‌شود ، خروجی مانند خروجی زیر خواهد بود که شامل تغییرات روی محصولات بین تاریخ های وارد شده میباشد :

{
  "error": 0,
  "message": {
    "products": {
      "1": {
        "status": "update",
        "id": 1,
        "name": "لپ تاپ Asus",
        "price": 200000,
        "weight": 0,
        "image": "img-1.jpg",
        "shortDesc": "short desc",
        "longDesc": "long desc",
        "type": "physical",
        "porsant": 10,
        "frotelRank": 1,
        "buyType": 3,
        "active": true,
        "freeSend": false,
        "seller": {
          "id": 1,
          "name": "shop"
        },
        "location": {
          "provinceId": 25,
          "provinceName": "تهران",
          "cityId": 1,
          "cityName": "تهران",
          "lat": 0,
          "lng": 0
        },
       "attaches":
        [
          {
           "name": "image2",
           "url": "image2.jpg"
          }
        ],
        "images": 
        [
          "img-1.jpg"
        ],
        "discount": 
        [
          {
            "quantity": 1,
            "type": "percent",
            "value": 25,
            "buyType": 3,
            "dateStart": 1479328200,
            "dateEnd": 1479933000
          }
        ],
        "features": {
           "group": "مشخصات کلی",
           "items": 
           [
             {
               "key": "feature name",
               "val": "feature value"
             },
             {
               "key": "feature name 2",
               "val": "feature value 2"
             }
          ]
       }
    }
 },
      "nextLink": "2|1|2|3|JDkVXJDBkv|e030538580b78438ccd1857aa7c63552",
      "total": 2,
      "page": 1,
      "count": 1
   }
}


همانطور که مشاهده میکنید nextLink شامل رشته ای است که اگر پارامتر nextLink این تابع را با این رشته مقداردهی کنید میتوانید ادامه تغییرات را دریافت کنید .

همانطور که مشاهده میکنید total که مجموع تغییرات را نشان میدهد برابر با 2 است و در این صفحه فقط 1 تغییر (count) نمایش داده میشود . شماره صفحه را هم در مقابل page مشاهده میکنید .

استفاده بصورت Restful

ضمن سپاس و تشكر از همراهي و همكاري شما عزيزان با خانواده بزرگ فروتل،

کاربران با استفاده از این سرویس می تواند به صورت لحظه ای به اطلاعات محصولات سیستم بازاریابی فروتل دسترسی داشته و از این اطلاعات در سایت ها، اپ های موبایلی و برنامه های خود استفاده کند و با فروش این محصولات به کسب درآمد بپردازند.

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

آدرس های استفاده از این سرویس به صورت زیر است :

http://webservice1.link/ws/v2/rest/API_KEY

http://webservice2.link/ws/v2/rest/API_KEY

http://webservice3.link/ws/v2/rest/API_KEY

متدهای این سرویس به صورت زیر است :

توضیح نوع متد آدرس متد
لیست محصولات GET products/
جزئیات محصول با شناسه {id} GET product/{id}/
تصاویر بزرگ محصول GET product/{id}/image/
آپشن های محصول GET product/{id}/option/
تخفیف های محصول GET product/{id}/discount/
فایل های پیوست محصول GET product/{id}/attach/
ویژگی های محصول GET product/{id}/feature/
گروه های محصول GET product/{id}/category/

۱ – لیست محصولات (products) : زمانیکه بخواهید به لیست تمامی محصولات دسترسی داشته باشید آدرس را بصورت زیر وارد نمایید :

http://webservice1.link/ws/v2/rest/API_KEY/products

توجه داشته باشید که در اینصورت فقط لیست محصولاتی را مشاهده میکنید که دارای شرایط زیر باشند :

1 – محصول فعال باشد . (فیلد active)

2 – محصول قابل فروش باشد . (فیلد sales_ban)

3 – محصول بلاک نباشد . (فیلد blocked status)

4 – اککانت فروشنده منقضی نشده باشد . (فیلد expire)

* البته 4 شرطی که به آنها اشاره شد در تمامی متدها صدق میکند .

همچنین در این متد میتوانید نتایج را محدودتر کنید . برای این کار کافی است پارامترهای زیر را با متد GET تنظیم کنید :

پارامتر نوع توضیحات
porsant int  نمایش محصولاتی که پورسانت آنها برابر یا بیشتر از این پارامتر است .
seller int نمایش محصولاتی که توسط یک فروشنده خاص به فروش میرسند .
province int نمایش محصولاتی که در یک استان خاص به فروش میرسند .
city int نمایش محصولاتی که در یک شهر خاص به فروش میرسند.
lat,lng,distance int

نمایش محصولاتی که در فاصله ای خاص از موقعیت جغرافیایی تعیین شده قرار دارند .

lat : عرض جغرافیایی

lng : طول جغرافیایی

distance : فاصله به متر

freeSend bool نمایش محصولاتی که قابلیت ارسال رایگان دارند .
special bool نمایش محصولات ویژه .
type string

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

مقادیر مجاز :

  • physical : محصولات فیزیکی
  • virtual : محصولات مجازی
  • service : محصولات خدماتی
  • ads : محصولات تبلیغاتی

برای فیلتر کردن چند نوع محصول مقادیر را با پایپ ( | ) از یکدیگر جدا نمایید .

مثال : physical|service (جستجوی محصولات فیزیکی و خدماتی)

searchIn , word string نمایش محصولاتی که واژه مورد نظر (word) در searchIn که میتواند شامل name , short_desc و long_desc باشد .
page , perPage int توسط پارامتر perPage میتوانید مشخص کنید در هر صفحه مشخصات چند محصول نمایش داده شود و توسط پارامتر page میتوانید بین صفحات مختلف پیمایش کنید .

نمونه کد PHP :

$baseUrl = 'http://webservice1.link/ws/v2/rest/';
$api='api Key';
$serviceUrl = $baseUrl.$api. '/products';

$curl = curl_init($serviceUrl);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$curlResponse = curl_exec($curl);
curl_close($curl);
print_r($curlResponse);

 

خروجی متد بصورت زیر است :

{
  "error": 0,
  "message": [
    {
      "id": 2,
      "name": "product 2",          // نام محصول
      "price": 20000,               // قیمت محصول
      "weight": 0,                  // وزن محصول
      "image": "",                  // تصویر محصول
      "shortDesc": "short desc",    // توضیحات کوتاه محصول
      "type": "physical",           // توضیحات کامل محصول
      "porsant": 50,                // پورسانت محصول
      "frotelRank": 1,              // رتبه فروتل
      "buyType": 3,                 // نوع خرید 
      "active": true,               // وضعیت فعال بودن محصول
      "seller": {                    
        "id": 1,
        "name": "test shop"         // نام فروشگاه فروشنده
      },
      "location": {
        "provinceId": 25,           // آیدی استان فروشگاه
        "provinceName": "تهران",    
        "cityId": 1,                // آیدی شهر فروشگاه
        "cityName": "تهران",       
        "lat": 0,                   // عرض جغرافیایی
        "lng": 0                    // طول جغرافیایی
      }
    },
    {
      "id": 1,
      "name": "محصول اول",
      "price": 20000,
      "weight": 0,
      "image": "",
      "shortDesc": "short desc",
      "type": "physical",
      "porsant": 10,
      "frotelRank": 1,
      "buyType": 3,
      "active": true,
      "seller": {
        "id": 1,
        "name": "test shop"
      },
      "location": {
        "provinceId": 25,
        "provinceName": "تهران",
        "cityId": 1,
        "cityName": "تهران",
        "lat": 0,
        "lng": 0
      }
    }
  ]
}

 

۲ – مشخصات یک محصول خاص  : اگر پارامتر id تنظیم شود مشخصات همان محصول خاص نمایش داده میشود.

http://webservice1.link/ws/v2/rest/API_KEY/product/{id}

نمونه کد PHP :

$baseUrl = 'http://webservice1.link/ws/v2/rest/';
$api='api Key';
$serviceUrl = $baseUrl.$api. '/product/1';

$curl = curl_init($serviceUrl);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$curlResponse = curl_exec($curl);
curl_close($curl);
print_r($curlResponse);

 

خروجی متد بصورت زیر است :

{
  "error": 0,
  "message": {
    "id": 1,
    "name": "محصول اول",
    "price": 20000,
    "weight": 0,
    "image": "",
    "shortDesc": "short desc",
    "longDesc": "long desc",
    "type": "physical",
    "porsant": 10,
    "frotelRank": 1,
    "buyType": 3,
    "active": true,
    "seller": {
      "id": 1,
      "name": "test shop"
    },
    "location": {
      "provinceId": 25,
      "provinceName": "تهران",
      "cityId": 1,
      "cityName": "تهران",
      "lat": 0,
      "lng": 0
    },
    "images": []
  }
}

 

۳ – تصاویر بزرگ یک محصول خاص  : با اجرای این متد آدرس تصاویر مربوط به محصولی که آی دی آن وارد شده است نمایش داده میشود.

http://webservice1.link/ws/v2/rest/API_KEY/product/{id}/image

نمونه کد PHP :

$baseUrl = 'http://webservice1.link/ws/v2/rest/';
$api='api Key';
$serviceUrl = $baseUrl.$api. '/product/1/image';

$curl = curl_init($serviceUrl);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$curlResponse = curl_exec($curl);
curl_close($curl);
print_r($curlResponse);

 

خروجی متد بصورت زیر است :

{
  "error": 0,
  "message": [
    "image1.jpg"
  ]
}

 

۴ آپشن های یک محصول خاص :‌ توسط این پارامتر میتوانید آپشن های مختلف یک محصول خاص را دریافت کرد .

http://webservice1.link/ws/v2/rest/API_KEY/product/{id}/option

نمونه کد PHP :

$baseUrl = 'http://webservice1.link/ws/v2/rest/';
$api='api Key';
$serviceUrl = $baseUrl.$api. '/product/1/option';

$curl = curl_init($serviceUrl);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$curlResponse = curl_exec($curl);
curl_close($curl);
print_r($curlResponse);

 

خروجی متد بصورت زیر است :

{
  "error": 0,
  "message": {
    "1": {
      "id": 1,
      "name": "رنگ",
      "type": "select",
      "sort": 0,
      "require": false,
      "items": [
        {
          "id": 1,
          "value": "آبی",
          "price": 0,
          "price_prefix": "+"
        },
        {
          "id": 2,
          "value": "قرمز",
          "price": 0,
          "price_prefix": "+"
        }
      ]
    }
  }
}

 

۵ تخفیف های یک محصول خاص  : تخفیف های اختصاص داده به یک محصول توسط این متد قابل دسترس است .

http://webservice1.link/ws/v2/rest/API_KEY/product/{id}/discount

نمونه کد PHP :

$baseUrl = 'http://webservice1.link/ws/v2/rest/';
$api='api Key';
$serviceUrl = $baseUrl.$api. '/product/1/discount';

$curl = curl_init($serviceUrl);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$curlResponse = curl_exec($curl);
curl_close($curl);
print_r($curlResponse);

 

خروجی متد بصورت زیر است :

  "message": [
    {
      "quantity": 1,
      "type": "percent",
      "value": 25,
      "buyType": "both",
      "dateStart": 1479328200,
      "dateEnd": 1479933000
    }
  ]

 

۶ – فایل های پیوست یک محصول خاص  : آدرس فایل های پیوست یک محصول توسط این متد قابل دسترس میباشد.

http://webservice1.link/ws/v2/rest/API_KEY/product/{id}/attach

نمونه کد PHP :

$baseUrl = 'http://webservice1.link/ws/v2/rest/';
$api='api Key';
$serviceUrl = $baseUrl.$api. '/product/1/attach';

$curl = curl_init($serviceUrl);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$curlResponse = curl_exec($curl);
curl_close($curl);
print_r($curlResponse);

 

خروجی متد بصورت زیر است :

{
  "error": 0,
  "message": [
    {
      "name": "image3",
      "path": "image3.jpg"
    },
    {
      "name": "image2",
      "path": "image2.jpg"
    }
  ]
}

 

۷ – ویژگی های یک محصول خاص  : توسط این متد میتوانید به ویژگی هایی که برای یک محصول تعریف شده است دسترسی داشته باشید.

http://webservice1.link/ws/v2/rest/API_KEY/product/{id}/feature

نمونه کد PHP :

$baseUrl = 'http://webservice1.link/ws/v2/rest/';
$api='api Key';
$serviceUrl = $baseUrl.$api. '/product/1/feature';

$curl = curl_init($serviceUrl);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$curlResponse = curl_exec($curl);
curl_close($curl);
print_r($curlResponse);

 

خروجی متد بصورت زیر است :

{
  "error": 0,
  "message": [
    {
      "group": "اطلاعات کلی",
      "items": [
        {
          "key": "feature name",
          "val": "feature value"
        },
        {
          "key": "feature name 2",
          "val": "feature value 2"
        }
      ]
    }
  ]
}

 

۸ – گروه های یک محصول خاص  : با استفاده از این متد میتوانید به دسته بندی های یک محصول خاص دسترسی داشته باشید .

http://webservice1.link/ws/v2/rest/API_KEY/product/{id}/category

نمونه کد PHP :

$baseUrl = 'http://webservice1.link/ws/v2/rest/';
$api='api Key';
$serviceUrl = $baseUrl.$api. '/product/1/category';

$curl = curl_init($serviceUrl);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$curlResponse = curl_exec($curl);
curl_close($curl);
print_r($curlResponse);

 

خروجی متد بصورت زیر است :

{
  "error": 0,
  "message": [
    {
      "id": 18,
      "name": "تبلت، کتابخوان، مترجم و لوازم جانبی"
    },
    {
      "id": 19,
      "name": "لپ تاپ،نوت بوک و الترابوک"
    }
  ]
}