แนวทางปฏิบัติแนะนำสำหรับ CSS API

เอกสารนี้อธิบายแนวทางปฏิบัติแนะนำบางส่วนเกี่ยวกับการใช้ CSS API คำแนะนำในหน้านี้ไม่ได้บังคับให้ใช้ API แต่จะช่วยชี้แจง การใช้งานที่ตั้งใจไว้บางอย่าง

ตั้งค่าสภาพแวดล้อม

หากต้องการตั้งค่าสภาพแวดล้อมในการพัฒนา ให้ทำตามขั้นตอนที่ระบุไว้ในเอกสารประกอบฉบับเริ่มต้น

  • สร้างไฟล์ JSON ของผู้ใช้และสิทธิ์ใน Google Cloud Console
  • เปิดใช้ CSS API ใน Google Cloud Console
  • เพิ่มผู้ใช้ดังกล่าวที่มีสิทธิ์ผู้ดูแลระบบไปยังบัญชี CSS (กลุ่ม CSS หรือโดเมน CSS)
  • ตรวจสอบว่าคุณใช้ขอบเขต OAuth ที่ถูกต้อง: https://www.googleapis.com/auth/content

ตอนนี้ไลบรารีของไคลเอ็นต์อยู่ในที่เก็บมาตรฐานสำหรับภาษาโปรแกรมส่วนใหญ่แล้ว ดูรายการได้ในหน้าคลังไคลเอ็นต์

ใช้รหัสที่ถูกต้อง

ใช้รหัสที่ถูกต้องกับปลายทาง API ที่ถูกต้อง

  • CSS API (css.googleapis.com): ใช้รหัสโดเมน CSS เมื่อ โต้ตอบกับผลิตภัณฑ์ CSS (เช่น accounts/{cssDomainId}/cssProductInputs:insert)
  • Merchant API (merchantapi.googleapis.com): ใช้ Merchant API สำหรับ ผลิตภัณฑ์ของผู้ขายมาตรฐาน

การสลับข้อมูลเหล่านี้จะทำให้เกิดข้อผิดพลาด ดูรายละเอียดเพิ่มเติมได้ที่ภาพรวมของ CSS API

วิธีที่ดีในการเริ่มต้นใช้งาน

เราขอแนะนำให้ทดสอบด้วยวิธีต่อไปนี้

ListChildAccounts

ListChildAccounts เป็นการเรียกแบบอ่านอย่างเดียวที่แสดงรายการโดเมน CSS ทั้งหมด (หากเรียกสำหรับ กลุ่ม CSS) หรือผู้ขาย (หากเรียกสำหรับโดเมน CSS) ดังนั้นจึงเป็น วิธีที่ดีในการทดสอบว่าได้ตั้งค่าทุกอย่างถูกต้องหรือไม่

แทรก/แสดง/อัปเดต/ลบผลิตภัณฑ์

เมื่อทราบว่า API ทำงานได้แล้ว ให้ลองเพิ่มผลิตภัณฑ์ โปรดใช้raw_provided_idที่คุณจำได้

  • แทรกผลิตภัณฑ์ทดสอบโดยใช้ InsertCssProductInput เรามีโค้ดตัวอย่าง หากคุณต้องการความช่วยเหลือเกี่ยวกับแอตทริบิวต์ที่จะส่ง
  • แสดงผลิตภัณฑ์ทั้งหมดโดยใช้ ListCssProducts อาจมีความล่าช้าในการประมวลผลเล็กน้อยก่อนที่ผลิตภัณฑ์จะปรากฏหลังจากการแทรก ดังนั้นหากคุณไม่เห็นผลิตภัณฑ์ ให้ลองอีกครั้งหลังจากผ่านไป 2-3 วินาที
  • อัปเดตผลิตภัณฑ์รายการเดียวโดยใช้ UpdateCssProductInput โดยใช้ cssproductinput.name คุณต้อง ส่งเฉพาะแอตทริบิวต์ที่ต้องอัปเดต ดูโค้ดตัวอย่าง ได้ที่นี่
  • ลบผลิตภัณฑ์ทดสอบโดยใช้ DeleteCssProductInput คุณจะต้องใช้ raw_provided_id

ใช้ Async เพื่อปรับปรุงประสิทธิภาพ

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

ตัวอย่างจากภาษาโปรแกรมบางภาษา

ค้นหาและใช้ฟังก์ชันการทำงานแบบไม่พร้อมกันของภาษาโปรแกรมเพื่อแทรก ผลิตภัณฑ์หลายรายการพร้อมกัน คุณไม่ต้องกังวลว่าระบบของเราจะรับภาระหนักเกินไป เพราะเรามีโควต้าไว้สำหรับเรื่องนี้

ดูรายละเอียดเพิ่มเติมได้ในหน้าประสิทธิภาพ

ตรวจสอบความถูกต้องของเพย์โหลด

เพื่อหลีกเลี่ยงข้อผิดพลาดที่พบบ่อย โปรดตรวจสอบว่าเพย์โหลด JSON มีรูปแบบที่ถูกต้อง

  • อ่านเอกสารประกอบอย่างเป็นทางการ: โปรดดู ข้อมูลอ้างอิง CSS API ล่าสุดเสมอเพื่อดู คำจำกัดความของฟิลด์, Enums, ประเภทข้อมูล และโครงสร้างเพย์โหลด
  • ตรวจสอบเพย์โหลดตัวอย่าง: เปรียบเทียบเพย์โหลดกับตัวอย่างโค้ดที่ให้ไว้เพื่อระบุความคลาดเคลื่อน
  • ประเภทข้อมูล: ตรวจสอบว่าคุณใช้ประเภทข้อมูลที่ถูกต้อง (เช่น สตริง ออบเจ็กต์ อาร์เรย์) ตามที่ระบุไว้ในเอกสารประกอบ
  • ทดสอบทีละน้อย: เริ่มต้นด้วยเพย์โหลดที่ถูกต้องขั้นต่ำเพื่อยืนยันการเชื่อมต่อพื้นฐาน และค่อยๆ เพิ่มแอตทริบิวต์

อัปเดตผลิตภัณฑ์

เมื่ออัปโหลดผลิตภัณฑ์แล้ว ผลิตภัณฑ์จะอยู่ในระบบของเราจนกว่าจะมีการ อัปเดต ลบ หรือหมดอายุ

  • คุณอัปเดตผลิตภัณฑ์ทั้งหมดได้โดยส่งInsertCssProductInputคำขออีกครั้งraw_provided_idโดยใช้raw_provided_idเดียวกันกับที่ใช้ในตอนแรก ในตอนนี้ คุณจะต้องส่งข้อมูลผลิตภัณฑ์ทั้งหมด แม้ว่าจะมีเพียงแอตทริบิวต์บางรายการ (อาจมีเพียงราคา/ความพร้อมจำหน่ายผลิตภัณฑ์) ที่มีการเปลี่ยนแปลงก็ตาม
  • คุณสามารถอัปเดตชิ้นส่วนของผลิตภัณฑ์ได้โดยใช้วิธี PATCH UpdateCssProductInput ระบุชื่อผลิตภัณฑ์ และเนื้อหา JSON ที่มี ข้อมูลที่คุณต้องการอัปเดตสำหรับผลิตภัณฑ์ ซึ่งแตกต่างจาก InsertCssProductInputที่กำหนดให้ต้องระบุช่องที่เกี่ยวข้องทั้งหมดUpdateCssProductInput โดยคุณจะต้องระบุเฉพาะช่องที่ต้องการเปลี่ยนแปลงเท่านั้น
  • คุณลบผลิตภัณฑ์ได้โดยเรียกใช้ DeleteCssProductInput ด้วย raw_provided_id เดียวกัน
  • ผลิตภัณฑ์จะหมดอายุโดยอัตโนมัติประมาณ 1 เดือนหลังจากการอัปเดตครั้งล่าสุด

โหมดการทำงานต่อเนื่อง

โหมดการทำงานต่อเนื่องอาจมีลักษณะดังนี้

  • ใช้รหัสภายในของคุณเองเป็น raw_provided_id
  • อัปโหลดผลิตภัณฑ์ทั้งหมดอีกครั้งตามกำหนดการปกติ อาจเป็นรายสัปดาห์ ซึ่งจะช่วยให้มั่นใจได้ว่า ผลิตภัณฑ์ที่ใช้งานอยู่จะไม่หมดอายุ
  • อัปเดตผลิตภัณฑ์แต่ละรายการทันทีที่ได้รับข้อมูลที่เปลี่ยนแปลงจากผู้ขาย
    • หากตอบสนองต่อการเปลี่ยนแปลงได้ไม่ทันที ให้ค้นหาผลิตภัณฑ์ทั้งหมดที่มีการเปลี่ยนแปลง บ่อยๆ (อาจเป็นทุกชั่วโมง) แล้วอัปโหลดเฉพาะผลิตภัณฑ์เหล่านั้นอีกครั้ง
    • สำหรับผลิตภัณฑ์ที่ไม่มีจำหน่ายแล้ว คุณจะใช้ การเรียกใช้การลบหรือตั้งค่าจำนวนข้อเสนอที่พร้อมใช้งานเป็น 0 ก็ได้
    • อย่าส่งผลิตภัณฑ์ที่ไม่มีการเปลี่ยนแปลงมาให้เราบ่อยๆ การเรียกเหล่านี้จะนับรวม ในโควต้า API ของคุณ การรีเฟรชรายสัปดาห์ก็เพียงพอแล้ว

การเลือกข้อเสนอบรรทัดแรก

ข้อเสนอบรรทัดแรกไม่จำเป็นต้องเป็นข้อเสนออันดับต้นๆ หรือข้อเสนอที่ถูกที่สุดในเว็บไซต์ แต่ต้องแสดงอย่างโดดเด่น คุณใช้ตัวเลือกนี้ได้ในกรณีที่ข้อเสนออันดับต้นๆ มีการเปลี่ยนแปลงอย่างรวดเร็ว โดยคุณสามารถเลือกข้อเสนออื่นที่มีความเสถียรมากกว่าได้ที่นี่

โปรดกลับมาตรวจสอบเอกสารนี้เป็นครั้งคราว

เราได้รับความคิดเห็นเกี่ยวกับวิธีปรับปรุง API นี้ และกำลังดำเนินการปรับปรุงบางส่วนให้พร้อมใช้งาน เราจะอัปเดตหน้านี้เมื่อมี ฟีเจอร์ใหม่ที่พร้อมให้ใช้งานซึ่งจะช่วยให้การใช้ CSS API ง่ายขึ้น