लॉयल्टी कस्टमर मैच सेवा के बारे में खास जानकारी

इस गाइड में, Merchant API में लॉयल्टी कस्टमर मैच सेवा का इस्तेमाल करने का तरीका बताया गया है. इस सेवा की मदद से, कारोबारी या कंपनियां और उनकी ओर से काम करने वाले तीसरे पक्ष के लॉयल्टी प्रोवाइडर, ग्राहकों का लॉयल्टी प्रोग्राम से जुड़ा डेटा मैनेज कर सकते हैं. जैसे, यूज़र आइडेंटिफ़ायर और टियर की जानकारी. इससे Google Search पर, ऑर्गैनिक तरीके से ग्राहकों की दिलचस्पी के हिसाब से खोज नतीजे दिखाए जा सकते हैं. इसके लिए, Google Ads खाते का चालू होना ज़रूरी नहीं है.

खास जानकारी

लॉयल्टी कस्टमर मैच सेवा का इस्तेमाल करके, लॉयल्टी डेटा अपलोड करें. इसके बाद, इस डेटा का इस्तेमाल Google Search पर, लॉयल्टी प्रोग्राम के सदस्यों को उनकी दिलचस्पी के हिसाब से ऑर्गैनिक तरीके से सुविधाएं देने के लिए किया जाता है. जैसे, सदस्यों के लिए तय की गई कीमतें दिखाना. ManageLoyaltyCustomerMatch कस्टम तरीके का इस्तेमाल करके, अपने खरीदारों को लॉयल्टी प्रोग्राम के टियर से जोड़ा जा सकता है. इससे आपको यूज़र आइडेंटिफ़ायर के आधार पर, उनके लॉयल्टी स्टेटस को शामिल करने, अपडेट करने या हटाने की सुविधा मिलती है.

मुख्य सिद्धांत

  • यूनिफ़ाइड इंटरफ़ेस: ग्राहक के लॉयल्टी टियर की जानकारी जोड़ने, अपडेट करने या हटाने के लिए एक यूनीक एंडपॉइंट.
  • निजता को प्राथमिकता देने वाला डिज़ाइन: उपयोगकर्ता की निजता को सुरक्षित रखने और बिना अनुमति के खाते की जांच को रोकने के लिए, एपीआई में GET या LIST ऑपरेशन काम नहीं करते. इससे यह पक्का होता है कि डेटा को वापस पाने या ऑडिट किए बिना मैनेज किया जाए.
  • पहचान के लिए कई विकल्प: उपयोगकर्ताओं को मैच करने के लिए, कम से कम एक मान्य आइडेंटिफ़ायर का इस्तेमाल करें. जैसे, ईमेल पता, घर का पता या फ़ोन नंबर.
  • सहमति के आधार पर डेटा प्रोसेस करना: यह सेवा, ग्राहक से जुड़े डेटा को सिर्फ़ तब सेव और इस्तेमाल करती है, जब असली उपयोगकर्ता ने Google को ज़रूरी सहमति दी हो. खाते के मौजूद होने या सहमति की स्थिति की जांच को रोकने और सुरक्षित रखने के लिए, सेवा बिना किसी सूचना के सफल होने का मैसेज दिखाती है. ऐसा तब होता है, जब कोई मैच नहीं मिलता या सहमति नहीं दी जाती.

ज़रूरी शर्तें

लॉयल्टी कस्टमर मैच की सेवा का इस्तेमाल करने के लिए, ये ज़रूरी शर्तें पूरी करें:

  • खाते का सेटअप: पक्का करें कि आपके पास Merchant Center का चालू खाता हो. अगर आप लॉयल्टी प्रोग्राम की सुविधा देने वाली तीसरे पक्ष की कंपनी हैं, तो पक्का करें कि आपके पास कारोबारी या कंपनी के खाते का ऐक्सेस हो. लॉयल्टी कस्टमर मैच सेवा का इस्तेमाल करने के लिए, आपको Google Ads खाता बनाने की ज़रूरत नहीं है.
  • लॉयल्टी प्रोग्राम का कॉन्फ़िगरेशन: अपने Merchant Center खाते में लॉयल्टी प्रोग्राम चालू करें. साथ ही, पक्का करें कि आपने लॉयल्टी टियर तय किए हों.
  • टियर के क्रम की जानकारी: Merchant Center के यूज़र इंटरफ़ेस (यूआई) में, लॉयल्टी टियर के क्रम की जानकारी रखें. एपीआई, अपनी enum मैपिंग के लिए इसी क्रम का इस्तेमाल करता है.

तरीका: ManageLoyaltyCustomerMatch

ManageLoyaltyCustomerMatch मेथड, ग्राहक के लॉयल्टी असोसिएशन को मैनेज करने के लिए मुख्य इंटरफ़ेस के तौर पर काम करता है. दिए गए इनपुट के आधार पर, सेवा अपने-आप तय करती है कि किसी ग्राहक के लॉयल्टी टियर के स्टेटस को शामिल करना है, अपडेट करना है या हटाना है. यह कार्रवाई आइडमपोटेंट है: बार-बार किए गए एक जैसे अनुरोधों का असर, एक अनुरोध जैसा ही होता है.

यहां दिए गए अनुरोध से पता चलता है कि एपीआई की मदद से, ग्राहक के लॉयल्टी असोसिएशन को कैसे मैनेज किया जाता है:

POST https://merchantapi.googleapis.com/{API_VERSION}/accounts/{ACCOUNT_ID}/loyaltyCustomers:manage

इस अनुरोध में, पाथ के ये ज़रूरी पैरामीटर तय किए गए हैं:

  • API_VERSION: एपीआई का वर्शन, जैसे कि v1.
  • ACCOUNT_ID: Merchant Center खाते का आईडी.

अनुरोध के मुख्य हिस्से में loyaltyCustomer ऑब्जेक्ट शामिल करें.

{
    "userIdentifier": {
      "emailAddress": "string",
      "address": {
        "addressLines": ["string"],
        "locality": "string",
        "administrativeArea": "string",
        "postalCode": "string",
        "regionCode": "string"
      },
      "phoneNumber": "string"
    },
    "loyaltyTier": "LoyaltyTier",
    "pointBalance": "integer"
  }

loyaltyCustomer फ़ील्ड

  • userIdentifier: ग्राहक से मैच करने के लिए इस्तेमाल किए जाने वाले आइडेंटिफ़ायर का सेट. userIdentifier में कम से कम एक फ़ील्ड की जानकारी देना ज़रूरी है. साथ ही, यह जानकारी मान्य होनी चाहिए.
  • loyaltyTier: खरीदार से जुड़ा लॉयल्टी टियर. Merchant Center सेटअप में, टियर के क्रम को मैप करता है. ज़्यादा जानकारी के लिए, loyaltyTier मैपिंग को समझना लेख पढ़ें. किसी मौजूदा असोसिएशन को हटाने के लिए, NON_MEMBER का इस्तेमाल करें.
  • pointBalance: ग्राहक के मौजूदा पॉइंट का बैलेंस.

userIdentifier फ़ील्ड

इनमें से कम से कम एक फ़ील्ड भरें:

  • emailAddress: खरीदार का ईमेल पता.
  • address: खरीदार का पता. PostalCode डालना ज़रूरी है.
  • phoneNumber: खरीदार का फ़ोन नंबर. E.164 फ़ॉर्मैट का इस्तेमाल करने का सुझाव दिया जाता है.

loyaltyTier की मैपिंग को समझना

एपीआई, कस्टम नामों का इस्तेमाल नहीं करता. loyaltyTier ईनम वैल्यू (TIER1 से TIER7) सिमैंटिक लेबल हैं. ये Merchant Center के यूज़र इंटरफ़ेस (यूआई) में असाइन किए गए कस्टम नाम (उदाहरण के लिए, "गोल्ड रिवॉर्ड") या कस्टम लेबल (उदाहरण के लिए, "gold_tier") का इस्तेमाल नहीं करते. इसके बजाय, ये टियर उसी क्रम में मैप किए जाते हैं जिस क्रम में आपने Merchant Center में लॉयल्टी प्रोग्राम की सेटिंग में अपने टियर तय किए हैं:

  • TIER1: यह Merchant Center में आपके लॉयल्टी प्रोग्राम के कॉन्फ़िगरेशन में लिस्ट किए गए पहले टियर से जुड़ा होता है.
  • TIER2: यह Merchant Center में आपके लॉयल्टी प्रोग्राम के कॉन्फ़िगरेशन में लिस्ट किए गए दूसरे टियर से जुड़ा होता है.
  • TIER3 से TIER7: ये वैल्यू, Merchant Center में लॉयल्टी प्रोग्राम के कॉन्फ़िगरेशन में लिस्ट किए गए तीसरे से सातवें टियर के लिए इस्तेमाल की जाती हैं.

उदाहरण:

अगर आपके Merchant Center लॉयल्टी प्रोग्राम में टियर इस क्रम में तय किए गए हैं:

  1. टियर का नाम: "सिल्वर स्टेटस", टियर लेबल: "silver"
  2. टियर का नाम: "Gold Member", टियर लेबल: "gold"
  3. टियर का नाम: "Platinum Elite", टियर लेबल: "platinum"

इसके बाद, accounts.loyaltyCustomers.manage में जाकर, एपीआई कॉल:

  • किसी ग्राहक को "सिल्वर स्टेटस" असाइन करने के लिए, आपको loyaltyTier: TIER1 का इस्तेमाल करना होगा.
  • किसी ग्राहक को "गोल्ड मेंबर" के तौर पर असाइन करने के लिए, आपको loyaltyTier: TIER2 का इस्तेमाल करना होगा.
  • "प्लैटिनम एलीट" टियर में किसी ग्राहक को असाइन करने के लिए, आपको loyaltyTier: TIER3 का इस्तेमाल करना होगा.

LoyaltyTier enum की वैल्यू

  • TIER1
  • TIER2
  • TIER3
  • TIER4
  • TIER5
  • TIER6
  • TIER7
  • NON_MEMBER (इसका इस्तेमाल, ग्राहक के लॉयल्टी असोसिएशन को हटाने का सिग्नल देने के लिए किया जाता है)

ManageLoyaltyCustomerMatch के रिस्पॉन्स की मुख्य जानकारी

ManageLoyaltyCustomerMatch तरीका, एक ManageLoyaltyCustomerMatchResponse ऑब्जेक्ट दिखाता है:

{
  "loyaltyCustomer": {
    // loyaltyCustomer object from the request
  }
}

जवाबों से जुड़ी ज़रूरी बातें

  • अपसर्ट की प्रोसेस पूरी होने पर (डेटा सेव किया गया): किसी ग्राहक के लॉयल्टी टियर असोसिएशन को सेव या अपडेट करने के लिए, ये शर्तें पूरी करें:

    • आपको Google उपयोगकर्ता से मैच किया जाता है. इसके लिए, दिए गए userIdentifier का इस्तेमाल किया जाता है
    • आपने अनुरोध में loyaltyTier को NON_MEMBER के अलावा किसी मान्य वैल्यू पर सेट किया हो
    • मैच किए गए उपयोगकर्ता ने लॉयल्टी डेटा के इस्तेमाल के लिए सहमति दी हो

जवाब में आपके अनुरोध का loyaltyCustomer ऑब्जेक्ट शामिल होता है. इससे पता चलता है कि सेवा ने डेटा को प्रोसेस और सेव कर लिया है:

{
  "loyaltyCustomer": {
    "userIdentifier": {
     "emailAddress": "customer@example.com"
    },
    "loyaltyTier": "TIER2",
    "pointBalance": 1500
    }
}
  • सफलतापूर्वक मिटाना: इस कारोबारी या कंपनी के साथ ग्राहक के लिए, लॉयल्टी असोसिएशन को हटाने के लिए, ये शर्तें पूरी करनी होंगी:
    • आपको Google उपयोगकर्ता से मैच किया जाता है. इसके लिए, दिए गए userIdentifier का इस्तेमाल किया जाता है
    • आपने अनुरोध में loyaltyTier को NON_MEMBER पर सेट किया हो

रिस्पॉन्स, एक खाली JSON ऑब्जेक्ट है:

{}
  • कोई मैच नहीं मिला / सहमति नहीं मिली (बिना किसी गड़बड़ी के प्रोसेस पूरी हुई): अगर दिया गया userIdentifier किसी Google खाते से मैच नहीं होता है या मैच होने वाले उपयोगकर्ता ने लॉयल्टी डेटा के इस्तेमाल की सहमति नहीं दी है, तो एपीआई, खाली JSON ऑब्जेक्ट {} के साथ HTTP 200 OK स्टेटस दिखाता है. ऐसा, अपसर्ट और हटाने की कोशिशों, दोनों के लिए होता है.

उदाहरण

TIER1, तय किए गए पहले टियर से जुड़ा है (उदाहरण के लिए, 'बेसिक') और TIER2, दूसरे टियर से जुड़ा है (उदाहरण के लिए, 'प्रीमियम').

किसी ग्राहक को TIER2 में जोड़ने या ईमेल पते का इस्तेमाल करके उसका स्टेटस अपडेट करने के लिए, यह अनुरोध भेजें:

POST
"https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/loyaltyCustomers:manage"
  -d '{
      "userIdentifier": {
        "emailAddress": "customer@example.com"
      },
      "loyaltyTier": "TIER2",
      "pointBalance": 1500
  }'

जब किसी उपयोगकर्ता की जानकारी मैच हो जाती है और वह सहमति दे देता है, तो एपीआई यह जवाब देता है:

{
  "loyaltyCustomer": {
    "userIdentifier": {
      "emailAddress": "customer@example.com"
    },
    "loyaltyTier": "TIER2",
    "pointBalance": 1500
  }
}

अगर कोई मैच नहीं मिलता है या उपयोगकर्ता ने सहमति नहीं दी है, तो एपीआई यह जवाब देता है:

{}

फ़ोन नंबर का इस्तेमाल करके, किसी ग्राहक के लॉयल्टी प्रोग्राम की जानकारी हटाने के लिए, यह अनुरोध भेजें:

POST
"https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/loyaltyCustomers:manage" \
  -d '{
      "userIdentifier": {
        "phoneNumber": "+18005550132"
      },
      "loyaltyTier": "NON_MEMBER"
  }'

रिकॉर्ड मौजूद हो या नहीं, एपीआई यह रिस्पॉन्स देता है:

{}

एक से ज़्यादा आइडेंटिफ़ायर का इस्तेमाल करके किसी ग्राहक को जोड़ने या अपडेट करने के लिए, यह अनुरोध भेजें:

POST
"https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/loyaltyCustomers:manage" \
  -d '{
      "userIdentifier": {
        "emailAddress": "user@example.com",
        "address": {
          "postalCode": "94043",
          "regionCode": "US"
        }
      },
      "loyaltyTier": "TIER1"
  }'

जवाब, पहले उदाहरण से मिलता-जुलता है. यह मैच और सहमति पर निर्भर करता है.

गड़बड़ी ठीक करना

एपीआई, स्टैंडर्ड एचटीटीपी कोड का इस्तेमाल करता है. गड़बड़ी की आम स्ट्रिंग में ये शामिल हैं:

एचटीटीपी कोड Error String ब्यौरा
400 INVALID_ARGUMENT user_identifier या loyalty_tier मौजूद नहीं है या आइडेंटिफ़ायर खाली है.
401 UNAUTHENTICATED क्रेडेंशियल अमान्य हैं या मौजूद नहीं हैं.
403 PERMISSION_DENIED जिस उपयोगकर्ता की पुष्टि की गई है उसके पास Merchant Center खाते का ऐक्सेस नहीं है.
404 NOT_FOUND आपके कॉन्फ़िगरेशन में, निर्दिष्ट लॉयल्टी टियर लेबल मौजूद नहीं है.
412 FAILED_PRECONDITION आपने अपने खाते में लॉयल्टी प्रोग्राम कॉन्फ़िगर नहीं किया है.
429 RESOURCE_EXHAUSTED कोटे की तय सीमा पूरी हो गई है.

गड़बड़ी के उदाहरण

404 NOT_FOUND का उदाहरण:

किसी ऐसे खाता आईडी के लिए किया गया मान्य अनुरोध जिसके लिए कोई लॉयल्टी प्रोग्राम कॉन्फ़िगर नहीं किया गया है.

एपीआई, गड़बड़ी का यह मैसेज दिखाता है:

{
  "error": {
    "code": 404,
    "message": "The loyalty program is not found for account: {ACCOUNT_ID}.",
    "status": "NOT_FOUND",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.ErrorInfo",
        "reason": "notFound",
        "domain": "merchantapi.googleapis.com",
        "metadata": {
          "ACCOUNT_ID": "{ACCOUNT_ID}",
          "REASON": "NOT_FOUND_LOYALTY_PROGRAM"
        }
      }
    ]
  }
}

वजह: पाथ में मौजूद कारोबारी खाते में कोई लॉयल्टी प्रोग्राम चालू नहीं है.

400 INVALID_ARGUMENT के उदाहरण:

अगर अनुरोध में loyaltyTier फ़ील्ड के लिए कोई अमान्य वैल्यू शामिल है, तो गड़बड़ी होती है:

{
  "loyaltyCustomer": {
    "userIdentifier": {
      "emailAddress": "customer@example.com"
    },
    "loyaltyTier": "TIER11",
    "pointBalance": 100
  }
}

एपीआई, गड़बड़ी का यह मैसेज दिखाता है:

{
  "error": {
    "code": 400,
    "message": "Invalid value at 'loyalty_customer.loyalty_tier' (type.googleapis.com/google.shopping.merchant.loyaltycustomers.v1.LoyaltyCustomer.LoyaltyTier), \"TIER11\"",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.BadRequest",
        "fieldViolations": [
          {
            "field": "loyalty_customer.loyalty_tier",
            "description": "Invalid value at 'loyalty_customer.loyalty_tier' (type.googleapis.com/google.shopping.merchant.loyaltycustomers.v1.LoyaltyCustomer.LoyaltyTier), \"TIER11\""
          }
        ]
      }
    ]
  }
}

वजह: TIER11, loyaltyTier के लिए मान्य enum वैल्यू नहीं है. अगर सिर्फ़ एक टियर उपलब्ध है और आपने TIER2 को तय करने की कोशिश की, तो भी यही गड़बड़ी हो सकती है.

अगर अनुरोध के मुख्य हिस्से में ज़रूरी loyaltyTier फ़ील्ड मौजूद नहीं है, तो गड़बड़ी होती है:

{
  "loyaltyCustomer": {
    "userIdentifier": {
      "emailAddress": "customer@example.com"
    },
    "pointBalance": 100
  }
}

एपीआई, गड़बड़ी का यह मैसेज दिखाता है:

{
  "error": {
    "code": 400,
    "message": "[loyalty_customer.loyalty_tier] Required field not provided: loyalty_customer.loyalty_tier",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.ErrorInfo",
        "reason": "required",
        "domain": "merchantapi.googleapis.com",
        "metadata": {
          "FIELD_LOCATION": "loyalty_customer.loyalty_tier",
          "REASON": "MISSING_REQUIRED_FIELD"
        }
      }
    ]
  }
}

वजह: loyaltyTier फ़ील्ड भरना ज़रूरी है.

अगर पते का आइडेंटिफ़ायर अधूरा है, तो गड़बड़ी होती है. जैसे, postalCode फ़ील्ड मौजूद न होने पर:

{
  "loyaltyCustomer": {
    "userIdentifier": {
      "address": {
        "locality": "Sunnyvale",
        "administrativeArea": "CA",
        "regionCode": "US"
      }
    },
    "loyaltyTier": "TIER1",
    "pointBalance": 100
  }
}

एपीआई, गड़बड़ी का यह मैसेज दिखाता है:

{
  "error": {
    "code": 400,
    "message": "[loyalty_customer.user_identifier] The format of loyalty_customer.user_identifier does not match the expected format ... Value: at least one valid user identifier should be provided.",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.ErrorInfo",
        "reason": "invalid",
        "domain": "merchantapi.googleapis.com",
        "metadata": {
          "FIELD_NAME": "loyalty_customer.user_identifier",
          "REASON": "INVALID_VALUE"
        }
      }
    ]
  }
}

वजह: पता दिया गया है, लेकिन इसमें ज़रूरी postalCode फ़ील्ड मौजूद नहीं है. इसलिए, इसे मान्य आइडेंटिफ़ायर नहीं माना जाता.

अगर आपने किसी ऐसे टियर इंडेक्स का अनुरोध किया है जो कॉन्फ़िगर किए गए प्रोग्राम की तय सीमा से बाहर है, तो गड़बड़ी होती है:

स्थिति: कारोबारी या कंपनी ने Merchant Center में सिर्फ़ एक टियर कॉन्फ़िगर किया है.

{
  "loyaltyCustomer": {
    "userIdentifier": {
      "emailAddress": "customer@example.com"
    },
    "loyaltyTier": "TIER2",
    "pointBalance": 100
  }
}

एपीआई, गड़बड़ी का यह मैसेज दिखाता है:

{
  "error": {
    "code": 400,
    "message": "[loyalty_customer.loyalty_tier] The format of loyalty_customer.loyalty_tier does not match the expected format `valid LoyaltyTier`. Value: TIER2.",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.ErrorInfo",
        "reason": "invalid",
        "domain": "merchantapi.googleapis.com",
        "metadata": {
          "FIELD_NAME": "loyalty_customer.loyalty_tier",
          "PATTERN": "valid LoyaltyTier",
          "FIELD_VALUE": "TIER2",
          "REASON": "INVALID_VALUE"
        }
      }
    ]
  }
}

वजह: TIER2 का अनुरोध किया गया है, लेकिन खाते से लिंक किए गए लॉयल्टी प्रोग्राम में दूसरा टियर तय नहीं किया गया है.

अगर अनुरोध में गलत तरीके से फ़ॉर्मैट किया गया emailAddress शामिल है, तो गड़बड़ी होती है:

{
  "loyaltyCustomer": {
    "userIdentifier": {
      "emailAddress": "customer@google"
    },
    "loyaltyTier": "TIER1",
    "pointBalance": 100
  }
}

एपीआई, गड़बड़ी का यह मैसेज दिखाता है:

{
  "error": {
    "code": 400,
    "message": "[loyalty_customer.user_identifier] The format of loyalty_customer.user_identifier does not match the expected format `email_address: \t \"customer@google\"\n`. Value: at least one valid user identifier should be provided.",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.ErrorInfo",
        "reason": "invalid",
        "domain": "merchantapi.googleapis.com",
        "metadata": {
          "FIELD_NAME": "loyalty_customer.user_identifier",
          "REASON": "INVALID_VALUE"
        }
      }
    ]
  }
}

वजह: ईमेल पते का फ़ॉर्मैट अमान्य है.

अगर userIdentifier ऑब्जेक्ट खाली है, तो गड़बड़ी होती है:

{
  "loyaltyCustomer": {
    "userIdentifier": {},
    "loyaltyTier": "TIER1",
    "pointBalance": 100
  }
}

एपीआई, गड़बड़ी का यह मैसेज दिखाता है:

{
  "error": {
    "code": 400,
    "message": "[loyalty_customer.user_identifier] Required field not provided: loyalty_customer.user_identifier",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.ErrorInfo",
        "reason": "required",
        "domain": "merchantapi.googleapis.com",
        "metadata": {
          "FIELD_LOCATION": "loyalty_customer.user_identifier",
          "REASON": "MISSING_REQUIRED_FIELD"
        }
      }
    ]
  }
}

वजह: userIdentifier ऑब्जेक्ट मौजूद है, लेकिन इसमें आइडेंटिफ़ायर का कोई असल फ़ील्ड नहीं है.

ध्यान दें: आइडेंटिफ़ायर की पुष्टि करना.:

  • एपीआई, आइडेंटिफ़ायर के बुनियादी फ़ॉर्मैट की जांच करता है. उदाहरण के लिए, ईमेल का स्ट्रक्चर, पतों में postalCode की मौजूदगी.
  • हालांकि, शुरुआती जांच में पास होने वाले कुछ आइडेंटिफ़ायर, Google के किसी उपयोगकर्ता खाते से मैच नहीं हो सकते. इसके अलावा, ऐसा भी हो सकता है कि वे बैकएंड मैचिंग सिस्टम के साथ काम करने वाले फ़ॉर्मैट में न हों. ऐसे मामलों में, आपको एचटीटीपी स्टेटस 200 OK के साथ, साइलेंट सक्सेस वाला खाली रिस्पॉन्स {} मिलेगा.

सबसे सही तरीके

इंटिग्रेशन को ऑप्टिमाइज़ करने के लिए, ये सबसे सही तरीके अपनाएं.

  • बड़े पैमाने पर इंटिग्रेशन के लिए: एपीआई, हर अनुरोध के आधार पर काम करता है. इसलिए, बड़े डेटासेट के लिए ज़रूरी थ्रूपुट हासिल करने के लिए, क्लाइंट-साइड पैरललिज़्म की ज़रूरत होती है. आपको अपना इंटिग्रेशन इस तरह से डिज़ाइन करना चाहिए कि वह एक साथ कई अनुरोधों को मैनेज कर सके. पैरललाइज़ेशन की मदद से, ज़्यादा वॉल्यूम को मैनेज करने के लिए, अपने लागू करने के तरीके को स्ट्रक्चर करने के बारे में जानकारी पाने के लिए, एक से ज़्यादा अनुरोध भेजने का तरीका लेख पढ़ें.

  • कोटा मैनेजमेंट: डिफ़ॉल्ट कोटा, हर दिन 10,00,000 अनुरोध और हर मिनट 10,000 अनुरोध है. अपने कोटे को मॉनिटर करने और देखने का तरीका जानने के लिए, कोटा और सीमाएं देखें.

  • ईमेल पते को प्राथमिकता दें: जब भी संभव हो, userIdentifier में ग्राहक का emailAddress शामिल करें. उपयोगकर्ताओं को उनके Google खातों से मैच करने के लिए, ईमेल पते आम तौर पर सबसे सटीक और भरोसेमंद आइडेंटिफ़ायर होते हैं.

  • खाली जवाबों को हैंडल करना: अपने ऐप्लिकेशन को इस तरह डिज़ाइन करें कि वह खाली {} जवाबों को सफल के तौर पर सही तरीके से समझे. साथ ही, यह समझे कि निजता की वजहों से डेटा सेव नहीं किया गया था. जैसे, कोई मैच नहीं हुआ या सहमति नहीं मिली. अनुरोध को फिर से न भेजें.

  • टियर के क्रम की पुष्टि करना: Merchant Center के यूज़र इंटरफ़ेस (यूआई) में, लॉयल्टी टियर के क्रम की पुष्टि हमेशा करें. इससे यह पक्का किया जा सकेगा कि एपीआई कॉल में, TIER1 से लेकर TIER7 तक की enum वैल्यू का सही तरीके से इस्तेमाल किया जा रहा है. यह मैपिंग, यूज़र इंटरफ़ेस (यूआई) में तय किए गए क्रम के आधार पर होती है, न कि उनके नाम के आधार पर.

  • गड़बड़ियों पर नज़र रखें: एपीआई से मिले जवाबों को लॉग करें और उन पर नज़र रखें. इंटिग्रेशन से जुड़ी समस्याओं को पकड़ने के लिए, 4xx गड़बड़ियों पर ध्यान दें. खास तौर पर, 404 गड़बड़ियों पर ध्यान दें. इनसे पता चल सकता है कि टियर की जानकारी में कोई गड़बड़ी है.