เอกสารนี้อธิบายกระบวนการสร้างระบบตรวจสอบที่อยู่เพื่อ จัดการการตอบกลับต่างๆ จาก Address Validation API โดยจะอธิบายวิธี ตีความการตอบกลับของ API เพื่อพิจารณาเวลาและวิธีแจ้งให้ลูกค้า ให้ข้อมูลเพิ่มเติม
โดยทั่วไป การตอบกลับจาก API จะกำหนดวิธีต่อไปนี้ที่ระบบของคุณควรใช้จัดการที่อยู่
- 
  แก้ไข - ที่อยู่อาจมีปัญหาสำคัญ
  
 ลองแจ้งให้ลูกค้าให้ข้อมูลเพิ่มเติม
- 
   เพิ่มสถานที่ย่อย - ที่อยู่อาจไม่มี
   สถานที่ย่อย
   
 พิจารณาแจ้งให้ลูกค้าเพิ่ม หมายเลขยูนิต
- 
   ยืนยัน - ที่อยู่อาจมีปัญหาเล็กน้อย
   
 พิจารณาแจ้งให้ลูกค้า ยืนยันว่าที่อยู่ถูกต้อง
- 
  ยอมรับ - ที่อยู่อาจไม่มีปัญหา
  
 พิจารณาใช้ที่อยู่โดยไม่ต้องแจ้งเพิ่มเติม โดยยอมรับความเสี่ยงเอง
วัตถุประสงค์หลัก
เอกสารนี้จะช่วยคุณปรับเปลี่ยนระบบเพื่อวิเคราะห์การตอบกลับของ API ได้ดีที่สุด และ พิจารณาการดำเนินการถัดไปที่จะทำกับที่อยู่ที่ระบุ รหัสเทียมต่อไปนี้แสดงขั้นตอนที่เป็นไปได้
if (verdict.possibleNextAction == FIX)
    Prompt the user to fix the address.
else if (verdict.possibleNextAction == CONFIRM_ADD_SUBPREMISES)
    Prompt the user to add a unit number.
else if (verdict.possibleNextAction == CONFIRM)
    Confirm with the user that the address is correct.
else
    Continue with the address returned by the API.
ตรรกะที่แน่นอนจะขึ้นอยู่กับสถานการณ์ของคุณ โปรดดูรายละเอียดเพิ่มเติมในหัวข้อปรับแต่งตรรกะการตรวจสอบ
ตัวอย่างเวิร์กโฟลว์
ตารางด้านล่างสรุปตัวอย่างเวิร์กโฟลว์ที่คุณอาจนำไปใช้เพื่อแจ้งให้ลูกค้าทราบตามการตอบกลับของ API
| ลักษณะการทำงานของระบบ | ||
|---|---|---|
| แก้ไขที่อยู่ | คำตอบจาก  
 | |
| เพิ่มสถานที่ย่อย | คำตอบจาก  
 | |
| ยืนยันที่อยู่ | คำตอบจาก  
 | |
| ยอมรับที่อยู่ | การตอบกลับจาก  
 | |
ปรับแต่งตรรกะการตรวจสอบ
แม้ว่าคุณจะใช้ผลลัพธ์จากฟิลด์ verdict.possibleNextAction เพื่อ
พิจารณาว่าระบบควรดำเนินการอย่างไรกับคำตอบของ API แต่คุณก็อาจ
พิจารณาสร้างตรรกะที่กำหนดเอง เช่น เพื่อจัดการความต้องการเฉพาะของธุรกิจ
จุดประสงค์ของส่วนนี้คือการแสดงให้เห็นวิธีที่คุณสามารถพัฒนาตรรกะที่กำหนดเองเพื่อตีความการตอบกลับของ API เพื่อพิจารณาว่าคุณต้องการแจ้งลูกค้าหรือไม่และอย่างไร ส่วนนี้ครอบคลุมระดับความเสี่ยงและสัญญาณการตอบกลับของ API เพิ่มเติม ที่ควรพิจารณาในการปรับแต่ง
อย่างไรก็ตาม แม้ว่าคุณจะใช้verdict.possibleNextActionเพียงอย่างเดียวในการตัดสินใจ
เกี่ยวกับขั้นตอนถัดไป สัญญาณเพิ่มเติมที่อธิบายไว้ด้านล่างก็ยังช่วยให้คุณ
เข้าใจรายละเอียดเกี่ยวกับปัญหาที่อาจเกิดขึ้นกับที่อยู่ได้
การยอมรับความเสี่ยง
เมื่อออกแบบวิธีที่ระบบตอบสนองต่อสัญญาณจาก Address Validation API คำแนะนำต่อไปนี้จะช่วยให้คุณสร้างรูปแบบการตอบสนองที่มีประสิทธิภาพมากขึ้นได้ อย่างไรก็ตาม นี่เป็นเพียงคำแนะนำเท่านั้น โปรดทราบว่าการติดตั้งใช้งานควรเหมาะกับรูปแบบธุรกิจของคุณ
| คำแนะนำ | รายละเอียด | |
|---|---|---|
| ระดับความเสี่ยง | โปรดพิจารณาระดับ ความคลาดเคลื่อนสำหรับสถานการณ์ของคุณเมื่อพิจารณาว่าจะแจ้งให้ แก้ไขหรือยอมรับที่อยู่ที่ป้อน | API การตรวจสอบที่อยู่จะแสดงสัญญาณต่างๆ ที่คุณสามารถรวมเข้ากับระดับความเสี่ยงเพื่อเพิ่มประสิทธิภาพกระบวนการตรวจสอบ ได้ เช่น หากที่อยู่มีหมายเลขถนนที่ยังไม่ได้รับการยืนยัน คุณก็ยังยอมรับได้ ในทางกลับกัน หากการดำเนินธุรกิจของคุณต้องใช้ ความแม่นยำของที่อยู่ที่มากขึ้น คุณอาจแจ้งให้ผู้ใช้ทราบ ดูตัวอย่างที่อาจ อยู่ในหมวดหมู่ใดหมวดหมู่หนึ่งได้ที่หมายเลขถนนที่ไม่ได้ยืนยันในประเทศที่ไม่ใช่สหรัฐอเมริกา ในยอมรับที่อยู่ - ตัวอย่าง | 
| ยอมรับที่อยู่ | แนวทางปฏิบัติแนะนำคือการอนุญาตให้ระบบยอมรับรายการเดิม หากลูกค้าไม่ตอบกลับข้อความแจ้ง | ในกรณีเหล่านี้ ลูกค้าอาจป้อนที่อยู่ที่ไม่ได้อยู่ในระบบ เช่น ที่อยู่ของสถานที่ก่อสร้างใหม่ | 
ตัวอย่างขั้นตอนการชำระเงินที่หลีกเลี่ยงความเสี่ยง
หากต้องการลดความเสี่ยงที่การนำส่งจะไม่สำเร็จ คุณอาจปรับแต่งตรรกะเพื่อแจ้งให้ลูกค้าทราบบ่อยขึ้น เช่น คุณอาจใช้ตรรกะต่อไปนี้แทนที่จะใช้ตรรกะที่อธิบายไว้ในส่วนวัตถุประสงค์หลัก
if (verdict.possibleNextAction == FIX or verdict.validationGranularity
== OTHER or verdict.validationGranularity == ROUTE)
  Prompt customer to fix their address.
else if (verdict.possibleNextAction == CONFIRM_ADD_SUBPREMISES)
  Prompt customer to add a unit number.
else if (verdict.possibleNextAction == CONFIRM or verdict.validationGranularity
== PREMISE_PROXIMITY or verdict.hasSpellCorrectedComponents or
verdict.hasReplacedComponents or verdict.hasInferredComponents)
  Prompt customer to confirm their address.
else
  Proceed with the returned address.
ตัวอย่างขั้นตอนการชำระเงินที่ราบรื่น
หากต้องการลดอุปสรรคในขั้นตอนการชำระเงิน คุณอาจปรับแต่งตรรกะเพื่อแจ้งให้ลูกค้าทราบน้อยลง เช่น คุณอาจใช้ตรรกะต่อไปนี้แทนที่จะใช้ตรรกะที่อธิบายไว้ในส่วนวัตถุประสงค์หลัก
if (verdict.possibleNextAction == FIX)
  Prompt customer to fix their address.
else if (verdict.hasReplacedComponents)
  Prompt customer to confirm their address.
else
  Proceed with the returned address.
สัญญาณ FIX
แก้ไขที่อยู่เมื่อผลลัพธ์ระบุอย่างชัดเจนว่าที่อยู่อาจนำส่งไม่ได้ จากนั้นระบบจะแจ้งให้ลูกค้าให้ข้อมูลที่จำเป็น หลังจากนั้นคุณจะออกเวิร์กโฟลว์อีกครั้งเพื่อรับที่อยู่ที่นำส่งได้
คุณใช้ช่องต่อไปนี้ของการตอบกลับจาก Address Validation API นอกเหนือจาก verdict.possibleNextAction เพื่อพิจารณาว่าที่อยู่มีปัญหาสำคัญหรือไม่ และปัญหาเหล่านั้นคืออะไรได้
| รายละเอียดระดับการตรวจสอบ | เมื่อการแจงนับความละเอียดของการตรวจสอบสำหรับที่อยู่เป็น OTHERแสดงว่าที่อยู่อาจไม่ถูกต้อง | 
|---|---|
| ไม่มีคอมโพเนนต์ | เมื่อ address.missingComponentTypesไม่ว่าง แสดงว่าที่อยู่อาจขาดข้อมูลสำคัญ | 
| คอมโพเนนต์ที่น่าสงสัย | เมื่อระดับการยืนยันของคอมโพเนนต์เป็น UNCONFIRMED_AND_SUSPICIOUSแสดงว่าคอมโพเนนต์นั้น
      อาจไม่ถูกต้อง | 
| คอมโพเนนต์ที่ยังไม่ได้รับการแก้ไข | unresolvedToken เป็นส่วนหนึ่งของอินพุตที่ระบบไม่รู้จักว่าเป็นส่วนที่ถูกต้องของที่อยู่ | 
| การยืนยัน DPV ของ USPS | เมื่อ uspsData.dpvConfirmationเป็นNหรือว่างเปล่า อาจเกิดปัญหาเกี่ยวกับที่อยู่ ฟิลด์นี้ใช้ได้กับที่อยู่ในสหรัฐอเมริกาเท่านั้น ดูรายละเอียดเพิ่มเติมเกี่ยวกับuspsData.dpvConfirmationได้ที่จัดการที่อยู่ในสหรัฐอเมริกา | 
สัญญาณ CONFIRM_ADD_SUBPREMISES (ที่อยู่ในสหรัฐอเมริกาเท่านั้น)
คุณแจ้งให้ลูกค้าตรวจสอบที่อยู่และพิจารณาเพิ่มหมายเลขยูนิต เมื่อการตอบกลับของ Address Validation API ระบุว่าที่อยู่อาจ ไม่มีสถานที่ย่อย ในกรณีเหล่านี้ ที่อยู่ของอาคารน่าจะ ถูกต้อง แต่คุณต้องการความมั่นใจมากขึ้นว่าที่อยู่ที่ได้คือที่อยู่ที่ ลูกค้าต้องการ
คุณสามารถใช้ช่องต่อไปนี้ของการตอบกลับจาก Address Validation API นอกเหนือจาก verdict.possibleNextAction เพื่อพิจารณาว่าที่อยู่น่าจะไม่มีสถานที่ย่อยหรือไม่
| Missing subpremise component | เมื่อฟิลด์ address.missingComponentTypesมีค่า
   เป็นsubpremiseแสดงว่าที่อยู่ไม่มีหมายเลขยูนิต | 
|---|---|
| การยืนยัน DPV ของ USPS | เมื่อ uspsData.dpvConfirmationเป็นSแสดงว่าหมายเลขหลักของที่อยู่ตรงกับที่อยู่ในฐานข้อมูลของ USPS อย่างไรก็ตาม คาดว่าที่อยู่จะมีหมายเลขรองด้วย
 ฟิลด์นี้ใช้ได้กับที่อยู่ในสหรัฐอเมริกาเท่านั้น ดูรายละเอียดเพิ่มเติมเกี่ยวกับuspsData.dpvConfirmationได้ที่จัดการที่อยู่ในสหรัฐอเมริกา | 
ตัวอย่างการเพิ่มที่อยู่ของสถานที่ย่อย
สัญญาณ CONFIRM
คุณยืนยันที่อยู่เมื่อผลการตัดสินระบุว่า Address Validation API อนุมานหรือทำการเปลี่ยนแปลงคอมโพเนนต์ของที่อยู่เพื่อสร้าง ที่อยู่ที่ผ่านการตรวจสอบแล้ว ในกรณีเหล่านี้ คุณมีที่อยู่ที่นำส่งได้ แต่ต้องการความมั่นใจมากขึ้นว่าที่อยู่ที่ได้จะเป็นที่อยู่ที่ลูกค้าต้องการ
คุณสามารถใช้ช่องต่อไปนี้ในการตอบกลับของ Address Validation API นอกเหนือจาก verdict.possibleNextAction เพื่อพิจารณาว่าที่อยู่มีปัญหาเล็กน้อยหรือไม่ และปัญหาเหล่านั้นคืออะไร
| รายละเอียดระดับการตรวจสอบ | เมื่อ validationGranularityสำหรับที่อยู่เป็นROUTEหรือPREMISE_PROXIMITYที่อยู่อาจไม่ถูกต้อง | 
|---|---|
| ข้อมูลที่อนุมาน | เมื่อฟิลด์ hasInferredComponentsเป็นtrueคุณจะทราบว่า API ได้ป้อนข้อมูลที่รวบรวมจากคอมโพเนนต์ที่อยู่อื่นๆ
   แล้ว | 
| ข้อมูลที่ถูกแทนที่ | เมื่อฟิลด์ hasReplacedComponentsเป็นtrueAPI จะแทนที่ข้อมูลที่ป้อนด้วยข้อมูลที่ API เห็นว่าทำให้ที่อยู่ถูกต้อง | 
| การแก้ไขตัวสะกด | เมื่อฟิลด์ hasSpellCorrectedComponentsเป็นtrueAPI จะแก้ไขการสะกดของคอมโพเนนต์บางรายการที่สะกดผิด | 
สัญญาณ ACCEPT
คุณอาจยอมรับที่อยู่เมื่อการตอบกลับของ Address Validation API API มี ความมั่นใจสูงว่าที่อยู่นั้นนำส่งได้และใช้ได้ โดยไม่ต้องมีการโต้ตอบกับลูกค้าเพิ่มเติมในกระบวนการดาวน์สตรีม
คุณใช้ช่องต่อไปนี้ในการตอบกลับของ Address Validation API เพิ่มเติมจาก verdict.possibleNextAction เพื่อพิจารณาว่าที่อยู่มีคุณภาพที่ยอมรับได้หรือไม่
| รายละเอียดระดับการตรวจสอบ | validationGranularityของPREMISEมักจะ
      ยอมรับได้ แต่ค่าROUTEอาจยังบ่งชี้ถึง
      ที่อยู่ที่นำส่งได้ | 
|---|---|
| ไม่มีข้อมูลที่อนุมาน | เมื่อฟิลด์ hasInferredComponentsเป็นfalseคุณจะทราบว่าไม่มีการอนุมานคอมโพเนนต์ใดๆ ในเอาต์พุต | 
| ไม่มีข้อมูลที่ถูกแทนที่ | เมื่อฟิลด์ hasReplacedComponentsเป็นfalseคุณจะทราบว่าไม่มีการแทนที่ข้อมูลอินพุต | 
| ไม่มีการแก้ไขตัวสะกด | เมื่อ hasSpellCorrectedComponentsฟิลด์เป็นfalse,
   คุณจะทราบว่าไม่มีการแก้ไขการสะกดคำ | 
| การยืนยัน DPV ของ USPS | เมื่อ uspsData.dpvConfirmationเป็นYแสดงว่าที่อยู่ตรงกับที่อยู่ในฐานข้อมูลของ USPS ฟิลด์นี้ใช้ได้กับที่อยู่ในสหรัฐอเมริกาเท่านั้น ดูรายละเอียดเพิ่มเติมเกี่ยวกับuspsData.dpvConfirmationได้ที่
   จัดการที่อยู่ในสหรัฐอเมริกา |