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

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

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

Address Validation API เป็นผลิตภัณฑ์จาก Google Maps Platform ที่คุณสามารถใช้เพื่อตรวจสอบที่อยู่ แต่ระบบจะประมวลผลทีละที่อยู่เท่านั้น ในเอกสารนี้ เราจะดูวิธีใช้การยืนยันที่อยู่จำนวนมากในสถานการณ์ต่างๆ ตั้งแต่การทดสอบ API ไปจนถึงการยืนยันที่อยู่แบบครั้งเดียวและแบบตามรอบ

กรณีการใช้งาน

ตอนนี้เราจะทำความเข้าใจกรณีการใช้งานที่การตรวจสอบที่อยู่จำนวนมากมีประโยชน์

การทดสอบ

คุณมักจะต้องทดสอบ Address Validation API ด้วยการเรียกใช้ที่อยู่หลายพันรายการ คุณอาจมีที่อยู่ในไฟล์ค่าที่คั่นด้วยคอมมาและต้องการตรวจสอบคุณภาพของที่อยู่

การตรวจสอบที่อยู่แบบครั้งเดียว

ขณะเริ่มต้นใช้งาน Address Validation API คุณต้องการตรวจสอบฐานข้อมูลที่อยู่ที่มีอยู่กับฐานข้อมูลผู้ใช้

การยืนยันที่อยู่ที่เกิดขึ้นซ้ำๆ

มีหลายกรณีที่ต้องมีการตรวจสอบที่อยู่เป็นระยะๆ ดังนี้

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

ข้อมูลเจาะลึกทางเทคนิค

เอกสารนี้ใช้ข้อมูลต่อไปนี้

  • คุณกำลังเรียกใช้ Address Validation API ด้วยที่อยู่จากฐานข้อมูลลูกค้า (เช่น ฐานข้อมูลที่มีรายละเอียดของลูกค้า)
  • คุณสามารถแคชการแจ้งว่าใช้งานได้กับที่อยู่แต่ละรายการในฐานข้อมูลได้
  • ระบบจะดึงข้อมูล Flag ของที่อยู่จาก Address Validation API เมื่อลูกค้าแต่ละรายเข้าสู่ระบบ

แคชสําหรับการใช้งานจริง

เมื่อใช้ Address Validation API คุณมักต้องการแคชบางส่วนสำหรับการตอบกลับจากการเรียก API แม้ว่าข้อกำหนดในการให้บริการของเราจะจำกัดประเภทข้อมูลที่แคชได้ แต่ข้อมูลใดๆ ที่สามารถแคชได้จาก Address Validation API จะต้องมีการแคชกับบัญชีผู้ใช้ ซึ่งหมายความว่าในฐานข้อมูล ที่อยู่หรือข้อมูลเมตาของที่อยู่ต้องได้รับการแคชกับอีเมลของผู้ใช้หรือรหัสหลักอื่นๆ

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

  • ข้อมูลจากออบเจ็กต์ AddressComponent
    • confirmationLevel
    • inferred
    • spellCorrected
    • replaced
    • unexpected

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

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

เมื่อได้รับความยินยอมจากผู้ใช้ คุณจะแคช formattedAddress และคอมโพเนนต์หลักอื่นๆ จากคำตอบได้ อย่างไรก็ตาม ในสถานการณ์แบบ 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 ไม่มีเครื่องหมายข้างต้น แสดงว่าที่อยู่อินพุตมีแนวโน้มที่มีคุณภาพต่ำ และคุณสามารถแคชการแจ้งเตือนในฐานข้อมูลเพื่อแสดงข้อมูลดังกล่าว สถานะที่แคชไว้บ่งบอกว่าที่อยู่โดยรวมมีคุณภาพต่ำ ส่วนสถานะที่ละเอียดยิ่งขึ้น เช่น "แก้ไขการสะกดแล้ว" จะบ่งบอกถึงปัญหาด้านคุณภาพของที่อยู่แต่ละประเภท ในการโต้ตอบครั้งต่อไปของลูกค้ากับที่อยู่ที่ได้รับการแจ้งว่ามีคุณภาพต่ำ คุณสามารถเรียกใช้ API การตรวจสอบที่อยู่ด้วยที่อยู่เดิมได้ Address Validation API จะแสดงผลที่อยู่ที่ได้รับการแก้ไขซึ่งคุณสามารถแสดงโดยใช้พรอมต์ UI เมื่อลูกค้ายอมรับที่อยู่ที่มีการจัดรูปแบบแล้ว คุณก็สามารถแคชข้อมูลต่อไปนี้จากคำตอบได้

  • formattedAddress
  • postalAddress
  • addressComponent componentNamesหรือ
  • UspsData standardizedAddress

ใช้การตรวจสอบที่อยู่แบบ Headless

จากการสนทนาข้างต้น

  • บ่อยครั้งที่จำเป็นต้องแคชการตอบกลับบางส่วนจาก 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. เมื่อผู้ใช้เข้าสู่ระบบ ให้ตรวจสอบก่อนว่าคุณได้แคช Flag การตรวจสอบไว้ในระบบหรือไม่
  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 | วิศวกรโซลูชัน