คู่มือการตรวจสอบความถูกต้องของที่อยู่จำนวนมาก

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

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

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
    • confirmationLevel
    • inferred
    • spellCorrected
    • replaced
    • unexpected

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

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

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

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

หากการตอบกลับจาก 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 แบบ Headless

จากข้อมูลข้างต้น

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

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

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

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

แผนภาพ ก: แผนภาพต่อไปนี้แสดงวิธีปรับปรุง Data Pipeline ด้วยตรรกะ Address Validation ปริมาณมาก

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 ไว้ในฐานข้อมูลได้

บทสรุป

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

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

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

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

ข้อมูลเพิ่มเติมที่แนะนำให้อ่าน

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

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

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