วัตถุประสงค์
ในฐานะนักพัฒนาซอฟต์แวร์ คุณมักจะทำงานกับชุดข้อมูลที่มีที่อยู่ของลูกค้าซึ่งอาจมีคุณภาพไม่ดีนัก คุณต้องตรวจสอบว่าที่อยู่ถูกต้องสำหรับกรณีการใช้งานต่างๆ ตั้งแต่การยืนยันรหัสลูกค้าไปจนถึงการนำส่ง และอื่นๆ
Address Validation API เป็นผลิตภัณฑ์จาก Google Maps Platform ที่คุณใช้ตรวจสอบที่อยู่ได้ อย่างไรก็ตาม ระบบจะประมวลผลที่อยู่ได้ครั้งละ 1 รายการเท่านั้น ในเอกสารนี้ เราจะดูวิธีใช้ High Volume Address Validation ในสถานการณ์ต่างๆ ตั้งแต่การทดสอบ API ไปจนถึงการตรวจสอบที่อยู่แบบครั้งเดียวและแบบตามรอบ
กรณีการใช้งาน
ตอนนี้เราจะมาทำความเข้าใจกรณีการใช้งานที่ High Volume Address Validation มีประโยชน์
การทดสอบ
คุณมักต้องการทดสอบ Address Validation API โดยเรียกใช้ที่อยู่หลายพันรายการ คุณอาจมีที่อยู่ในไฟล์ค่าที่คั่นด้วยคอมมาและต้องการตรวจสอบคุณภาพของที่อยู่
การตรวจสอบที่อยู่แบบครั้งเดียว
ในระหว่างการเริ่มต้นใช้งาน Address Validation API คุณต้องการตรวจสอบฐานข้อมูลที่อยู่ที่มีอยู่กับฐานข้อมูลผู้ใช้
การตรวจสอบที่อยู่ซ้ำ
มีหลายสถานการณ์ที่ต้องตรวจสอบที่อยู่เป็นประจำ ดังนี้
- คุณอาจกำหนดเวลางานเพื่อตรวจสอบที่อยู่สำหรับรายละเอียดที่บันทึกไว้ในระหว่างวัน เช่น จากการลงชื่อสมัครใช้ของลูกค้า รายละเอียดคำสั่งซื้อ กำหนดการนำส่ง
- คุณอาจได้รับข้อมูลจำนวนมากที่มีที่อยู่จากแผนกต่างๆ เช่น จากฝ่ายขายไปจนถึงฝ่ายการตลาด แผนกใหม่ที่ได้รับอีเมลดังกล่าวมักต้องการตรวจสอบอีเมลก่อนใช้งาน
- คุณอาจรวบรวมที่อยู่ระหว่างการสำรวจหรือโปรโมชันต่างๆ แล้วอัปเดตในระบบออนไลน์ในภายหลัง คุณต้องการตรวจสอบว่าที่อยู่ถูกต้องขณะป้อนข้อมูลลงในระบบ
ข้อมูลเจาะลึกทางเทคนิค
สำหรับวัตถุประสงค์ของเอกสารนี้ เราจะถือว่า
- คุณกำลังเรียกใช้ Address Validation API ด้วยที่อยู่จากฐานข้อมูลลูกค้า (เช่น ฐานข้อมูลที่มีรายละเอียดลูกค้า)
- คุณสามารถแคชแฟล็กความถูกต้องกับที่อยู่แต่ละรายการในฐานข้อมูลได้
- ระบบจะดึงแฟล็กความถูกต้องจาก Address Validation API เมื่อลูกค้าแต่ละรายเข้าสู่ระบบ
แคชสำหรับการใช้งานจริง
เมื่อใช้ Address Validation API คุณมักจะต้องการแคชบางส่วนของการตอบกลับจากการเรียก API แม้ว่าข้อกำหนดในการให้บริการของเราจะจำกัดข้อมูลที่แคชได้ แต่ข้อมูลใดๆ ที่แคชได้จาก Address Validation API จะต้องแคชกับบัญชีผู้ใช้ ซึ่งหมายความว่าในฐานข้อมูล ที่อยู่หรือข้อมูลเมตาของที่อยู่ต้องได้รับการแคชกับอีเมลของผู้ใช้หรือรหัสหลักอื่นๆ
สำหรับกรณีการใช้งาน Address Validation ปริมาณมาก การแคชข้อมูลต้องเป็นไปตามข้อกำหนดเฉพาะบริการของ Address Validation API ที่ระบุไว้ในส่วนที่ 11.3 จากข้อมูลนี้ คุณจะสามารถระบุได้ว่าที่อยู่ของผู้ใช้อาจไม่ถูกต้องหรือไม่ ซึ่งในกรณีนี้ คุณจะแจ้งให้ผู้ใช้ทราบที่อยู่ที่ถูกต้องในระหว่างการโต้ตอบกับแอปพลิเคชันของคุณในครั้งถัดไป
- ข้อมูลจากออบเจ็กต์ AddressComponent
confirmationLevelinferredspellCorrectedreplacedunexpected
หากต้องการแคชข้อมูลเกี่ยวกับที่อยู่จริง คุณต้องแคชข้อมูลดังกล่าวโดยได้รับความยินยอมจากผู้ใช้เท่านั้น ซึ่งจะช่วยให้ผู้ใช้ทราบดีว่าเหตุใดบริการหนึ่งๆ จึงจัดเก็บที่อยู่ของตน และผู้ใช้ยอมรับข้อกำหนดในการแชร์ที่อยู่
ตัวอย่างความยินยอมของผู้ใช้คือการโต้ตอบโดยตรงกับแบบฟอร์มที่อยู่ของอีคอมเมิร์ซในหน้าชำระเงิน คุณเข้าใจว่าคุณจะแคชและประมวลผลที่อยู่เพื่อวัตถุประสงค์ในการจัดส่งพัสดุ
เมื่อได้รับความยินยอมจากผู้ใช้ คุณสามารถแคช formattedAddress และคอมโพเนนต์หลักอื่นๆ จากการตอบกลับได้ อย่างไรก็ตาม ในสถานการณ์แบบ Headless ผู้ใช้ไม่สามารถให้ความยินยอมได้เนื่องจากการตรวจสอบที่อยู่เกิดขึ้นจากแบ็กเอนด์ ดังนั้น คุณจึงแคชข้อมูลได้ในปริมาณที่จำกัดมากในสถานการณ์แบบ Headless นี้
ทำความเข้าใจคำตอบ
หากการตอบกลับจาก Address Validation API มีเครื่องหมายต่อไปนี้ คุณก็มั่นใจได้ว่าที่อยู่ที่ป้อนมีคุณภาพที่นำส่งได้
- เครื่องหมาย
addressCompleteในออบเจ็กต์ Verdict คือtrue validationGranularityในออบเจ็กต์ Verdict คือPREMISEหรือSUB_PREMISE- ไม่มี AddressComponent ใดที่ทำเครื่องหมายเป็น
Inferred(หมายเหตุ: inferred=trueอาจเกิดขึ้นได้ในโอกาสเหล่านี้addressComplete=true)spellCorrectedreplacedunexpectedและ
confirmationLevel: ระดับการยืนยันใน AddressComponent ตั้งค่าเป็นCONFIRMEDหรือUNCONFIRMED_BUT_PLAUSIBLE
หากการตอบกลับจาก API ไม่มีเครื่องหมายข้างต้น แสดงว่าที่อยู่ที่ป้อนอาจมีคุณภาพต่ำ และคุณสามารถแคชแฟล็กในฐานข้อมูลเพื่อแสดงข้อมูลดังกล่าวได้ แฟล็กที่แคชไว้จะระบุว่าที่อยู่โดยรวมมีคุณภาพต่ำ ส่วนแฟล็กที่มีรายละเอียดมากกว่า เช่น การแก้ไขการสะกด จะระบุประเภทปัญหาด้านคุณภาพของที่อยู่ที่เฉพาะเจาะจง ในการโต้ตอบกับลูกค้าครั้งถัดไปที่มีที่อยู่ซึ่งถูกแจ้งว่ามีคุณภาพต่ำ คุณสามารถเรียกใช้ Address Validation API ด้วยที่อยู่ที่มีอยู่ได้ Address Validation API จะแสดงผลที่อยู่ที่แก้ไขแล้ว ซึ่งคุณสามารถแสดงโดยใช้ข้อความแจ้งใน UI เมื่อลูกค้ายอมรับที่อยู่ที่มีการจัดรูปแบบแล้ว คุณสามารถแคชข้อมูลต่อไปนี้จากการตอบกลับได้
formattedAddresspostalAddressaddressComponent componentNamesหรือUspsData standardizedAddress
ใช้ Address Validation แบบ Headless
จากข้อมูลข้างต้น
- บ่อยครั้งที่จำเป็นต้องแคชบางส่วนของการตอบกลับจาก Address Validation API ด้วยเหตุผลทางธุรกิจ
- อย่างไรก็ตาม ข้อกำหนดในการให้บริการใน Google Maps Platform จะจำกัดข้อมูลที่แคชได้
ในส่วนถัดไป เราจะพูดถึงกระบวนการ 2 ขั้นตอนเกี่ยวกับวิธีปฏิบัติตามข้อกำหนดในการให้บริการและใช้ Address Validation ในปริมาณมาก
ขั้นตอนที่ 1:
ในขั้นตอนแรก เราจะดูวิธีใช้สคริปต์ Address Validation ปริมาณมากจาก Data Pipeline ที่มีอยู่ กระบวนการนี้จะช่วยให้คุณจัดเก็บช่องที่เฉพาะเจาะจงจากการตอบกลับจาก Address Validation API ในลักษณะที่เป็นไปตามข้อกำหนดในการให้บริการ
แผนภาพ ก: แผนภาพต่อไปนี้แสดงวิธีปรับปรุง Data Pipeline ด้วยตรรกะ Address Validation ปริมาณมาก
ตามข้อกำหนดในการให้บริการ คุณสามารถแคชข้อมูลต่อไปนี้จาก addressComponent ได้
confirmationLevelinferredspellCorrectedreplacedunexpected
ดังนั้นในระหว่างขั้นตอนนี้ของการติดตั้งใช้งาน เราจะแคชฟิลด์ที่กล่าวถึงข้างต้นกับ UserID
ดูข้อมูลเพิ่มเติมได้ในรายละเอียดเกี่ยวกับโครงสร้างข้อมูลจริง
ขั้นตอนที่ 2:
ในขั้นตอนที่ 1 เราได้รวบรวมความคิดเห็นว่าที่อยู่บางรายการในชุดข้อมูลอินพุตอาจมีคุณภาพไม่สูงนัก ในขั้นตอนถัดไป เราจะนำที่อยู่ที่ถูกแจ้งว่าไม่ถูกต้องเหล่านี้ไปแสดงต่อผู้ใช้และขอความยินยอมจากผู้ใช้เพื่อแก้ไขที่อยู่ที่จัดเก็บไว้
แผนภาพ ข: แผนภาพนี้แสดงลักษณะของการผสานรวมขั้นตอนความยินยอมของผู้ใช้ตั้งแต่ต้นจนจบ
- เมื่อผู้ใช้เข้าสู่ระบบ ให้ตรวจสอบก่อนว่าคุณได้แคชแฟล็กการตรวจสอบความถูกต้องไว้ในระบบหรือไม่
- หากมีแฟล็ก คุณควรแสดง UI แก่ผู้ใช้เพื่อแก้ไขและอัปเดตที่อยู่
- คุณสามารถเรียกใช้ Address Validation API อีกครั้งด้วยที่อยู่ที่อัปเดตหรือแคชไว้ และแสดงที่อยู่ที่แก้ไขแล้วให้ผู้ใช้ยืนยัน
- หากที่อยู่มีคุณภาพดี Address Validation API จะแสดงผล
formattedAddress - คุณสามารถแสดงที่อยู่ดังกล่าวต่อผู้ใช้หากมีการแก้ไข หรือยอมรับโดยไม่แจ้งให้ทราบหากไม่มีการแก้ไข
- เมื่อผู้ใช้ยอมรับแล้ว คุณจะแคช
formattedAddressไว้ในฐานข้อมูลได้
บทสรุป
High Volume Address Validation เป็น Use Case ทั่วไปที่คุณน่าจะพบในแอปพลิเคชันจำนวนมาก เอกสารนี้พยายามสาธิตสถานการณ์บางอย่างและรูปแบบการออกแบบเกี่ยวกับวิธีใช้โซลูชันดังกล่าวซึ่งเป็นไปตามข้อกำหนดในการให้บริการของ Google Maps Platform
นอกจากนี้ เรายังได้เขียนการใช้งานอ้างอิงของ Address Validation ปริมาณมากเป็นไลบรารีโอเพนซอร์สใน GitHub ด้วย ลองดูเพื่อเริ่มต้นสร้างด้วย High Volume Address Validation อย่างรวดเร็ว นอกจากนี้ โปรดอ่านบทความเกี่ยวกับรูปแบบการออกแบบวิธีใช้ไลบรารีในสถานการณ์ต่างๆ
ขั้นตอนถัดไป
ดาวน์โหลดเอกสารไวท์เปเปอร์ปรับปรุงการชำระเงิน การนำส่ง และการดำเนินการด้วยที่อยู่ที่เชื่อถือได้ และดูการสัมมนาผ่านเว็บปรับปรุงการชำระเงิน การนำส่ง และการดำเนินการด้วย Address Validation
ข้อมูลเพิ่มเติมที่แนะนำให้อ่าน

- การใช้งาน High Volume Address Validation
- ไลบรารี Python ใน GitHub
- สำรวจเดโมของ Address Validation
ผู้ร่วมให้ข้อมูล
Google เป็นผู้ดูแลบทความนี้ ผู้เขียนต้นฉบับมีรายชื่อดังต่อไปนี้
ผู้เขียนหลัก:
Henrik Valve | วิศวกรโซลูชัน
Thomas Anglaret | วิศวกรโซลูชัน
Sarthak Ganguly | วิศวกรโซลูชัน