Prezentuj korzyści z zakupów w Twoim sklepie w Google za pomocą programów lojalnościowych. Możesz przesłać wiele korzyści, takich jak bezpłatna dostawa, punkty do wykorzystania przez klientów oraz specjalne ceny dla uczestników programu. Korzyści z udziału w programie lojalnościowym mogą się wyświetlać w bezpłatnych informacjach, reklamach produktowych i reklamach lokalnego asortymentu produktów na platformach Google, takich jak wyszukiwarka Google, karta Zakupy czy Portfel Google.
Dzięki interfejsowi Merchant API sprzedawcy i zewnętrzni dostawcy programów lojalnościowych działający w imieniu sprzedawców mogą programowo konfigurować i utrzymywać programy lojalnościowe za pomocą LoyaltyProgramService. Ta usługa umożliwia tworzenie, pobieranie, wyświetlanie, aktualizowanie i usuwanie programów lojalnościowych.
Więcej informacji o wymaganiach biznesowych i wytycznych dotyczących zasad znajdziesz w artykule Program lojalnościowy sprzedawcy w Centrum pomocy Merchant Center.
Kluczowe pojęcia
Podczas pracy z programami lojalnościowymi pamiętaj o tych pojęciach i ograniczeniach:
Identyfikator na poziomie konta: interfejs Merchant API identyfikuje programy lojalnościowe według identyfikatora konta Merchant Center, do którego należą.
Limit jednego programu: interfejs Merchant API obsługuje tylko jeden program lojalnościowy na konto sprzedawcy.
Bezpośrednia własność konta: programy lojalnościowe muszą być skonfigurowane bezpośrednio na docelowym koncie sprzedawcy (
accounts/{ACCOUNT_ID}). Usługa nie obsługuje zarządzania programami lojalnościowymi na poziomie konta zaawansowanego w przypadku subkont. Zewnętrzni dostawcy programów lojalnościowych, którzy mają autoryzowany dostęp do konta sprzedawcy, mogą zarządzać programem w imieniu sprzedawcy.Sprawdzanie pod kątem zgodności z zasadami redakcyjnymi: po utworzeniu lub zaktualizowaniu programu lojalnościowego jest on sprawdzany. Pole
review_result.review_statuswskazuje, czy program jestUNDER_REVIEW,APPROVEDczyREJECTED. Każda udana aktualizacja powoduje, że program wraca do kolejki do sprawdzenia, nawet jeśli aktualizacja nie wprowadza żadnych istotnych zmian. Podczas procesu weryfikacji Google ukrywa program przed kupującymi. Sprawdzanie może potrwać do 48 godzin.Obsługiwane regiony: programy lojalnościowe sprzedawców są dostępne w obsługiwanych krajach, takich jak Australia, Brazylia, Francja, Hiszpania, Holandia, Indie, Japonia, Kanada, Korea Południowa, Meksyk, Niemcy, Stany Zjednoczone, Wielka Brytania i Włochy.
Aktywne regiony:
regionCodesprogramu lojalnościowego musi być podzbioremactiveRegionCodesaccounts/{ACCOUNT_ID}/programs/loyalty. W przeciwnym razie żądania utworzenia, aktualizacji i usunięcia nie powiodą się i wystąpi błądLOYALTY_PROGRAM_DISABLED. Google aktywuje obsługiwany kraj, gdy dodatek Program lojalnościowy jest włączony, a konto spełnia wymagania w tym kraju. Konto kwalifikuje się na przykład, jeśli program bezpłatnych informacji jest włączony, a podstawowe źródło danych o produktach jest kierowane na kraj dla miejsca docelowegoFREE_LISTINGS. Aby dowiedzieć się, dlaczego dany kraj nie jest aktywny, przeczytaj artykuł Sprawdzanie aktywnych regionów.Wymagania dotyczące poziomów: dołączenie do poziomów może być bezpłatne, wymagać opłaty członkowskiej, progu wydatków lub karty kredytowej marki sprzedawcy. Poziomy oparte na zawodzie (np. student, żołnierz itp.) nie są obsługiwane.
Bonusy i korzyści: programy obsługują bezpłatną dostawę, punkty do wykorzystania i ceny dla uczestników programu. W reklamach cena dla uczestników programu wymaga rabatu w wysokości co najmniej 5% lub 5 jednostek waluty poniżej ceny standardowej lub promocyjnej.
Wymagania wstępne
Zanim zaczniesz zarządzać programami lojalnościowymi za pomocą interfejsu Merchant API, upewnij się, że spełniasz te wymagania:
- Musisz mieć aktywne konto Merchant Center (lub autoryzowany dostęp do konta sprzedawcy, jeśli jesteś zewnętrznym dostawcą programu lojalnościowego).
Włącz dodatek Program lojalnościowy na swoim koncie. Dodatek możesz włączyć na 2 sposoby:
- Interfejs Merchant Center: postępuj zgodnie z instrukcjami podanymi w artykule Konfigurowanie programu lojalnościowego w Centrum pomocy Merchant Center.
- Podrzędny interfejs API programów: włącz program automatycznie zgodnie z opisem w artykule Włączanie programów w podrzędnym interfejsie API programów.
Metoda
accounts.programs.enablewymaga dostępu administratora.
Kraje, w których chcesz oferować program lojalnościowy, muszą być aktywne na Twoim koncie. Aby dowiedzieć się, które kraje są aktywne, przeczytaj artykuł Sprawdzanie aktywnych regionów.
Oto przykładowe żądanie włączenia dodatku do programu lojalnościowego za pomocą podrzędnego interfejsu API programów:
HTTP
POST https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/programs/loyalty:enable
cURL
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
Sprawdzanie aktywnych regionów
Po włączeniu dodatku Program lojalnościowy wywołaj metodę accounts.programs.get dla accounts/{ACCOUNT_ID}/programs/loyalty. Odpowiedź pokazuje, gdzie możesz korzystać z programów lojalnościowych i dlaczego inne obsługiwane kraje są nieaktywne.
Oto przykładowe żądanie:
HTTP
GET https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/programs/loyalty
cURL
curl --request GET \
'https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/programs/loyalty?key={YOUR_API_KEY}' \
--header 'Authorization: Bearer {YOUR_ACCESS_TOKEN}' \
--header 'Accept: application/json' \
--compressed
Zastąp {ACCOUNT_ID} unikalnym identyfikatorem konta Merchant Center.
Oto przykładowa odpowiedź dotycząca konta, na którym włączono dodatek i które kwalifikuje się tylko w Stanach Zjednoczonych:
{
"name": "accounts/{ACCOUNT_ID}/programs/loyalty",
"documentationUri": "https://support.google.com/merchants/answer/12827255",
"state": "ENABLED",
"activeRegionCodes": [
"US"
],
"unmetRequirements": [
{
"title": "IS_ELIGIBLE_FOR_LOYALTY",
"documentationUri": "https://support.google.com/merchants/answer/12827255#Eligibility",
"affectedRegionCodes": [
"AU",
"BR",
"CA",
"DE",
"ES",
"FR",
"GB",
"IN",
"IT",
"JP",
"KR",
"MX",
"NL"
]
}
]
}
W odpowiedzi zwróć uwagę na te pola:
activeRegionCodes: kraje, które możesz użyć wregionCodesprogramu lojalnościowego. W powyższym przykładzie aktywny jest tylkoUS.unmetRequirements: powód, dla którego inne obsługiwane kraje są nieaktywne. W przypadku programów lojalnościowych jest to wymaganieIS_ELIGIBLE_FOR_LOYALTY.affectedRegionCodes: obsługiwane kraje, w których konto nie jest odpowiednie.documentationUri: link do wymagań.
W powyższym przykładzie nie możesz jeszcze używać krajów w affectedRegionCodes. Jeśli regionCodes programu lojalnościowego zawiera jeden z nich, żądania utworzenia, aktualizacji i usunięcia nie powiodą się i pojawi się błąd LOYALTY_PROGRAM_DISABLED. Aby aktywować kraj, wykonaj te czynności:
- Upewnij się, że konto spełnia wymagania w danym kraju. Możesz na przykład włączyć program Bezpłatne informacje i ustawić podstawowe źródło danych o produktach, aby kierować reklamy na kraj dla miejsca docelowego
FREE_LISTINGS. Aby poznać wszystkie sposoby uzyskania dostępu, zapoznaj się z wymaganiami. - Wywołaj ponownie
accounts.programs.geti sprawdź, czy kraj jest wactiveRegionCodes.
affectedRegionCodes może obejmować kraje, w których nie prowadzisz sprzedaży. Nie musisz podejmować żadnych działań w przypadku tych krajów. Nie mają wpływu na kraje w regionie activeRegionCodes.
Metody
Programami lojalnościowymi możesz zarządzać na te sposoby:
loyaltyPrograms.createloyaltyPrograms.getloyaltyPrograms.listloyaltyPrograms.updateloyaltyPrograms.delete
Tworzenie programu lojalnościowego
Aby utworzyć nowy program lojalnościowy dla konta, użyj metody loyaltyPrograms.create. Podaj szczegóły, takie jak opisy programów, adres URL rejestracji i poziomy programu z unikalnymi korzyściami i wymaganiami.
Wymagany parametr program_label ustawia unikalny identyfikator programu lojalnościowego. Na przykład podanie etykiety my-rewards powoduje, że zasób name ma wartość accounts/{ACCOUNT_ID}/programs/loyalty/loyaltyPrograms/my-rewards.
Oto przykładowe żądanie:
HTTP
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"
]
}
}
Zastąp {ACCOUNT_ID} unikalnym identyfikatorem konta Merchant Center.
Oto przykładowa odpowiedź na żądanie, które zostało zrealizowane:
{
"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"
]
}
Pobieranie programu lojalnościowego
Aby pobrać szczegóły konkretnego własnego programu lojalnościowego, użyj metody loyaltyPrograms.get.
Oto przykładowe żądanie:
HTTP
GET https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/programs/loyalty/loyaltyPrograms/{PROGRAM_LABEL}
Zastąp {ACCOUNT_ID} identyfikatorem konta, a {PROGRAM_LABEL} unikalną etykietą programu lojalnościowego (np. my-rewards).
Oto przykładowa odpowiedź na żądanie, które zostało zrealizowane:
{
"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"
]
}
Wyświetlanie listy programów lojalnościowych
Aby wyświetlić listę wszystkich własnych programów lojalnościowych powiązanych z Twoim kontem, użyj metody loyaltyPrograms.list.
Oto przykładowe żądanie:
HTTP
GET https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/programs/loyalty/loyaltyPrograms
Oto przykładowa odpowiedź na żądanie, które zostało zrealizowane:
{
"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"
]
}
]
}
Aktualizowanie programu lojalnościowego
Aby zaktualizować istniejący program lojalnościowy, użyj metody loyaltyPrograms.update. Wykonaj częściową aktualizację za pomocą update_mask lub pełną wymianę, pomijając maskę. Każda udana aktualizacja powoduje rozpoczęcie nowej weryfikacji redakcyjnej, dlatego wysyłaj aktualizacje tylko wtedy, gdy wartość ulegnie zmianie.
Częściowa aktualizacja z maską aktualizacji
update_mask pozwala określić dokładne pola do zaktualizowania. Modyfikowane są tylko pola wymienione w masce, a pola niewymienione pozostają bez zmian. Wszystkie pola pominięte w masce aktualizacji są ignorowane, nawet jeśli zostały podane w treści żądania.
Poniższe przykładowe żądanie aktualizuje tylko parametry programDescriptions i advancedSettings:
HTTP
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"
}
W tym przykładzie usługa ignoruje signupUrl, ponieważ nie jest on uwzględniony w update_mask. Pole programDescriptions całkowicie zastępuje wszystkie wcześniej skonfigurowane opisy.
Oto przykładowa odpowiedź na udane żądanie:
{
"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
}
}
Pełne zastąpienie bez maski aktualizacji
Jeśli pominiesz parametr update_mask, żądanie spowoduje całkowite zastąpienie konfiguracji programu lojalnościowego.
Oto przykładowe żądanie:
HTTP
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
}
}
]
}
Oto przykładowa odpowiedź na udane żądanie:
{
"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"
]
}
Usuwanie programu lojalnościowego
Aby usunąć program lojalnościowy z konta, użyj metody loyaltyPrograms.delete.
Oto przykładowe żądanie:
HTTP
DELETE https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/programs/loyalty/loyaltyPrograms/{PROGRAM_LABEL}
Jeśli operacja się uda, treść odpowiedzi będzie pusta.
Dalsze kroki
- Aby dowiedzieć się, jak powiązać poszczególnych kupujących z poziomami programu lojalnościowego w celu bezpłatnej personalizacji w wyszukiwarce Google, zapoznaj się z przewodnikiem po usłudze kierowania na listę klientów w programie lojalnościowym.
- Aby dowiedzieć się, jak włączyć lub wyłączyć programy zakupowe na koncie, zapoznaj się z przewodnikiem po podrzędnym interfejsie API programów.
- Szczegółowe informacje o konfiguracji firmy, zasadach redakcyjnych i raportowaniu znajdziesz w artykule Informacje o programie lojalnościowym sprzedawcy w Centrum pomocy Merchant Center.
- Aby dowiedzieć się więcej o metodach interfejsu API i definicjach zasobów, zapoznaj się z dokumentacją Merchant API.