ใช้ 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 จะต้องมีการแคชกับบัญชีผู้ใช้ ซึ่งหมายความว่าในฐานข้อมูล ที่อยู่หรือข้อมูลเมตาของที่อยู่ต้องแคชกับอีเมลของผู้ใช้หรือรหัสหลักอื่นๆ

สำหรับ 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: แผนภาพต่อไปนี้แสดงวิธีเพิ่มประสิทธิภาพไปป์ไลน์ข้อมูลด้วยตรรกะการตรวจสอบที่อยู่ปริมาณมาก

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

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

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

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

แนะนำให้อ่านเพิ่มเติม

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

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

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