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