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

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

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

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 ในลักษณะที่เป็นไปตามข้อกำหนดในการให้บริการ

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

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

บทสรุป

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

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

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

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

อ่านเพิ่มเติมที่

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

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

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