مروری بر برنامه‌های وفاداری

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

با استفاده از رابط برنامه‌نویسی کاربردی فروشنده (Merchant API)، فروشندگان و ارائه‌دهندگان خدمات وفاداری شخص ثالث که به نمایندگی از فروشندگان فعالیت می‌کنند، می‌توانند برنامه‌های وفاداری را به صورت برنامه‌ریزی‌شده با استفاده از سرویس برنامه وفاداری LoyaltyProgramService پیکربندی و نگهداری کنند. این سرویس به شما امکان می‌دهد برنامه‌های وفاداری را ایجاد، بازیابی، فهرست، به‌روزرسانی و حذف کنید.

برای اطلاعات بیشتر در مورد الزامات تجاری و دستورالعمل‌های سیاستی، به بخش «درباره برنامه وفاداری فروشنده» در مرکز راهنمایی مرکز فروشندگان مراجعه کنید.

مفاهیم کلیدی

هنگام کار با برنامه‌های وفاداری، مفاهیم و محدودیت‌های زیر را در نظر داشته باشید:

  • شناسه سطح حساب: رابط برنامه‌نویسی کاربردی فروشگاه، برنامه‌های وفاداری را با شناسه حساب مرکز فروشگاه شناسایی می‌کند.
  • محدودیت برنامه واحد: رابط برنامه‌نویسی کاربردی فروشگاه فقط از یک برنامه وفاداری برای هر حساب فروشگاه پشتیبانی می‌کند.
  • مالکیت مستقیم حساب: برنامه‌های وفاداری باید مستقیماً در حساب تجاری هدف ( accounts/ {ACCOUNT_ID} ) پیکربندی شوند. این سرویس از مدیریت برنامه‌های وفاداری در سطح حساب پیشرفته برای حساب‌های فرعی پشتیبانی نمی‌کند. ارائه‌دهندگان خدمات وفاداری شخص ثالث با دسترسی مجاز به حساب تجاری می‌توانند برنامه را از طرف تجاری مدیریت کنند.
  • بررسی سرمقاله: پس از ایجاد یا به‌روزرسانی یک برنامه وفاداری، برنامه تحت بررسی قرار می‌گیرد. فیلد review_result.review_status نشان می‌دهد که آیا برنامه UNDER_REVIEW ، APPROVED یا REJECTED قرار دارد.
  • مناطق پشتیبانی‌شده: برنامه‌های وفاداری پذیرندگان در کشورهای پشتیبانی‌شده از جمله استرالیا، برزیل، کانادا، فرانسه، آلمان، هند، ایتالیا، مکزیک، هلند، کره جنوبی، اسپانیا، انگلستان و ایالات متحده در دسترس هستند.
  • الزامات سطح دسترسی: عضویت در سطوح دسترسی می‌تواند رایگان باشد، نیاز به پرداخت هزینه عضویت داشته باشد، نیاز به آستانه هزینه داشته باشد یا نیاز به کارت اعتباری با برند تجاری داشته باشد. سطوح مبتنی بر شغل (مانند سطوح دانشجویی یا نظامی) پشتیبانی نمی‌شوند.
  • مزایا و امتیازات: برنامه‌ها از ارسال رایگان، امتیازهای قابل بازخرید و قیمت‌گذاری اعضا پشتیبانی می‌کنند. در تبلیغات، قیمت‌گذاری اعضا مستلزم تخفیف حداقل ۵٪ یا ۵ واحد ارزی کمتر از قیمت معمولی یا قیمت فروش است.

پیش‌نیازها

قبل از مدیریت برنامه‌های وفاداری با Merchant API، مطمئن شوید که شرایط زیر را دارید:

  • شما باید یک حساب کاربری فعال در مرکز فروشندگان داشته باشید (یا اگر ارائه دهنده خدمات وفاداری شخص ثالث هستید، به حساب فروشنده دسترسی مجاز داشته باشید).
  • افزونه برنامه وفاداری را برای حساب خود فعال کنید. می‌توانید این افزونه را با استفاده از یکی از گزینه‌های زیر فعال کنید:

در اینجا یک نمونه درخواست برای فعال کردن افزونه برنامه وفاداری با استفاده از زیر-API برنامه‌ها ارائه شده است:

اچ‌تی‌پی

POST https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/programs/loyalty:enable

حلقه

curl --request POST \
  'https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/programs/loyalty:enable?key={YOUR_API_KEY}' \
  --header 'Authorization: Bearer {YOUR_ACCESS_TOKEN}' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{}' \
  --compressed

روش‌ها

برنامه‌های وفاداری را با استفاده از روش‌های زیر مدیریت کنید:

یک برنامه وفاداری ایجاد کنید

برای ایجاد یک برنامه وفاداری جدید برای یک حساب کاربری، از متد loyaltyPrograms.create استفاده کنید. جزئیاتی مانند توضیحات برنامه، URL ثبت نام و سطوح برنامه را با مزایا و الزامات منحصر به فرد آنها مشخص کنید.

program_label مورد نیاز، شناسه منحصر به فرد برنامه وفاداری را تعیین می‌کند. برای مثال، ارائه برچسب my-rewards منجر به name منبع accounts/ {ACCOUNT_ID} /programs/loyalty/loyaltyPrograms/my-rewards می‌شود.

در اینجا یک نمونه درخواست آمده است:

اچ‌تی‌پی

POST https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/programs/loyalty/loyaltyPrograms

{
  "programLabel": "my-rewards",
  "loyaltyProgram": {
    "programName": "my rewards",
    "tiers": [
      {
        "tierName": "gold",
        "tierLabel": "gold",
        "tierBenefits": [
          {
            "otherBenefit": "free gift on your birthday"
          },
          {
            "structuredBenefit": {
              "pointsEarningBenefit": {
                "minimumMoneySpent": {
                  "currencyCode": "USD",
                  "units": "25"
                },
                "pointsEarningBenefitAnnotation": {
                  "pointsEarned": 1.0,
                  "amountSpent": {
                    "currencyCode": "USD",
                    "units": "1"
                  }
                }
              }
            }
          }
        ],
        "requirements": {
          "freeToJoin": true
        }
      }
    ],
    "programDescriptions": [
      "earn rewards buying products you love"
    ],
    "signupUrl": "https://www.example.com/my_rewards_signup",
    "regionCodes": [
      "US"
    ]
  }
}

به جای {ACCOUNT_ID} ، شناسه منحصر به فرد حساب مرکز فروش خود را وارد کنید.

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

{
  "name": "accounts/{ACCOUNT_ID}/programs/loyalty/loyaltyPrograms/my-rewards",
  "programName": "my rewards",
  "tiers": [
    {
      "tierName": "gold",
      "tierLabel": "gold",
      "tierBenefits": [
        {
          "otherBenefit": "free gift on your birthday"
        },
        {
          "structuredBenefit": {
            "pointsEarningBenefit": {
              "minimumMoneySpent": {
                "currencyCode": "USD",
                "units": "25"
              },
              "pointsEarningBenefitAnnotation": {
                "pointsEarned": 1.0,
                "amountSpent": {
                  "currencyCode": "USD",
                  "units": "1"
                }
              }
            }
          }
        }
      ],
      "requirements": {
        "freeToJoin": true
      },
      "signupUrl": "https://www.example.com/my-rewards/gold"
    }
  ],
  "programDescriptions": [
    "earn rewards buying products you love"
  ],
  "signupUrl": "https://www.example.com/my_rewards_signup",
  "reviewResult": {
    "reviewStatus": "UNDER_REVIEW"
  },
  "regionCodes": [
    "US"
  ]
}

بازیابی یک برنامه وفاداری

برای بازیابی جزئیات یک برنامه وفاداری خاص، از متد loyaltyPrograms.get استفاده کنید.

در اینجا یک نمونه درخواست آمده است:

اچ‌تی‌پی

GET https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/programs/loyalty/loyaltyPrograms/{PROGRAM_LABEL}

به جای {ACCOUNT_ID} شناسه حساب خود و به جای {PROGRAM_LABEL} برچسب منحصر به فرد برنامه وفاداری (مثلاً my-rewards ) را قرار دهید.

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

{
  "name": "accounts/{ACCOUNT_ID}/programs/loyalty/loyaltyPrograms/my-rewards",
  "programName": "my rewards",
  "tiers": [
    {
      "tierName": "gold",
      "tierLabel": "gold",
      "tierBenefits": [
        {
          "otherBenefit": "free gift on your birthday"
        },
        {
          "structuredBenefit": {
            "pointsEarningBenefit": {
              "minimumMoneySpent": {
                "currencyCode": "USD",
                "units": "25"
              },
              "pointsEarningBenefitAnnotation": {
                "pointsEarned": 1.0,
                "amountSpent": {
                  "currencyCode": "USD",
                  "units": "1"
                }
              }
            }
          }
        }
      ],
      "requirements": {
        "freeToJoin": true
      },
      "signupUrl": "https://www.example.com/my-rewards/gold"
    }
  ],
  "programDescriptions": [
    "earn rewards buying products you love"
  ],
  "signupUrl": "https://www.example.com/my_rewards_signup",
  "reviewResult": {
    "reviewStatus": "UNDER_REVIEW"
  },
  "regionCodes": [
    "US"
  ]
}

فهرست برنامه‌های وفاداری

برای فهرست کردن تمام برنامه‌های وفاداری شخصی مرتبط با حساب کاربری خود، از متد loyaltyPrograms.list استفاده کنید.

در اینجا یک نمونه درخواست آمده است:

اچ‌تی‌پی

GET https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/programs/loyalty/loyaltyPrograms

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

{
  "loyaltyPrograms": [
    {
      "name": "accounts/{ACCOUNT_ID}/programs/loyalty/loyaltyPrograms/my-rewards",
      "programName": "my rewards",
      "tiers": [
        {
          "tierName": "gold",
          "tierLabel": "gold",
          "tierBenefits": [
            {
              "otherBenefit": "free gift on your birthday"
            },
            {
              "structuredBenefit": {
                "pointsEarningBenefit": {
                  "minimumMoneySpent": {
                    "currencyCode": "USD",
                    "units": "25"
                  },
                  "pointsEarningBenefitAnnotation": {
                    "pointsEarned": 1.0,
                    "amountSpent": {
                      "currencyCode": "USD",
                      "units": "1"
                    }
                  }
                }
              }
            }
          ],
          "requirements": {
            "freeToJoin": true
          },
          "signupUrl": "https://www.example.com/my-rewards/gold"
        }
      ],
      "programDescriptions": [
        "earn rewards buying products you love"
      ],
      "signupUrl": "https://www.example.com/my_rewards_signup",
      "reviewResult": {
        "reviewStatus": "UNDER_REVIEW"
      },
      "regionCodes": [
        "US"
      ]
    }
  ]
}

به‌روزرسانی برنامه وفاداری

برای به‌روزرسانی یک برنامه وفاداری موجود، از متد loyaltyPrograms.update استفاده کنید. با استفاده از update_mask یک به‌روزرسانی جزئی انجام دهید، یا با حذف ماسک، یک جایگزینی کامل انجام دهید.

به‌روزرسانی جزئی با ماسک به‌روزرسانی

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

نمونه درخواست زیر فقط programDescriptions و advancedSettings را به‌روزرسانی می‌کند:

اچ‌تی‌پی

PATCH https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/programs/loyalty/loyaltyPrograms/{PROGRAM_LABEL}?update_mask=program_descriptions,advanced_settings

{
  "programDescriptions": [
    "a new description of the program"
  ],
  "advancedSettings": {
    "hideDisplayFromNonMembers": true
  },
  "signupUrl": "https://www.example.com"
}

در این مثال، سرویس signupUrl نادیده می‌گیرد زیرا در update_mask گنجانده نشده است. فیلد programDescriptions به طور کامل جایگزین هرگونه توضیحات پیکربندی شده قبلی می‌شود.

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

{
  "name": "accounts/{ACCOUNT_ID}/programs/loyalty/loyaltyPrograms/my-rewards",
  "programName": "my rewards",
  "tiers": [
    {
      "tierName": "gold",
      "tierLabel": "gold",
      "tierBenefits": [
        {
          "otherBenefit": "free gift on your birthday"
        },
        {
          "structuredBenefit": {
            "pointsEarningBenefit": {
              "minimumMoneySpent": {
                "currencyCode": "USD",
                "units": "25"
              },
              "pointsEarningBenefitAnnotation": {
                "pointsEarned": 1.0,
                "amountSpent": {
                  "currencyCode": "USD",
                  "units": "1"
                }
              }
            }
          }
        }
      ],
      "requirements": {
        "freeToJoin": true
      },
      "signupUrl": "https://www.example.com/my-rewards/gold"
    }
  ],
  "programDescriptions": [
    "a new description of the program"
  ],
  "signupUrl": "https://www.example.com/my_rewards_signup",
  "reviewResult": {
    "reviewStatus": "UNDER_REVIEW"
  },
  "regionCodes": [
    "US"
  ],
  "advancedSettings": {
    "hideDisplayFromNonMembers": true
  }
}

تعویض کامل بدون ماسک بروزرسانی

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

در اینجا یک نمونه درخواست آمده است:

اچ‌تی‌پی

PATCH https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/programs/loyalty/loyaltyPrograms/{PROGRAM_LABEL}

{
  "programName": "Updated Program",
  "signupUrl": "https://example.com/updated",
  "programDescriptions": [
    "Updated description"
  ],
  "regionCodes": [
    "US"
  ],
  "tiers": [
    {
      "tierName": "Gold Tier",
      "tierLabel": "gold",
      "tierBenefits": [
        {
          "otherBenefit": "Free shipping"
        }
      ],
      "requirements": {
        "freeToJoin": true
      }
    }
  ]
}

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

{
  "name": "accounts/{ACCOUNT_ID}/programs/loyalty/loyaltyPrograms/my-rewards",
  "programName": "Updated Program",
  "tiers": [
    {
      "tierName": "Gold Tier",
      "tierLabel": "gold",
      "tierBenefits": [
        {
          "otherBenefit": "Free shipping"
        }
      ],
      "requirements": {
        "freeToJoin": true
      }
    }
  ],
  "programDescriptions": [
    "Updated description"
  ],
  "signupUrl": "https://example.com/updated",
  "reviewResult": {
    "reviewStatus": "UNDER_REVIEW"
  },
  "regionCodes": [
    "US"
  ]
}

حذف یک برنامه وفاداری

برای حذف یک برنامه وفاداری از حساب کاربری خود، از متد loyaltyPrograms.delete استفاده کنید.

در اینجا یک نمونه درخواست آمده است:

اچ‌تی‌پی

DELETE https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/programs/loyalty/loyaltyPrograms/{PROGRAM_LABEL}

در صورت موفقیت، بدنه پاسخ خالی است.

مراحل بعدی