ภาพรวมของบริการการจับคู่ข้อมูลลูกค้าตามโปรแกรมสะสมคะแนน

คู่มือนี้อธิบายวิธีใช้บริการการจับคู่ข้อมูลลูกค้าเพื่อความภักดีใน Merchant API บริการนี้ช่วยให้ผู้ขายจัดการข้อมูลความภักดีของลูกค้าได้ เช่น ตัวระบุผู้ใช้และข้อมูลระดับ สำหรับการปรับเปลี่ยนในแบบของคุณแบบทั่วไปใน Google Search โดยไม่ต้องมีบัญชี Google Ads ที่ใช้งานอยู่

ภาพรวม

ใช้บริการการจับคู่ข้อมูลลูกค้าตามโปรแกรมสะสมคะแนนเพื่ออัปโหลดข้อมูลโปรแกรมสะสมคะแนน ซึ่งจะนำไปใช้เพื่อให้บริการฟีเจอร์การปรับเปลี่ยนโปรแกรมสะสมคะแนนในแบบของคุณใน Google Search เช่น การแสดงราคาสำหรับสมาชิกโดยเฉพาะ คุณใช้ManageLoyaltyCustomerMatch วิธีการที่กำหนดเองเพื่อเชื่อมโยงลูกค้ากับระดับโปรแกรมสะสมคะแนน ซึ่งช่วยให้คุณแทรก อัปเดต หรือนำออกสถานะการสะสมคะแนนของลูกค้าได้โดยอิงตามตัวระบุผู้ใช้

หัวข้อสำคัญ

  • อินเทอร์เฟซแบบรวม: ปลายทางที่ไม่ซ้ำกันสำหรับเพิ่ม อัปเดต หรือนำรายละเอียดระดับความภักดีของลูกค้าออก
  • การออกแบบที่ให้ความสำคัญกับความเป็นส่วนตัวเป็นอันดับแรก: API ไม่รองรับการดำเนินการ GET หรือ LIST เพื่อปกป้องความเป็นส่วนตัวของผู้ใช้และป้องกันการตรวจสอบบัญชีที่ไม่ได้รับอนุญาต จึงมั่นใจได้ว่าระบบจะจัดการข้อมูลโดยไม่ต้องดึงข้อมูลหรือตรวจสอบ
  • การระบุตัวตนที่ยืดหยุ่น: จับคู่ผู้ใช้โดยใช้ตัวระบุที่ถูกต้องอย่างน้อย 1 รายการ เช่น อีเมล ที่อยู่จริง หรือหมายเลขโทรศัพท์
  • การประมวลผลตามความยินยอม: บริการจะจัดเก็บและใช้ข้อมูลลูกค้าเฉพาะเมื่อผู้ใช้ปลายทางได้ให้ความยินยอมที่จำเป็นแก่ Google เท่านั้น เพื่อปกป้องและป้องกันการตรวจสอบการมีอยู่ของบัญชีหรือสถานะความยินยอม บริการจะแสดงผลสำเร็จแบบเงียบหากไม่พบรายการที่ตรงกันหรือไม่ได้ให้ความยินยอม

ข้อกำหนดเบื้องต้น

ทำตามข้อกำหนดต่อไปนี้เพื่อใช้บริการการจับคู่ข้อมูลลูกค้าจากโปรแกรมสะสมคะแนน

  • การตั้งค่าบัญชี: ตรวจสอบว่าคุณมีบัญชี Merchant Center ที่ใช้งานอยู่ คุณไม่จำเป็นต้องสร้างบัญชี Google Ads เพื่อใช้ บริการจับคู่ข้อมูลลูกค้าจากโปรแกรมสะสมคะแนน
  • การกำหนดค่าโปรแกรมสะสมคะแนน: เปิดใช้โปรแกรมสะสมคะแนนในบัญชี Merchant Center และตรวจสอบว่าคุณได้กำหนดระดับขั้นของโปรแกรมสะสมคะแนนแล้ว
  • การรับรู้ลำดับชั้น: โปรดทราบลำดับชั้นของโปรแกรมสะสมคะแนน ที่กำหนดไว้ใน UI ของ Merchant Center API ใช้ลำดับนี้ในการแมป Enum

วิธีการ: ManageLoyaltyCustomerMatch

ManageLoyaltyCustomerMatch วิธีนี้ทำหน้าที่เป็นอินเทอร์เฟซส่วนกลางสำหรับ การจัดการการเชื่อมโยงความภักดีของลูกค้า บริการจะพิจารณาโดยอัตโนมัติว่าจะแทรก อัปเดต หรือนำสถานะระดับความภักดีของลูกค้าออกหรือไม่ โดยอิงตามข้อมูลที่ระบุ การดำเนินการเป็นแบบ ไอดีมโพเทนต์: คำขอที่เหมือนกันซ้ำๆ จะส่งผลเช่นเดียวกับคำขอเดียว

คำขอต่อไปนี้แสดงวิธีจัดการการเชื่อมโยงความภักดีของลูกค้า ผ่าน API

POST https://merchantapi.googleapis.com/{api_version}/accounts/{account_id}/loyaltyCustomers:manage

คำขอนี้กำหนดพารามิเตอร์เส้นทางที่ต้องระบุต่อไปนี้

  • api_version: เวอร์ชัน API เช่น 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: ชุดตัวระบุที่ใช้เพื่อจับคู่ลูกค้า ต้องระบุและตรวจสอบช่องอย่างน้อย 1 ช่องภายใน userIdentifier
  • loyaltyTier: ระดับความภักดีที่จะเชื่อมโยงกับ ลูกค้า แมปกับลำดับของระดับในการตั้งค่า Merchant Center โปรดดูรายละเอียดที่หัวข้อ ทำความเข้าใจการเชื่อมโยง loyaltyTier ใช้ NON_MEMBER เพื่อนำการเชื่อมโยงที่มีอยู่ออก
  • pointBalance: ยอดคะแนนคงเหลือปัจจุบันของลูกค้า

ฟิลด์ userIdentifier

ต้องระบุช่องต่อไปนี้อย่างน้อย 1 ช่อง

  • emailAddress: อีเมลของลูกค้า
  • ที่อยู่: ที่อยู่จริงของลูกค้า ต้องระบุรหัสไปรษณีย์
  • phoneNumber: หมายเลขโทรศัพท์ของลูกค้า ขอแนะนำให้ใช้รูปแบบ E.164

ทำความเข้าใจloyaltyTierการแมป

API จะไม่ใช้ชื่อที่กำหนดเอง ค่า enum loyaltyTier (TIER1 ถึง TIER7) คือป้ายกำกับเชิงความหมาย โดยจะไม่ใช้ชื่อที่กำหนดเอง (เช่น "Gold Rewards") หรือป้ายกำกับที่กำหนดเอง (เช่น "gold_tier") ที่คุณกำหนดใน UI ของ Merchant Center แต่จะแมปตามลำดับที่คุณกำหนดระดับในการตั้งค่าโปรแกรมสะสมคะแนนใน Merchant Center อย่างเคร่งครัด

  • TIER1: สอดคล้องกับระดับขั้นแรกที่แสดงในการกำหนดค่าโปรแกรมสะสมคะแนนของ Merchant Center
  • TIER2: สอดคล้องกับระดับที่ 2 ที่แสดงในการกำหนดค่าโปรแกรมสะสมคะแนนใน Merchant Center
  • TIER3 ถึง TIER7: สอดคล้องกับระดับขั้นที่ 3 ถึง 7 ที่แสดงในการกำหนดค่าโปรแกรมสะสมคะแนนของ Merchant Center

ตัวอย่างเช่น

หากโปรแกรมสะสมคะแนน Merchant Center มีการกำหนดระดับขั้นตามลำดับต่อไปนี้

  1. ชื่อระดับ: "สถานะสีเงิน", ป้ายกำกับระดับ: "silver"
  2. ชื่อระดับ: "สมาชิกโกลด์", ป้ายกำกับระดับ: "gold"
  3. ชื่อระดับ: "Platinum Elite", ป้ายกำกับระดับ: "platinum"

จากนั้นในaccounts.loyaltyCustomers.manage การเรียก API ให้ทำดังนี้

  • หากต้องการกำหนดลูกค้าให้มี"สถานะซิลเวอร์" คุณต้องใช้ loyaltyTier: TIER1
  • หากต้องการกำหนดลูกค้าให้เป็น "Gold Member" คุณต้องใช้ loyaltyTier: TIER2
  • หากต้องการกำหนดลูกค้าให้เป็น "Platinum Elite" คุณต้องใช้ loyaltyTier: TIER3

ค่า enum ของ LoyaltyTier

  • 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 หรือหากผู้ใช้ที่ตรงกันไม่ยินยอม ให้ใช้ข้อมูลความภักดี API จะแสดงสถานะ HTTP 200 OK พร้อมออบเจ็กต์ JSON ว่าง: {} ซึ่งจะเกิดขึ้นทั้งสำหรับการพยายามแทรก/อัปเดตและการนำออก

ตัวอย่าง

TIER1 สอดคล้องกับระดับแรกที่กำหนดของผู้ขาย ซึ่งก็คือระดับที่ชื่อว่า "พื้นฐาน" และ TIER2 สอดคล้องกับระดับที่สอง ซึ่งก็คือระดับ "พรีเมียม"

หากต้องการเพิ่มลูกค้าไปยัง TIER2 หรืออัปเดตสถานะของลูกค้าโดยใช้อีเมล ให้ส่งคำขอต่อไปนี้

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

เมื่อจับคู่ผู้ใช้ได้สำเร็จและได้รับความยินยอมแล้ว API จะแสดงการตอบกลับต่อไปนี้

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

หากไม่มีรายการที่ตรงกันหรือผู้ใช้ไม่ยินยอม API จะแสดงการตอบกลับต่อไปนี้

{}

หากต้องการนำการเชื่อมโยงความภักดีของลูกค้าออกโดยใช้หมายเลขโทรศัพท์ ให้ส่งคำขอต่อไปนี้

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

ไม่ว่าจะมีระเบียนอยู่หรือไม่ก็ตาม API จะแสดงการตอบกลับที่สำเร็จต่อไปนี้

{}

หากต้องการเพิ่มหรืออัปเดตลูกค้าโดยใช้ตัวระบุหลายรายการ ให้ส่งคำขอต่อไปนี้

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

การตอบกลับจะคล้ายกับตัวอย่างแรก โดยขึ้นอยู่กับการจับคู่และความยินยอม

การจัดการข้อผิดพลาด

API ใช้รหัส HTTP มาตรฐาน สตริงข้อผิดพลาดที่พบบ่อย ได้แก่

รหัส HTTP Error String คำอธิบาย
400 INVALID_ARGUMENT ไม่มี user_identifier หรือ loyalty_tier หรือตัวระบุว่างเปล่า
401 ไม่ได้ตรวจสอบสิทธิ์ ข้อมูลเข้าสู่ระบบไม่ถูกต้องหรือไม่มี
403 PERMISSION_DENIED ผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์ไม่มีสิทธิ์เข้าถึงบัญชี Merchant Center ที่ระบุ
404 NOT_FOUND ป้ายกำกับระดับขั้นในโปรแกรมสะสมคะแนนที่ระบุไม่มีอยู่ในการกำหนดค่า
412 FAILED_PRECONDITION คุณยังไม่ได้กำหนดค่าโปรแกรมสะสมคะแนนในบัญชี
429 RESOURCE_EXHAUSTED ถึงขีดจำกัดโควต้าแล้ว

ตัวอย่างข้อผิดพลาด

ตัวอย่างสำหรับ 404 NOT_FOUND:

คำขอที่ถูกต้องไปยังรหัสบัญชีที่ไม่ได้กำหนดค่าโปรแกรมสะสมคะแนน

API จะแสดงการตอบกลับข้อผิดพลาดต่อไปนี้

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

API จะแสดงการตอบกลับข้อผิดพลาดต่อไปนี้

{
  "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 ไม่ใช่ค่า enum ที่ถูกต้องสำหรับ loyaltyTier ข้อผิดพลาดเดียวกันนี้อาจเกิดขึ้นเมื่อคุณพยายามระบุ TIER2 ในขณะที่มีเพียงระดับเดียว ที่พร้อมใช้งาน

ระบบจะแสดงข้อผิดพลาดหากไม่มีช่อง loyaltyTier ที่จำเป็นในคำขอ เนื้อหา:

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

API จะแสดงการตอบกลับข้อผิดพลาดต่อไปนี้

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

API จะแสดงการตอบกลับข้อผิดพลาดต่อไปนี้

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

API จะแสดงการตอบกลับข้อผิดพลาดต่อไปนี้

{
  "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 แต่โปรแกรมสะสมคะแนนที่ลิงก์กับบัญชี ไม่ได้กำหนดระดับที่ 2 ไว้

ระบบจะแสดงข้อผิดพลาดหากคำขอมี emailAddress ที่มีรูปแบบไม่ถูกต้อง

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

API จะแสดงการตอบกลับข้อผิดพลาดต่อไปนี้

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

API จะแสดงการตอบกลับข้อผิดพลาดต่อไปนี้

{
  "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 มีอยู่ แต่ไม่มีฟิลด์ตัวระบุจริง

หมายเหตุเกี่ยวกับการตรวจสอบตัวระบุ:

  • API จะตรวจสอบรูปแบบพื้นฐานของตัวระบุ (เช่น โครงสร้างอีเมล การมี postalCode ในที่อยู่)
  • อย่างไรก็ตาม ตัวระบุบางรายการที่ผ่านการตรวจสอบเบื้องต้นอาจไม่ตรงกับบัญชีผู้ใช้ Google หรืออาจไม่ได้อยู่ในรูปแบบที่ระบบการจับคู่แบ็กเอนด์รู้จัก ในกรณีดังกล่าว คุณจะได้รับการตอบกลับที่ว่างเปล่าซึ่งระบุว่าสำเร็จโดยไม่มีการแจ้งเตือน {} พร้อมสถานะ HTTP 200 OK

แนวทางปฏิบัติแนะนำ

ทําตามแนวทางปฏิบัติแนะนำเหล่านี้เพื่อเพิ่มประสิทธิภาพการผสานรวม

  • สำหรับการผสานรวมขนาดใหญ่: เนื่องจาก API ทำงานตามคำขอแต่ละรายการ จึงต้องใช้การทำงานแบบขนานฝั่งไคลเอ็นต์เพื่อให้ได้อัตราการส่งข้อมูลที่จำเป็นสำหรับชุดข้อมูลขนาดใหญ่ คุณควรออกแบบการผสานรวมเพื่อจัดการคำขอพร้อมกันหลายรายการ ดูคำแนะนำเกี่ยวกับวิธีจัดโครงสร้างการติดตั้งใช้งานเพื่อรองรับปริมาณที่สูงขึ้นผ่านการประมวลผลแบบคู่ขนานได้ที่คำแนะนำเกี่ยวกับวิธีส่งคำขอหลายรายการ

  • การจัดการโควต้า: โควต้าเริ่มต้นคือ 1,000,000 คำขอ/วัน และ 10,000 คำขอ/นาที ดูวิธีตรวจสอบและดูโควต้าได้ที่โควต้าและขีดจำกัด

  • จัดลำดับความสำคัญของอีเมล: หากเป็นไปได้ ให้ระบุ emailAddressของลูกค้าในuserIdentifier โดยทั่วไปแล้ว อีเมลเป็นตัวระบุที่แม่นยำและเชื่อถือได้มากที่สุดสำหรับการจับคู่ผู้ใช้กับบัญชี Google

  • จัดการการตอบกลับที่ว่างเปล่า: ออกแบบแอปพลิเคชันให้ตีความ{}การตอบกลับที่ว่างเปล่าเป็นสำเร็จอย่างถูกต้อง โดยทำความเข้าใจว่าการตอบกลับที่ว่างเปล่าหมายความว่าระบบไม่ได้จัดเก็บข้อมูลเนื่องด้วยเหตุผลด้านความเป็นส่วนตัว (ไม่มีรายการที่ตรงกันหรือไม่มีความยินยอม) อย่า ลองส่งคำขออีกครั้ง

  • ยืนยันลำดับระดับ: ยืนยันลำดับระดับความภักดีใน UI ของ Merchant Center เสมอเพื่อให้แน่ใจว่าคุณใช้ค่า enum TIER1 ถึง TIER7 ที่ถูกต้องในการเรียก API การแมปนี้อิงตาม ลำดับที่กำหนดไว้ใน UI ไม่ใช่ชื่อ

  • ตรวจสอบข้อผิดพลาด: บันทึกและตรวจสอบการตอบกลับของ API โดยให้ความสนใจกับข้อผิดพลาด 4xx เพื่อตรวจหาปัญหาการผสานรวม โดยเฉพาะข้อผิดพลาด 404 ซึ่ง อาจบ่งบอกถึงความเข้าใจระดับชั้นที่ไม่ตรงกัน