Questo documento descrive una procedura per creare un sistema di controllo degli indirizzi per gestire una serie di risposte dell'API Address Validation. Spiega come interpretare la risposta dell'API per determinare quando e come richiedere ai clienti ulteriori informazioni.
In generale, la risposta dell'API determina i seguenti modi in cui il sistema deve gestire un indirizzo:
Valuta la possibilità di chiedere al cliente ulteriori informazioni.
Correggi: l'indirizzo potrebbe contenere problemi significativi.
Valuta la possibilità di chiedere al cliente di aggiungere un numero di unità.
Aggiungi unità secondaria: l'indirizzo potrebbe non includere
un'unità secondaria.
Valuta la possibilità di chiedere al cliente di confermare che l'indirizzo sia corretto.
Conferma: l'indirizzo potrebbe contenere problemi minori.
Prendi in considerazione l'utilizzo dell'indirizzo senza ulteriori prompt, a tuo rischio e pericolo.
Accetta: l'indirizzo potrebbe non contenere problemi.
Scopo principale
Questo documento ti aiuta a modificare il sistema per analizzare al meglio la risposta dell'API e determinare le azioni successive da intraprendere con gli indirizzi forniti. Il seguente pseudocodice illustra un possibile flusso.
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.
La logica esatta dipende dalla tua situazione. Per ulteriori dettagli, consulta la sezione Personalizzare la logica di convalida.
Flussi di lavoro di esempio
La tabella seguente riassume i flussi di lavoro di esempio che potresti implementare per richiedere al tuo cliente in base alla risposta dell'API.
Comportamento del sistema | ||
---|---|---|
Correggi l'indirizzo |
La risposta di
|
|
Aggiungi sedi secondarie |
La risposta di
|
|
Conferma l'indirizzo |
La risposta di
|
|
Accetta l'indirizzo |
La risposta di
|
Personalizzare la logica di convalida
Sebbene tu possa utilizzare i risultati del campo verdict.possibleNextAction
per
determinare come il sistema procede con la risposta API, potresti anche
valutare la possibilità di creare una logica personalizzata, ad esempio per gestire esigenze specifiche dell'attività.
Lo scopo di questa sezione è illustrare come sviluppare una logica personalizzata per interpretare la risposta dell'API al fine di determinare se e come vuoi sollecitare il cliente. Questa sezione illustra i livelli di rischio e gli indicatori di risposta API aggiuntivi da considerare per la personalizzazione.
Ciò detto, anche se ti affidi esclusivamente al verdict.possibleNextAction
per decidere
i passaggi successivi, gli indicatori aggiuntivi descritti di seguito possono comunque aiutarti
a comprendere i dettagli relativi a potenziali problemi con l'indirizzo.
Tolleranza di rischio
Quando progetti il modo in cui il sistema risponde ai segnali dell'API Address Validation, i seguenti consigli possono aiutarti a creare un modello di risposta più efficace. Tuttavia, questi sono solo consigli, quindi tieni presente che la tua implementazione deve essere adatta al tuo modello di business.
Consulenza | Dettagli | |
---|---|---|
Livello di rischio |
Tieni conto del livello di tolleranza per la tua situazione quando trovi un equilibrio tra la richiesta di correzioni e l'accettazione dell'indirizzo così come è stato inserito. |
L'API Address Validation restituisce una serie di indicatori che puoi incorporare nel tuo livello di rischio per ottimizzare il processo di convalida. Ad esempio, se un indirizzo ha un numero civico non confermato, puoi comunque accettarlo. D'altra parte, se la tua attività richiede una maggiore precisione dell'indirizzo, potresti chiedere all'utente. Per un esempio che potrebbe rientrare in una delle due categorie, vedi Numero civico non confermato non statunitense in Accetta indirizzo - esempi. |
Accetta indirizzi |
È buona norma consentire al sistema di accettare la voce originale se il cliente non risponde alle richieste. |
In questi casi, il cliente potrebbe aver inserito un indirizzo non presente nel sistema, ad esempio per una nuova costruzione. |
Esempio di flusso di pagamento con avversione al rischio
Se vuoi ridurre il rischio di mancate consegne, puoi personalizzare la tua logica per sollecitare i tuoi clienti più spesso. Ad esempio, anziché utilizzare la logica descritta nella sezione Scopo principale, potresti utilizzare la seguente logica.
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.
Esempio di flusso di pagamento con pochi problemi
Se vuoi ridurre l'attrito nel flusso di pagamento, puoi personalizzare la logica per chiedere ai clienti meno spesso. Ad esempio, anziché utilizzare la logica descritta nella sezione Scopo principale, potresti utilizzare la seguente logica.
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.
Indicatori FIX
Correggere un indirizzo quando i risultati indicano chiaramente che potrebbe non essere recapitabile. Il sistema può quindi chiedere al cliente di fornire le informazioni necessarie, dopodiché puoi riemettere il flusso di lavoro per ottenere un indirizzo di consegna.
I seguenti campi della risposta dell'API Address Validation possono essere utilizzati in aggiunta
a verdict.possibleNextAction
per determinare se un indirizzo presenta problemi gravi
e quali sono.
Granularità della convalida | Quando l'enumerazione della granularità di convalida per un indirizzo è
OTHER , è probabile che l'indirizzo non sia corretto.
|
---|---|
Componenti mancanti | Quando address.missingComponentTypes non è vuoto, è
probabile che nell'indirizzo manchino informazioni importanti.
|
Componenti sospetti | Quando l'enumerazione del livello di conferma per un componente è
UNCONFIRMED_AND_SUSPICIOUS , è probabile che il componente non sia
corretto.
|
Componenti non risolti | Un unresolvedToken è una parte dell'input non riconosciuta come parte valida di un indirizzo. |
Conferma DPV USPS | Quando uspsData.dpvConfirmation è N
o vuoto, potrebbe esserci un problema con l'indirizzo. Questo campo è disponibile solo per gli indirizzi negli Stati Uniti. Per maggiori dettagli su uspsData.dpvConfirmation ,
vedi Gestire gli indirizzi degli Stati Uniti.
|
Esempi di correzione dell'indirizzo
Indicatori CONFIRM_ADD_SUBPREMISES (solo indirizzi statunitensi)
Inviti il cliente a rivedere l'indirizzo e a valutare la possibilità di aggiungere un numero di unità quando la risposta dell'API Address Validation indica che l'indirizzo potrebbe non includere un'unità secondaria. In questi casi, l'indirizzo dell'edificio è probabilmente valido, ma vuoi avere maggiore certezza che l'indirizzo risultante sia quello inteso dal cliente.
Oltre a verdict.possibleNextAction
, è possibile utilizzare i seguenti campi della risposta dell'API Address Validation per determinare se è probabile che un indirizzo non includa un
sottopremessa.
Missing subpremise component
|
Quando il campo address.missingComponentTypes contiene un valore subpremise , significa che nell'indirizzo manca il numero dell'unità.
|
---|---|
Conferma DPV USPS | Quando uspsData.dpvConfirmation è S , significa che il numero civico principale dell'indirizzo è stato abbinato a un indirizzo nel database USPS. Tuttavia, era previsto che l'indirizzo contenesse anche un numero secondario. Questo campo è disponibile solo per gli indirizzi negli Stati Uniti. Per maggiori
dettagli su uspsData.dpvConfirmation , consulta
Gestire gli indirizzi degli Stati Uniti.
|
Aggiungere esempi di indirizzi di unità secondarie
Indicatori CONFIRM
Confermi un indirizzo quando il verdetto indica che l'API Address Validation ha dedotto o apportato modifiche ai componenti dell'indirizzo per produrre un indirizzo convalidato. In questi casi, hai un indirizzo recapitabile, ma preferisci una maggiore certezza che l'indirizzo risultante sia quello inteso dal cliente.
I seguenti campi della risposta dell'API Address Validation possono essere utilizzati in aggiunta
a verdict.possibleNextAction
per determinare se un indirizzo presenta problemi minori
e quali sono.
Granularità della convalida | Quando validationGranularity per un indirizzo è
ROUTE o PREMISE_PROXIMITY , l'indirizzo potrebbe
non essere corretto.
|
---|---|
Dati dedotti | Quando il campo hasInferredComponents è true ,
sai che l'API ha compilato le informazioni ricavate da altri componenti dell'indirizzo.
|
Dati sostituiti | Quando il campo hasReplacedComponents è true , l'API ha sostituito i dati inseriti con i dati che riteneva validi per l'indirizzo.
|
Correzioni ortografiche | Quando il campo hasSpellCorrectedComponents è true ,
l'API ha corretto l'ortografia di alcuni componenti con errori ortografici.
|
Esempi di indirizzi confermati
Indicatori ACCEPT
Potresti accettare un indirizzo quando la risposta dell'API Address Validation fornisce un alto grado di certezza che l'indirizzo sia recapitabile e possa essere utilizzato senza ulteriori interazioni con il cliente nel processo downstream.
I seguenti campi della risposta dell'API Address Validation possono essere utilizzati in aggiunta
a verdict.possibleNextAction
per determinare se un indirizzo è di qualità
accettabile.
Granularità della convalida | Un validationGranularity di PREMISE è spesso
accettabile, anche se un valore di ROUTE può comunque indicare un
indirizzo di consegna.
|
---|---|
Nessun dato dedotto | Quando il campo hasInferredComponents è false ,
sai che nessun componente nell'output è stato dedotto.
|
Nessun dato sostituito | Quando il campo hasReplacedComponents è false ,
sai che nessun dato di input è stato sostituito.
|
Nessuna correzione ortografica | Quando il campo hasSpellCorrectedComponents è false ,
sai che non sono state apportate correzioni ortografiche.
|
Conferma DPV USPS | Quando uspsData.dpvConfirmation è Y , significa
che l'indirizzo è stato associato a un indirizzo nel database USPS. Questo
campo è disponibile solo per gli indirizzi negli Stati Uniti. Per maggiori dettagli su
uspsData.dpvConfirmation , vedi
Gestire gli indirizzi degli Stati Uniti.
|
Accettare gli esempi di indirizzi