Bağlılık programlarına genel bakış

Bağlılık programlarını kullanarak mağazanızın avantajlarını Google'da sergileyin. Ücretsiz kargo, puanlar ve üyelere özel fiyatlandırma gibi çeşitli avantajlar sunabilirsiniz. Bağlılık programınızın avantajları Google Arama, Alışveriş sekmesi ve Google Cüzdan gibi Google platformlarındaki ücretsiz listelemelerde, Alışveriş reklamlarında ve yerel envanter reklamlarında gösterilebilir.

Merchant API sayesinde satıcılar ve satıcılar adına hareket eden üçüncü taraf bağlılık sağlayıcılar, LoyaltyProgramService kullanarak bağlılık programlarını programatik olarak yapılandırabilir ve yönetebilir. Bu hizmet, bağlılık programları oluşturmanıza, almanıza, listelemenize, güncellemenize ve silmenize olanak tanır.

İşletme şartları ve politika yönergeleri hakkında daha fazla bilgi için Merchant Center Yardım Merkezi'ndeki Satıcı bağlılık programı hakkında başlıklı makaleyi inceleyin.

Temel kavramlar

Bağlılık programlarıyla çalışırken aşağıdaki kavramları ve sınırlamaları göz önünde bulundurun:

  • Hesap düzeyinde tanımlayıcı: Merchant API, bağlılık programlarını, sahibi olan Merchant Center hesap kimliğine göre tanımlar.

  • Tek program sınırı: Merchant API, satıcı hesabı başına yalnızca bir bağlılık programını destekler.

  • Doğrudan hesap sahipliği: Bağlılık programları doğrudan hedef satıcı hesabında (accounts/{ACCOUNT_ID}) yapılandırılmalıdır. Hizmet, alt hesaplar için gelişmiş hesap düzeyinde bağlılık programlarının yönetilmesini desteklemez. Bir satıcının hesabına yetkili erişimi olan üçüncü taraf bağlılık programı sağlayıcıları, programı satıcı adına yönetebilir.

  • İçerik incelemesi: Bağlılık programı oluşturulduktan veya güncellendikten sonra incelenir. review_result.review_status alanı, programın UNDER_REVIEW, APPROVED veya REJECTED olup olmadığını gösterir. Güncelleme önemli bir değişiklik yapmasa bile her başarılı güncelleme, programı inceleme sırasına geri gönderir. Google, inceleme sürecinde programı müşterilerden gizler. İnceleme işlemi 48 saati bulabilir.

  • Desteklenen bölgeler: Satıcı bağlılık programları; ABD, Almanya, Avustralya, Birleşik Krallık, Brezilya, Fransa, Güney Kore, Hindistan, Hollanda, İspanya, İtalya, Japonya, Kanada ve Meksika gibi desteklenen ülkelerde kullanılabilir.

  • Etkin bölgeler: Bağlılık programının regionCodes değeri, accounts/{ACCOUNT_ID}/programs/loyalty için activeRegionCodes değerinin bir alt kümesi olmalıdır. Aksi takdirde, oluşturma, güncelleme ve silme istekleri LOYALTY_PROGRAM_DISABLED hatasıyla başarısız olur. Google, bağlılık programı eklentisi etkinleştirildiğinde ve hesap ilgili ülkedeki uygunluk koşullarını karşıladığında desteklenen bir ülkeyi etkinleştirir. Örneğin, ücretsiz listelemeler programı etkinse ve birincil ürün veri kaynağı, FREE_LISTINGS hedefi için ülkeyi hedefliyorsa hesap uygundur. Bir ülkenin neden etkin olmadığını öğrenmek için Etkin bölgeleri kontrol etme başlıklı makaleyi inceleyin.

  • Katman koşulları: Katmanlara ücretsiz olarak katılmak mümkün olabilir veya üyelik ücreti, harcama eşiği ya da satıcı markalı kredi kartı gerekebilir. Mesleğe dayalı katmanlar (ör. öğrenci veya asker katmanları) desteklenmez.

  • Avantajlar: Programlar ücretsiz kargo, kullanılabilir puanlar ve üyelere özel fiyatlandırmayı destekler. Reklamlarda üyelik fiyatı için normal veya indirimli fiyat üzerinden en az %5 ya da 5 para birimi tutarında indirim yapılması gerekir.

Ön koşullar

Bağlılık programlarını Merchant API ile yönetmeden önce aşağıdaki koşulları karşıladığınızdan emin olun:

  • Etkin bir Merchant Center hesabınız olmalıdır (veya üçüncü taraf bağlılık programı sağlayıcısıysanız satıcının hesabına yetkili erişiminiz olmalıdır).
  • Hesabınız için Bağlılık programı eklentisini etkinleştirin. Eklentiyi aşağıdaki seçeneklerden birini kullanarak etkinleştirebilirsiniz:

  • Bağlılık programınızı sunmak istediğiniz ülkeler hesabınız için etkin olmalıdır. Hangi ülkelerin etkin olduğunu öğrenmek için Etkin bölgeleri kontrol etme başlıklı makaleyi inceleyin.

Programs alt API'sini kullanarak bağlılık programı eklentisini etkinleştirmek için örnek bir istek:

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

Etkin bölgeleri kontrol etme

Bağlılık programı eklentisini etkinleştirdikten sonra accounts/{ACCOUNT_ID}/programs/loyalty için accounts.programs.get yöntemini çağırın. Yanıtta, bağlılık programlarını kullanabileceğiniz yerler ve desteklenen diğer ülkelerin neden etkin olmadığı gösterilir.

Aşağıda örnek bir istek verilmiştir:

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

{ACCOUNT_ID} ifadesini Merchant Center hesabınızın benzersiz tanımlayıcısıyla değiştirin.

Eklentiyi etkinleştiren ve yalnızca ABD'de uygun olan bir hesap için örnek yanıtı aşağıda bulabilirsiniz:

{
  "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"
      ]
    }
  ]
}

Bu yanıtta aşağıdaki alanları inceleyin:

  • activeRegionCodes: Bağlılık programınızın regionCodes bölümünde kullanabileceğiniz ülkeler. Yukarıdaki örnekte yalnızca US etkindir.
  • unmetRequirements: Desteklenen diğer ülkelerin etkin olmamasının nedeni. Bağlılık programları için bu, IS_ELIGIBLE_FOR_LOYALTY koşuludur.
    • affectedRegionCodes: Hesabın uygun olmadığı desteklenen ülkeler.
    • documentationUri: Uygunluk koşullarının bağlantısı.

Yukarıdaki örnekte, affectedRegionCodes içindeki ülkeleri henüz kullanamazsınız. Bağlılık programınızın regionCodes değeri bunlardan birini içeriyorsa oluşturma, güncelleme ve silme istekleri LOYALTY_PROGRAM_DISABLED hatasıyla başarısız olur. Bir ülkeyi etkinleştirmek için aşağıdakileri yapın:

  1. Hesabı o ülkede uygun hale getirin. Örneğin, ücretsiz listelemeler programını etkinleştirin ve FREE_LISTINGS hedefi için ülkeyi hedefleyecek bir birincil ürün veri kaynağı ayarlayın. Uygunluk koşullarını karşılamanın tüm yolları için uygunluk koşullarını inceleyin.
  2. accounts.programs.get yöntemini tekrar çağırın ve ülkenin activeRegionCodes içinde olduğunu kontrol edin.

affectedRegionCodes, satış yapmadığınız ülkeleri içerebilir. Bu ülkeler için herhangi bir işlem yapmanız gerekmez. activeRegionCodes kapsamındaki ülkeleri etkilemez.

Yöntemler

Bağlılık programlarını aşağıdaki yöntemleri kullanarak yönetebilirsiniz:

Bağlılık programı oluşturma

Bir hesap için yeni bağlılık programı oluşturmak istiyorsanız loyaltyPrograms.create yöntemini kullanın. Program açıklamaları, kayıt URL'si ve program katmanları gibi ayrıntıları, benzersiz avantajları ve şartlarıyla birlikte belirtin.

Zorunlu program_label, bağlılık programının benzersiz tanımlayıcısını ayarlar. Örneğin, my-rewards etiketini sağlamak, accounts/{ACCOUNT_ID}/programs/loyalty/loyaltyPrograms/my-rewards değerinde bir name kaynağı oluşturur.

Aşağıda örnek bir istek verilmiştir:

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} ifadesini Merchant Center hesabınızın benzersiz tanımlayıcısıyla değiştirin.

Başarılı bir isteğin örnek yanıtını aşağıda bulabilirsiniz:

{
  "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"
  ]
}

Bağlılık programını alma

Sahibi olduğunuz belirli bir bağlılık programının ayrıntılarını almak için loyaltyPrograms.get yöntemini kullanın.

Aşağıda örnek bir istek verilmiştir:

HTTP

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

{ACCOUNT_ID} değerini hesap kimliğinizle, {PROGRAM_LABEL} değerini ise bağlılık programının benzersiz etiketiyle (ör. my-rewards) değiştirin.

Başarılı bir isteğin örnek yanıtını aşağıda bulabilirsiniz:

{
  "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"
  ]
}

Bağlılık programlarını listeleme

Hesabınızla ilişkili tüm bağlılık programlarını listelemek için loyaltyPrograms.list yöntemini kullanın.

Aşağıda örnek bir istek verilmiştir:

HTTP

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

Başarılı bir isteğin örnek yanıtını aşağıda bulabilirsiniz:

{
  "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"
      ]
    }
  ]
}

Bağlılık programını güncelleme

Mevcut bir bağlılık programını güncellemek için loyaltyPrograms.update yöntemini kullanın. update_mask kullanarak kısmi güncelleme yapın veya maskeyi atlayarak tam değiştirme yapın. Her başarılı güncelleme yeni bir içerik incelemesini tetikler. Bu nedenle, yalnızca bir değer değiştiğinde güncelleme gönderin.

Güncelleme maskesiyle kısmi güncelleme

update_mask, güncellenecek alanları tam olarak belirtmenize olanak tanır. Yalnızca maskede listelenen alanlar değiştirilir, listelenmeyen alanlar ise değişmeden kalır. Güncelleme maskesinde belirtilmeyen alanlar, istek içeriğinde belirtilmiş olsa bile yoksayılır.

Aşağıdaki örnek istek yalnızca programDescriptions ve advancedSettings değerlerini günceller:

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"
}

Bu örnekte hizmet, update_mask içinde yer almadığı için signupUrl değerini yoksayar. programDescriptions alanı, önceden yapılandırılmış tüm açıklamaların tamamen yerini alır.

Başarılı bir isteğe verilen örnek yanıtı aşağıda bulabilirsiniz:

{
  "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
  }
}

Güncelleme maskesi olmadan tam değiştirme

update_mask parametresini atladığınızda istek, bağlılık programı yapılandırmasını tamamen değiştirir.

Aşağıda örnek bir istek verilmiştir:

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
      }
    }
  ]
}

Başarılı bir isteğe verilen örnek yanıtı aşağıda bulabilirsiniz:

{
  "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"
  ]
}

Bağlılık programını silme

Hesabınızdan bir bağlılık programını silmek için loyaltyPrograms.delete yöntemini kullanın.

Aşağıda örnek bir istek verilmiştir:

HTTP

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

Başarılı olursa yanıt gövdesi boş olur.

Sonraki adımlar