Показывайте преимущества своего магазина в Google с помощью программ лояльности. Оно дает возможность указывать информацию о преимуществах для участников программы лояльности, например о бесплатной доставке, баллах и специальных ценах. Преимущества программы лояльности могут показываться в бесплатных предложениях, товарной рекламе и рекламе местного ассортимента на разных платформах Google, таких как Google Поиск, вкладка "Покупки" и Google Кошелек.
С помощью Merchant API продавцы и сторонние поставщики услуг по организации программ лояльности, действующие от имени продавцов, могут настраивать и поддерживать программы лояльности программным способом с помощью LoyaltyProgramService. Этот сервис позволяет создавать, получать, обновлять и удалять программы лояльности, а также просматривать их списки.
Подробнее о требованиях к компаниям и рекомендациях по соблюдению правил см. в Справочном центре Merchant Center.
Основные понятия
При работе с программами лояльности учитывайте следующие концепции и ограничения:
- Идентификатор на уровне аккаунта. Merchant API определяет программы лояльности по идентификатору аккаунта Merchant Center, которому они принадлежат.
- Ограничение на количество программ. Merchant API поддерживает только одну программу лояльности на аккаунт продавца.
- Прямое владение аккаунтом. Программы лояльности должны быть настроены непосредственно в целевом аккаунте продавца (
accounts/{ACCOUNT_ID}). Сервис не поддерживает управление программами лояльности на уровне расширенного аккаунта для дочерних аккаунтов. Сторонние поставщики услуг, у которых есть авторизованный доступ к аккаунту продавца, могут управлять программой лояльности от его имени. - Редакционная проверка. После создания или изменения программы лояльности она проходит проверку. Поле
review_result.review_statusуказывает, является ли программаUNDER_REVIEW,APPROVEDилиREJECTED. - Поддерживаемые регионы. Программы лояльности доступны в Австралии, Бразилии, Великобритании, Германии, Индии, Испании, Италии, Канаде, Мексике, Нидерландах, США, Франции и Южной Корее.
- Требования к уровням. Участие в программе может быть бесплатным, платным, требовать достижения определенного порога расходов или наличия кредитной карты с брендом продавца. Нельзя создавать уровни на основе рода занятий, например для учащихся или военнослужащих.
- Преимущества. Программы поддерживают бесплатную доставку, бонусные баллы и специальные цены для участников. В объявлениях специальная цена для участников программы должна быть ниже обычной или цены со скидкой (если она есть) по крайней мере на 5% или 5 единиц валюты, в которой измеряется цена товара.
Требования
Прежде чем управлять программами лояльности с помощью Merchant API, убедитесь, что вы соответствуете следующим требованиям:
- У вас должен быть активный аккаунт Merchant Center (или авторизованный доступ к аккаунту продавца, если вы сторонний поставщик услуг по программам лояльности).
- Включите дополнение Программа лояльности для своего аккаунта. Вы можете включить дополнение одним из следующих способов:
- Интерфейс Merchant Center. Следуйте инструкциям в статье Справочного центра о том, как настроить программу лояльности.
- Вложенный API программ. Включите программу программным способом, как описано в разделе Как включить программы во вложенном API программ.
Ниже приведен пример запроса на включение дополнения "Программа лояльности" с помощью вложенного API программ:
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
Методы
Управлять программами лояльности можно следующими способами:
loyaltyPrograms.createloyaltyPrograms.getloyaltyPrograms.listloyaltyPrograms.updateloyaltyPrograms.delete
Как создать программу лояльности
Чтобы создать новую программу лояльности для аккаунта, используйте метод loyaltyPrograms.create. Укажите подробную информацию, например описание программы, URL регистрации, уровни программы с уникальными преимуществами и требованиями.
Обязательный элемент program_label задает уникальный идентификатор программы лояльности. Например, если указать ярлык my-rewards, то ресурс name будет иметь значение accounts/{ACCOUNT_ID}/programs/loyalty/loyaltyPrograms/my-rewards.
Пример запроса:
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"
]
}
}
Вместо {ACCOUNT_ID} укажите уникальный идентификатор аккаунта Merchant Center.
Ниже приведен пример ответа на успешный запрос.
{
"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.
Пример запроса:
HTTP
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.
Пример запроса:
HTTP
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:
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"
}
В этом примере сервис игнорирует 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, запрос полностью заменит конфигурацию программы лояльности.
Пример запроса:
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
}
}
]
}
Ниже приведен пример ответа на успешный запрос.
{
"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.
Пример запроса:
HTTP
DELETE https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/programs/loyalty/loyaltyPrograms/{PROGRAM_LABEL}
Если запрос выполнен успешно, тело ответа будет пустым.
Дальнейшие действия
- Чтобы связывать отдельных покупателей с уровнями программы лояльности для персонализации результатов обычного поиска в Google, ознакомьтесь с руководством по сервису списков клиентов для программ лояльности.
- Чтобы включить или отключить программы для аккаунта, ознакомьтесь с руководством по работе с вложенным API программ.
- Подробную информацию о настройке программы, редакционных правилах и жалобах можно найти в статье Программы лояльности продавцов Справочного центра Merchant Center.
- Чтобы изучить методы API и определения ресурсов, ознакомьтесь со справочной документацией по Merchant API.