วัตถุประสงค์
ในฐานะนักพัฒนาซอฟต์แวร์ คุณมักจะทำงานกับชุดข้อมูลที่มีที่อยู่ของลูกค้าซึ่งอาจมีคุณภาพไม่ดี คุณต้องตรวจสอบว่าที่อยู่ถูกต้องสำหรับ กรณีการใช้งานต่างๆ ตั้งแต่การยืนยันรหัสลูกค้าไปจนถึงการนำส่ง และอื่นๆ
Address Validation API เป็นผลิตภัณฑ์จาก Google Maps Platform ที่คุณใช้เพื่อตรวจสอบที่อยู่ได้ แต่จะประมวลผลได้ครั้งละ 1 ที่อยู่เท่านั้น ในเอกสารนี้ เราจะดูวิธีใช้ การตรวจสอบที่อยู่ปริมาณมากในสถานการณ์ต่างๆ ตั้งแต่การทดสอบ API ไปจนถึงการตรวจสอบที่อยู่แบบครั้งเดียวและแบบเป็นประจำ
กรณีการใช้งาน
ตอนนี้เราจะมาดูกรณีการใช้งานที่การตรวจสอบความถูกต้องของที่อยู่ปริมาณมากมีประโยชน์ กัน
การทดสอบ
คุณมักต้องการทดสอบ Address Validation API โดยการเรียกใช้ที่อยู่นับพันรายการ คุณอาจมีที่อยู่ในไฟล์ค่าที่คั่นด้วยคอมมาและต้องการ ตรวจสอบคุณภาพของที่อยู่
การตรวจสอบความถูกต้องของที่อยู่แบบครั้งเดียว
ในระหว่างการเริ่มต้นใช้งาน Address Validation API คุณต้องการตรวจสอบฐานข้อมูลที่อยู่ที่มีอยู่กับฐานข้อมูลผู้ใช้
การตรวจสอบที่อยู่ซ้ำ
สถานการณ์ต่อไปนี้จำเป็นต้องตรวจสอบที่อยู่เป็นประจำ
- คุณอาจตั้งเวลางานเพื่อตรวจสอบที่อยู่สำหรับรายละเอียดที่บันทึกไว้ ในระหว่างวัน เช่น จากการลงชื่อสมัครใช้ของลูกค้า รายละเอียดคำสั่งซื้อ ตารางการนำส่ง
- คุณอาจได้รับข้อมูลที่ประกอบด้วยที่อยู่จากแผนกต่างๆ เช่น จากฝ่ายขายไปยังฝ่ายการตลาด แผนกใหม่ที่รับที่อยู่มักต้องการตรวจสอบความถูกต้องก่อนใช้งาน
- คุณอาจรวบรวมที่อยู่ระหว่างการสำรวจ หรือโปรโมชันต่างๆ และอัปเดตในระบบออนไลน์ในภายหลัง คุณต้องการตรวจสอบว่าที่อยู่ถูกต้องขณะป้อนที่อยู่ในระบบ
การเจาะลึกด้านเทคนิค
สำหรับวัตถุประสงค์ของเอกสารนี้ เราจะถือว่า
- คุณกำลังเรียกใช้ Address Validation API ด้วยที่อยู่จากฐานข้อมูลลูกค้า (เช่น ฐานข้อมูลที่มีรายละเอียดลูกค้า)
- คุณแคชแฟล็กความถูกต้องกับที่อยู่แต่ละรายการในฐานข้อมูลได้
- ระบบจะดึงแฟล็กความถูกต้องจาก Address Validation API เมื่อลูกค้าบุคคลธรรมดาเข้าสู่ระบบ
แคชสำหรับการใช้งานจริง
เมื่อใช้ Address Validation API คุณมักจะต้องการแคชส่วนหนึ่งของ การตอบกลับจากการเรียก API แม้ว่าข้อกำหนดในการให้บริการจะจำกัดข้อมูลที่แคชได้ แต่ข้อมูลที่แคชได้จาก Address Validation API ต้องแคชกับบัญชีผู้ใช้ ซึ่งหมายความว่าในฐานข้อมูล ระบบต้องแคชที่อยู่หรือข้อมูลเมตาของที่อยู่กับอีเมลของผู้ใช้หรือ รหัสหลักอื่นๆ
สำหรับกรณีการใช้งานการตรวจสอบที่อยู่ปริมาณมาก การแคชข้อมูลต้องเป็นไปตามข้อกำหนดเฉพาะบริการของ Address Validation API ที่ระบุไว้ในส่วนที่ 11.3 ข้อมูลนี้จะช่วยให้คุณ ระบุได้ว่าที่อยู่ของผู้ใช้อาจไม่ถูกต้องหรือไม่ ในกรณีนี้ คุณจะแจ้งให้ ผู้ใช้ระบุที่อยู่ที่แก้ไขแล้วในระหว่างการโต้ตอบครั้งถัดไปกับแอปพลิเคชัน ของคุณ
- ข้อมูลจากออบเจ็กต์ AddressComponent
confirmationLevel
inferred
spellCorrected
replaced
unexpected
หากต้องการแคชข้อมูลเกี่ยวกับที่อยู่จริง ข้อมูลนั้น ต้องแคชโดยได้รับความยินยอมจากผู้ใช้เท่านั้น ซึ่งจะช่วยให้ผู้ใช้ทราบดีว่าเหตุใดบริการหนึ่งๆ จึงจัดเก็บที่อยู่ของผู้ใช้ และผู้ใช้ยอมรับข้อกำหนดในการแชร์ที่อยู่
ตัวอย่างความยินยอมของผู้ใช้คือการโต้ตอบโดยตรงกับแบบฟอร์มที่อยู่อีคอมเมิร์ซ ในหน้าชำระเงิน เราเข้าใจว่าคุณจะแคชและ ประมวลผลที่อยู่เพื่อวัตถุประสงค์ในการจัดส่งแพ็กเกจ
เมื่อได้รับความยินยอมจากผู้ใช้ คุณจะแคช formattedAddress
และคอมโพเนนต์สำคัญอื่นๆ
จากคำตอบได้ อย่างไรก็ตาม ในสถานการณ์ที่ไม่มีส่วนหัว ผู้ใช้จะให้ความยินยอมไม่ได้เนื่องจากระบบจะตรวจสอบที่อยู่จากแบ็กเอนด์ ดังนั้น
คุณจึงแคชข้อมูลได้เพียงเล็กน้อยในสถานการณ์ที่ไม่มีส่วนหัวนี้
ทำความเข้าใจคำตอบ
หากการตอบกลับของ Address Validation API มีเครื่องหมายต่อไปนี้ คุณจะมั่นใจได้ว่าที่อยู่ที่ป้อนมีคุณภาพที่นำส่งได้
- เครื่องหมาย
addressComplete
ในออบเจ็กต์ Verdict คือtrue
validationGranularity
ในออบเจ็กต์ Verdict คือ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 ในลักษณะที่เป็นไปตามข้อกำหนดในการให้บริการ
แผนภาพ ก: แผนภาพต่อไปนี้แสดงวิธีปรับปรุงไปป์ไลน์ข้อมูล ด้วยตรรกะการตรวจสอบที่อยู่ปริมาณมาก
ตามข้อกำหนดในการให้บริการ คุณสามารถแคชข้อมูลต่อไปนี้จาก
addressComponent
confirmationLevel
inferred
spellCorrected
replaced
unexpected
ดังนั้นในขั้นตอนการติดตั้งใช้งานนี้ เราจะแคชฟิลด์ที่กล่าวถึงข้างต้นกับ UserID
ดูข้อมูลเพิ่มเติมได้ที่รายละเอียดเกี่ยวกับโครงสร้างข้อมูลจริง
ขั้นตอนที่ 2:
ในขั้นตอนที่ 1 เราได้รวบรวมความคิดเห็นว่าที่อยู่บางรายการในชุดข้อมูลอินพุตอาจมีคุณภาพไม่สูง ในขั้นตอนถัดไป เราจะนำที่อยู่ที่แจ้งเหล่านี้ มาแสดงต่อผู้ใช้และขอความยินยอมในการแก้ไขที่อยู่ที่จัดเก็บไว้
แผนภาพ ข: แผนภาพนี้แสดงลักษณะของการผสานรวมโฟลว์ความยินยอมของผู้ใช้ตั้งแต่ต้นจนจบ
- เมื่อผู้ใช้เข้าสู่ระบบ ให้ตรวจสอบก่อนว่าคุณได้แคชค่าสถานะการตรวจสอบในระบบหรือไม่
- หากมีเครื่องหมาย คุณควรแสดง UI แก่ผู้ใช้เพื่อแก้ไขและ อัปเดตที่อยู่
- คุณสามารถเรียกใช้ Address Validation API อีกครั้งด้วยที่อยู่ที่อัปเดตหรือแคชไว้ และแสดงที่อยู่ที่แก้ไขแล้วต่อผู้ใช้เพื่อยืนยัน
- หากที่อยู่มีคุณภาพดี Address Validation API จะแสดงผล
formattedAddress
- คุณจะแสดงที่อยู่ดังกล่าวต่อผู้ใช้หากมีการแก้ไข หรือยอมรับโดยไม่แจ้งหากไม่มีการแก้ไขก็ได้
- เมื่อผู้ใช้ยอมรับแล้ว คุณจะแคช
formattedAddress
ในฐานข้อมูลได้
บทสรุป
การตรวจสอบความถูกต้องของที่อยู่ปริมาณมากเป็น Use Case ที่พบบ่อยซึ่งคุณอาจพบในแอปพลิเคชันจำนวนมาก เอกสารนี้พยายามแสดงสถานการณ์บางอย่างและ รูปแบบการออกแบบเกี่ยวกับวิธีใช้โซลูชันดังกล่าวตามข้อกำหนดในการให้บริการของ Google Maps Platform
นอกจากนี้ เรายังได้เขียนการใช้งานอ้างอิงของ High Volume Address Validation เป็นไลบรารีโอเพนซอร์สใน GitHub ดูข้อมูลเพื่อเริ่มต้น สร้างด้วยการตรวจสอบความถูกต้องของที่อยู่ปริมาณมากอย่างรวดเร็ว นอกจากนี้ โปรดอ่านบทความเกี่ยวกับ รูปแบบการออกแบบวิธีใช้ไลบรารีในสถานการณ์ต่างๆ
ขั้นตอนถัดไป
ดาวน์โหลดเอกสารไวท์เปเปอร์ปรับปรุงการชำระเงิน การนำส่ง และการดำเนินงานด้วยที่อยู่ที่เชื่อถือได้ และดูสัมมนาผ่านเว็บการปรับปรุงการชำระเงิน การนำส่ง และการดำเนินงานด้วยการตรวจสอบที่อยู่
อ่านเพิ่มเติมที่
- การใช้งานการตรวจสอบที่อยู่ปริมาณมาก
- ไลบรารี Python ใน GitHub
- สำรวจเดโมของ Address Validation
ผู้ร่วมให้ข้อมูล
Google เป็นผู้ดูแลบทความนี้ ผู้ร่วมให้ข้อมูลต่อไปนี้เป็นผู้เขียนบทความนี้
ผู้เขียนหลัก
Henrik Valve | วิศวกรโซลูชัน
Thomas Anglaret | วิศวกรโซลูชัน
Sarthak Ganguly | วิศวกรโซลูชัน