مروری بر Merchant Products API

این صفحه توضیح می دهد که چگونه می توانید محصولات خود را به صورت برنامه ای آپلود و مدیریت کنید. با استفاده از Merchant Products API، می‌توانید محصولی را در منبع داده درج یا به‌روزرسانی کنید، محصولی را از حساب خود بازیابی کنید و محصولی را از منبع داده حذف کنید.

Merchant Products API شامل دو منبع است.

  • productInputs قسمت های ورودی محصولات شما را نشان می دهد.
  • products نشان دهنده محصولات فرآوری شده است که از قطعات ورودی شما ساخته شده است.

productInputs بسته به اینکه در یک منبع داده اولیه یا یک منبع داده تکمیلی آپلود شود، می تواند اولیه و تکمیلی باشد. هر product از یک productInput اولیه و هر تعداد productInputs تکمیلی ساخته خواهد شد.

می‌توانید از Merchant Products API برای ایجاد کاتالوگ‌های فروشگاه آنلاین یا محلی استفاده کنید، اینها محصولاتی هستند که می‌توانند در چندین مقصد خرید ظاهر شوند. زمانی که حساب Merchant Center خود را ایجاد کردید، اولین منبع داده خود را راه اندازی کردید و آماده آپلود مجموعه اولیه محصولات از طریق API هستید، می توانید از منبع productInputs استفاده کنید.

اگرچه تاجران توانایی آپلود محصولات را با استفاده از فایلی به نام PrimaryProductDataSource دارند، ایجاد و حذف محصولات با استفاده از Merchant API مزایای متعددی دارد. این مزایا شامل زمان پاسخگویی سریعتر و امکان به روز رسانی محصولات در زمان واقعی، بدون نیاز به مدیریت فایل های حجیم است. ممکن است چندین ساعت طول بکشد تا تغییرات محصول ایجاد شده توسط تماس‌های API در پایگاه داده خرید نشان داده شود.

پیش نیازها

اگر منبع داده ندارید، با استفاده از Merchant DataSources API یا Merchant Center یک منبع داده ایجاد کنید .

اگر قبلاً منبع داده ای دارید که با استفاده از Merchant Center UI یا با استفاده از API ایجاد کرده اید، می توانید از Merchant Products API برای افزودن محصولات خود استفاده کنید. اگر از Content API برای خرید برای افزودن محصولات استفاده می‌کنید، به راهنمای انتقال مراجعه کنید تا بدانید چگونه می‌توانید با Merchant Products API شروع کنید.

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

منابع

منبع products به شما امکان می دهد اطلاعات محصول را از پایگاه داده خرید بازیابی کنید.

منبع productInput نشان دهنده داده های ورودی شما برای یک محصول است. همچنین روش‌هایی را ارائه می‌کند که به شما امکان می‌دهد اطلاعات محصول را یکی یکی یا چند بار در حالت دسته‌ای به‌روزرسانی یا حذف کنید. یک منبع productInput باید دارای فیلدهای زیر باشد:

  • channel : کانال محصول.
  • offerId : شناسه منحصر به فرد محصول.
  • contentLanguage : کد زبان دو حرفی ISO 639-1 برای محصول.
  • feedLabel : برچسب خوراک برای محصول.

ورودی محصول را در حساب خود آپلود کنید

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

نمونه درخواست زیر نشان می دهد که چگونه می توانید از روش accounts.productInputs.insert برای آپلود ورودی محصول در حساب تاجر خود استفاده کنید. این درخواست قیمت و منطقه حمل و نقل و ویژگی‌های سفارشی مانند تاریخ تولید و اندازه را تعیین می‌کند.

POST https://merchantapi.googleapis.com/products/v1beta/accounts/{ACCOUNT_ID}/productInputs:insert?dataSource={DATASOURCE}

{
  "name": "{PRODUCT_TITLE}",
  "versionNumber": {VERSION_NUMBER},
  "contentLanguage": "{CONTENT_LANGUAGE}",
  "feedLabel": "{FEED_LABEL}",
  "offerId": "{OFFER_ID}",
  "channel": "ONLINE",
  "attributes": {
    "availability": "in stock",
    "imageLink": "{IMAGE_LINK}",
    "link": "{PRODUCT_LINK}",
    "brand": "{BRAND_NAME}",
    "price": {
      "currencyCode": "{CURRENCY_CODE}",
      "amountMicros": {PRICE}
    },
    "color": "red",
    "productWeight": {
      "value": 320,
      "unit": "g"
    },
    "adult": false,
    "shipping": [
      {
        "country": "GB",
        "price": {
          "amountMicros": {SHIPPING_COST},
          "currencyCode": "{CURRENCY_CODE_SHIPPING}"
        },
        "postalCode": "{SHIPPING_POSTALCODE}",
        "service": "",
        "region": "{SHIPPING_REGION}",
        "maxHandlingTime": "{MAX_HANDLING_TIME}",
        "minHandlingTime": "{MIN_HANDLING_TIME}",
        "maxTransitTime": "{MAX_TRANSIT_TIME}",
        "minTransitTime": "{MIN_TRANSIT_TIME}"
      }
    ],
    "gender": "Female"
  },
  "customAttributes": [
    {
      "name": "size",
      "value": "Large"
    },
    {
      "name": "Date of Manufacturing",
      "value": "2024-05-05"
    }
  ]
}

موارد زیر را جایگزین کنید:

  • {ACCOUNT_ID} : شناسه منحصر به فرد حساب Merchant Center شما.
  • {DATASOURCE} : شناسه منحصر به فرد منبع داده. باید در قالب accounts/ {ACCOUNT_ID} /dataSources/ {DATASOURCE_ID} باشد.
  • {PRODUCT_TITLE} : نام محصول.
  • {VERSION_NUMBER} : شماره نسخه محصول. اختیاری.
  • {CONTENT_LANGUAGE} : کد زبان دو حرفی ISO 639-1 برای محصول. مورد نیاز.
  • {FEED_LABEL} : کد قلمرو CLDR برای منطقه ای که می خواهید محصول را بفروشید. اگر مقدار ارائه شده برای feedLabel معتبر نباشد، قسمت targetCountry پر نشده است.
  • {OFFER_ID} : شناسه منحصر به فرد محصول. مورد نیاز.
  • {IMAGE_LINK} : پیوند به تصویر محصول در وب‌سایت شما. اختیاری.
  • {PRODUCT_LINK} : پیوند به محصول در وب سایت شما. اختیاری.
  • {CURRENCY_CODE} : واحد پول قیمت با استفاده از مخفف های سه حرفی مطابق با ISO 4217 . اختیاری.
  • {PRICE} : قیمت محصول به صورت یک عدد در میکرو نمایش داده می شود. اختیاری.
  • {SHIPPING_COST} : قیمت ثابت حمل و نقل به صورت یک عدد نشان داده می‌شود. اختیاری.
  • {SHIPPING_POSTALCODE} : محدوده کد پستی که در آن نرخ حمل و نقل اعمال می شود. اختیاری.
  • {MAX_HANDLING_TIME} : حداکثر زمان رسیدگی در روزهای کاری بین زمان دریافت سفارش و ارسال آن. اختیاری.
  • {MIN_HANDLING_TIME} : حداقل زمان رسیدگی در روزهای کاری بین زمان دریافت سفارش و ارسال آن. مقدار 0 به این معنی است که سفارش در همان روز دریافت تحویل می شود. اختیاری.
  • {MAX_TRANSIT_TIME} : حداکثر زمان حمل و نقل در روزهای کاری بین زمانی که سفارش ارسال شده است و زمان تحویل آن است. اختیاری.
  • {MIN_TRANSIT_TIME} : حداقل زمان حمل و نقل در روزهای کاری بین زمانی که سفارش ارسال شده است و زمانی که تحویل می شود. مقدار 0 به این معنی است که سفارش در همان روز تحویل تحویل می شود. اختیاری.

وقتی درخواست با موفقیت اجرا شد، پاسخ زیر را مشاهده می کنید:

{
  "name": "{PRODUCT_NAME}",
  "product": "{PRODUCT_ID}",
  "channel": "ONLINE",
  "offerId": "{OFFER_ID}",
  "contentLanguage": "{CONTENT_LANGUAGE}",
  "feedLabel": "{FEED_LABEL}",
  "versionNumber": "{VERSION_NUMBER}",
  "attributes": {
    "link": "{PRODUCT_LINK}",
    "imageLink": "{IMAGE_LINK}",
    "adult": false,
    "availability": "in stock",
    "brand": "{BRAND_NAME}",
    "color": "red",
    "gender": "Female",
    "price": {
      "amountMicros": "{PRICE}",
      "currencyCode": "{CURRENCY_CODE}"
    },
    "shipping": [
      {
        "price": {
          "amountMicros": "{SHIPPING_COST}",
          "currencyCode": "{CURRENCY_CODE}"
        },
        "country": "{SHIPPING_COUNTRY}",
        "region": "{SHIPPING_REGION}",
        "postalCode": "{SHIPPING_POSTALCODE}",
        "minHandlingTime": "{MIN_HANDLING_TIME}",
        "maxHandlingTime": "{MAX_HANDLING_TIME}",
        "minTransitTime": "{MIN_TRANSIT_TIME}",
        "maxTransitTime": "{MAX_TRANSIT_TIME}"
      }
    ],
    "productWeight": {
      "value": 320,
      "unit": "g"
    }
  },
  "customAttributes": [
    {
      "name": "Size",
      "value": "Large"
    },
    {
      "name": "Date of Manufacturing",
      "value": "2024-05-05"
    }
  ]
}

یک محصول پردازش شده را از حساب خود بازیابی کنید

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

می توانید نام منبع محصول پردازش شده را از قسمت product در پاسخ accounts.productInputs.insert دریافت کنید.

یک ورودی محصول را از حساب خود حذف کنید

برای حذف ورودی محصول از حساب خود، از روش accounts.productInputs.delete استفاده کنید. برای حذف یک محصول با استفاده از Merchant Products API، باید شناسه منحصر به فرد منبع داده اصلی یا تکمیلی را که محصول به آن تعلق دارد، ارسال کنید.

محصولات را از حساب خود فهرست کنید

برای فهرست کردن محصولات پردازش شده در حساب خود، از روش accounts.products.list استفاده کنید.