ใช้ Address Validation API เพื่อประมวลผลที่อยู่ปริมาณมาก

วัตถุประสงค์

ในฐานะนักพัฒนาซอฟต์แวร์ คุณมักทำงานกับชุดข้อมูลที่มีที่อยู่ของลูกค้าซึ่งอาจไม่ได้มีคุณภาพดี คุณต้องตรวจสอบว่าที่อยู่ถูกต้องสำหรับกรณีการใช้งานต่างๆ ตั้งแต่การยืนยันรหัสลูกค้า การนำส่ง และอื่นๆ

Address Validation API เป็นผลิตภัณฑ์จาก Google Maps Platform ที่คุณสามารถใช้เพื่อตรวจสอบที่อยู่ แต่ระบบจะประมวลผลที่อยู่ทีละ 1 รายการเท่านั้น ในเอกสารนี้ เราจะมาดูวิธีใช้การตรวจสอบที่อยู่ปริมาณมากในสถานการณ์ต่างๆ ตั้งแต่การทดสอบ API ไปจนถึงการตรวจสอบที่อยู่แบบครั้งเดียวและตามรอบ

Use Case

ตอนนี้เราจะเข้าใจกรณีการใช้งานที่การตรวจสอบที่อยู่ปริมาณมากมีประโยชน์

การทดสอบ

คุณมักต้องการทดสอบ Address Validation API โดยการเรียกใช้ที่อยู่หลายพันรายการ คุณอาจมีที่อยู่ในไฟล์ค่าที่คั่นด้วยเครื่องหมายจุลภาคและต้องการตรวจสอบคุณภาพของที่อยู่

การตรวจสอบที่อยู่แบบครั้งเดียว

ขณะเริ่มต้นใช้งาน Address Validation API คุณต้องการตรวจสอบฐานข้อมูลที่อยู่ที่มีอยู่กับฐานข้อมูลผู้ใช้

การตรวจสอบที่อยู่ที่เกิดซ้ำ

มีบางสถานการณ์ที่จำเป็นต้องตรวจสอบที่อยู่เป็นประจำ เช่น

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

ข้อมูลเจาะลึกทางเทคนิค

สำหรับวัตถุประสงค์ของเอกสารนี้ เราถือว่า:

  • คุณกำลังเรียกใช้ Address Validation API ด้วยที่อยู่จากฐานข้อมูลลูกค้า (เช่น ฐานข้อมูลที่มีรายละเอียดของลูกค้า)
  • คุณแคชแฟล็กความถูกต้องของอีเมลแต่ละรายการในฐานข้อมูลได้
  • ระบบจะดึงข้อมูลแฟล็กความถูกต้องจาก Address Validation API เมื่อลูกค้าแต่ละรายเข้าสู่ระบบ

แคชสำหรับการใช้งานจริง

เมื่อใช้ Address Validation API คุณมักต้องการแคชการตอบกลับบางส่วนจากการเรียก API แม้ว่าข้อกำหนดในการให้บริการจะจำกัดข้อมูลที่แคชได้ แต่ข้อมูลที่แคชได้จาก Address Validation API จะต้องแคชไว้กับบัญชีผู้ใช้ด้วย ซึ่งหมายความว่าในฐานข้อมูล ที่อยู่หรือข้อมูลเมตาของที่อยู่ต้องมีการแคชไว้กับที่อยู่อีเมลหรือรหัสหลักอื่นๆ ของผู้ใช้

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

  • ข้อมูลจากออบเจ็กต์ AddressComponent
    • confirmationLevel
    • inferred
    • spellCorrected
    • replaced
    • unexpected

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

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

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

ทำความเข้าใจคำตอบ

หากการตอบกลับ Address Validation API มีเครื่องหมายต่อไปนี้ คุณจะมั่นใจได้ว่าที่อยู่ที่ป้อนมีคุณภาพการนำส่งได้

  • เครื่องหมาย addressComplete ในออบเจ็กต์ Verdict คือ true
  • validationGranularity ในออบเจ็กต์คำตัดสิน คือ PREMISE หรือ SUB_PREMISE
  • ไม่มี AddressComponent ที่ทำเครื่องหมายว่า
    • Inferred(หมายเหตุ: inferred=trueอาจเกิดขึ้นเมื่อ addressComplete=true)
    • spellCorrected
    • replaced
    • unexpected และ
  • confirmationLevel: ระดับการยืนยันใน AddressComponent ตั้งค่าเป็นCONFIRMEDหรือUNCONFIRMED_BUT_PLAUSIBLE

หากการตอบกลับของ API ไม่มีเครื่องหมายข้างต้น ที่อยู่อินพุตอาจมีคุณภาพต่ำ และคุณสามารถแคชแฟล็กในฐานข้อมูลเพื่อให้แสดงได้ สถานะที่ใช้แคชจะบ่งบอกว่าที่อยู่โดยรวมมีคุณภาพต่ำ ส่วนการแจ้งที่ละเอียดยิ่งขึ้น เช่น การแก้ไขการสะกดคำ จะบ่งบอกประเภทปัญหาด้านคุณภาพของที่อยู่ที่เฉพาะเจาะจง ในครั้งต่อไปที่ลูกค้าโต้ตอบกับที่อยู่ที่ได้รับแจ้งว่ามีคุณภาพต่ำ คุณสามารถเรียกใช้ Address Validation API ด้วยที่อยู่ที่มีอยู่ Address Validation API จะแสดงที่อยู่ที่แก้ไขแล้ว ซึ่งคุณสามารถแสดงโดยใช้ข้อความแจ้งของ UI ได้ เมื่อลูกค้ายอมรับที่อยู่ที่จัดรูปแบบแล้ว คุณจะแคชข้อมูลต่อไปนี้จากคำตอบได้

  • formattedAddress
  • postalAddress
  • addressComponent componentNamesหรือ
  • UspsData standardizedAddress

ใช้การตรวจสอบที่อยู่แบบไม่มีส่วนหัว

อ้างอิงจากการสนทนาข้างต้น:

  • มักจำเป็นต้องแคชคำตอบบางส่วนจาก Address Validation API ด้วยเหตุผลทางธุรกิจ
  • แต่ข้อกำหนดในการให้บริการใน Google Maps Platform จะจำกัดข้อมูลที่สามารถแคชได้

ในส่วนต่อไป เราจะกล่าวถึงกระบวนการ 2 ขั้นตอนเกี่ยวกับวิธีปฏิบัติตามข้อกำหนดในการให้บริการและการตรวจสอบที่อยู่ปริมาณมาก

ขั้นตอนที่ 1:

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

แผนภาพ A: แผนภาพต่อไปนี้แสดงวิธีเพิ่มประสิทธิภาพไปป์ไลน์ข้อมูลด้วยตรรกะการตรวจสอบที่อยู่ปริมาณมาก

alt_text

คุณแคชข้อมูลต่อไปนี้จาก addressComponent ได้ตามข้อกำหนดในการให้บริการ

  • confirmationLevel
  • inferred
  • spellCorrected
  • replaced
  • unexpected

ดังนั้นในขั้นตอนการติดตั้งใช้งานนี้ เราจะแคชช่องที่กล่าวถึงข้างต้นไว้กับ UserID

ดูข้อมูลเพิ่มเติมได้ที่โครงสร้างข้อมูลจริง

ขั้นตอนที่ 2:

ในขั้นตอนที่ 1 เรารวบรวมความคิดเห็นว่าที่อยู่บางรายการในชุดข้อมูลอินพุตอาจมีคุณภาพต่ำ ในขั้นตอนต่อไป เราจะนำที่อยู่ที่มีการแจ้งเหล่านี้มาแสดงแก่ผู้ใช้และรับความยินยอมให้แก้ไขที่อยู่ที่จัดเก็บไว้

แผนภาพ ข: แผนภาพนี้แสดงให้เห็นว่าการผสานรวมขั้นตอนความยินยอมของผู้ใช้จากต้นทางถึงปลายทางมีลักษณะอย่างไร

alt_text

  1. เมื่อผู้ใช้เข้าสู่ระบบ ก่อนอื่นให้ตรวจสอบว่าคุณได้แคชแฟล็กการตรวจสอบความถูกต้องใดๆ ไว้ในระบบหรือไม่
  2. หากมีแฟล็ก คุณควรแสดง UI แก่ผู้ใช้เพื่อแก้ไขและอัปเดตที่อยู่
  3. คุณสามารถเรียกใช้ Address Validation API อีกครั้งด้วยที่อยู่ที่อัปเดตหรือแคช และแสดงที่อยู่ที่แก้ไขแล้วแก่ผู้ใช้เพื่อยืนยัน
  4. หากที่อยู่มีคุณภาพดี Address Validation API จะแสดงผล formattedAddress
  5. คุณอาจแสดงที่อยู่ดังกล่าวให้ผู้ใช้ทราบหากมีการแก้ไข หรือยอมรับโดยไม่มีการแก้ไขใดๆ
  6. เมื่อผู้ใช้ยอมรับแล้ว คุณจะแคช formattedAddress ในฐานข้อมูลได้

บทสรุป

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

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

ขั้นตอนถัดไป

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

แนะนำให้อ่านเพิ่มเติม:

ผู้ร่วมให้ข้อมูล

Google เป็นผู้ดูแลบทความนี้ ผู้เขียนต่อไปนี้เป็นคนเขียน
ผู้เขียนหลัก:

Henrik Valve | วิศวกรโซลูชัน
Thomas Anglaret | วิศวกรโซลูชัน
Sarthak Ganguly | วิศวกร โซลูชัน