Vérification d'adresse

Différents scénarios, tels qu'une capture de commande ou un changement d'adresse de commande, impliquent que l'adresse soit vérifiée. L'application fournit un agent de vérification d'adresse pour vérifier les adresses indiquées sur les commandes et émettre des alertes pour inviter les utilisateurs à prendre les mesures nécessaires.

Solution

La section suivante décrit les API, les exits utilisateur, les services ainsi que d'autres composants.

Lors de la capture ou de la modification d'une adresse, l'API verifyAddress relève les informations données et tente de les vérifier en amont via un système de vérification d'adresse (AVS). La communication avec le système AVS est gérée par l'exit utilisateur YCDVerifyAddressWithAVSUE. L'état du processus de vérification est renvoyé. Les valeurs possibles sont :
  • UE_MISSING - Mise en oeuvre de l'exit utilisateur YCDVerifyAddressWithAVSUE introuvable.
  • AVS_DOWN - Le système de vérification d'adresse ne répond pas.
  • FAILED - Le système de vérification d'adresse ne parvient pas à vérifier cette adresse.
  • VERIFIED - Cette adresse a été vérifiée par le système de vérification d'adresse.

Lors de la création de la commande, si l'attribut IsAddressVerified est défini sur ""N"" et transmis à l'API createOrder, le système de vérification d'adresse valide l'adresse. Si l'exit utilisateur YCDVerifyAddressWithAVSUE signale une adresse non valide, la commande est mise en attente de type YCD_VERIFY_ADDRESS. Les commandes en attente de vérification d'adresse ne peuvent pas être planifiées ni débloquées.

L'agent de vérification d'adresse prélève les commandes placées en attente de vérification d'adresse. Pour chaque adresse d'une commande à valider, l'agent appelle l'API verifyAddress qui, à son tour, appelle l'exit utilisateur YCDVerifyAddressWithAVSUE pour interagir avec le système AVS.

Si l'AVS confirme la validité de toutes les adresses, l'agent lève la mise en attente de la commande.

Si l'adresse est incorrecte, l'agent rejette la mise en attente. Lorsqu'une adresse n'est pas valide, l'AVS renvoie, dans la mesure du possible, plusieurs correspondances proches. L'agent gère cette situation de la même manière que si le système AVS avait signalé une adresse incorrecte : il rejette la mise en attente de la commande et déclenche une alerte. L'agent ne retraite la commande que si l'adresse est changée manuellement.

Si le système AVS n'est pas connecté, l'agent peut être configuré pour supprimer la mise en attente de la commande et traiter la commande ou pour la rejeter de sorte qu'elle soit de nouveau traitée par l'agent ultérieurement.

Figure 1. Agent de vérification de l'adresse
Agent de vérification d'adresse

L'agent de vérification d'adresse se présente comme suit :

Tableau 1. Attributs
Attribut Valeur
ID transaction de base PROCESS_ORDER_HOLD_TYPE
Type de document de base 0001 (bon de commande)
Type de processus de base ORDER_FULFILLMENT (Exécution de commande)
Transaction abstraite Non
API appelées verifyAddress
Tableau 2. Paramètres critiques
Paramètre Description
Action Cette zone est utilisée en interne par l'application. La seule valeur admise est Get. Ne modifiez pas cette zone.
Nombre d'enregistrements à mettre en tampon Facultatif. Nombre d'enregistrements à extraire et traiter en même temps. Si cette zone est laissée vide ou que la valeur spécifiée est 0 (zéro), elle prend par défaut la valeur de 5000.
CollectPendingJobs

Si ce paramètre a pour valeur N, l'agent ne collecte pas d'informations sur les tâches en attente pour cette transaction déclenchée à une heure donnée. Cette information concernant une tâche en attente sert à surveiller l'agent dans la console de gestion du système.

Par défaut, CollectPendingJobs est défini sur Y. Il peut s'avérer utile de définir cet attribut sur N si une transaction déclenchée à une heure donnée effectue un nombre important de requêtes getPendingJobs et que les frais généraux sont trop élevés.

Intervalle de file d'attente de tâches suivant

Nombre d'heures d'attente avant de tenter de retraiter une adresse. Cette valeur est utilisée conjointement à la règle MUST_VERIFY_ADDRESS. Si elle n'est pas définie, la valeur par défaut est de 5 heures à partir de l'heure actuelle.

Statistiques suivies

Aucune

Nombre de tâches en attente

Nombre de commandes nécessitant une vérification des adresses.

Tableau 3. Événements émis par l'agent de vérification de l'adresse
Transaction/événement Données clé Données publiées Prise en charge du modèle ?
VERIFY_ADDRESS_FAILED
OrderHeaderKey,
OrderNo
VERIFY_ADDRESS.0001
.VERIFY_ADDRESS_
FAILED.001.xml
Oui

Le service YCD_VerifyAddressFailedAlert_1.0 est appelé pour déclencher des alertes de type YCD_VERIFY_ADDRESS. Les utilisateurs sont avisés des adresses dont la vérification a échoué via ces alertes de sorte qu'ils puissent lever la mise en attente.

Ils peuvent ouvrir l'alerte et afficher ses détails. L'API getExceptionDetails est appelée pour afficher les détails de l'alerte. L'API getCompleteOrderDetails est appelée pour extraire la liste des adresses non vérifiées d'une commande. Un lien permet, au besoin, aux utilisateurs de mettre à jour les adresses d'une commande.

Implémentation

Pour utiliser la fonction de vérification d'adresse, effectuez les opérations suivantes :
  1. Vérifiez que le type de mise en attente YCD_VERIFY_ADDRESS est mis en oeuvre pour l'entreprise qui effectue la vérification d'adresse. Procédez comme suit pour mettre en oeuvre un type de mise en attente de vérification d'adresse :
    1. Sélectionnez Applications Manager -> Distributed Order Management, puis chargez l'entreprise qui effectue la vérification d'adresse.
    2. Sélectionnez Distributed Order Management -> <Spécifique au document> -> <Type de document> -> Exécution -> Types de mise en attente.
    3. Cliquez sur l'icône Créer pour créer le type de mise en attente de vérification d'adresse avec les détails suivants :
      • Dans la zone Type de mise en attente, entrez YCD_VERIFY_ADDRESS.
      • Dans l'onglet Création de la mise en attente, sélectionnez les options suivantes :
        • Lors de la confirmation de la commande provisoire
        • Lors de la création de la commande
      • Dans l'onglet Résolution de la mise en attente, sélectionnez Vérification d'adresse comme transaction déclenchée à une heure donnée qui traitera les mises en attente créées.
      • Dans l'onglet Effets de la mise en attente, vous pouvez indiquer les transactions qui interrompront le traitement des commandes de cette mise en attente.
    4. Cliquez sur Enregistrer. Le type de mise en attente est enregistré.
    Remarque : Les attributs mentionnés dans la procédure sont importants. Vous pouvez également spécifier d'autres attributs pour le type de mise en attente en fonction des besoins de votre activité.
  2. Mettez en oeuvre l'exit utilisateur YCDVerifyAddressWithAVSUE pour vérifier l'adresse via le système AVS.
  3. Configurez l'agent de vérification d'adresse. Pour configurer le comportement de l'agent lorsque le système AVS n'est pas connecté, voir Concepts de modélisation de l'organisation et des participants.
  4. Configurez la durée d'attente de l'agent avant de retraiter une adresse. Pour configurer la durée pendant laquelle l'agent doit attendre avant d'essayer de traiter à nouveau une adresse qui n'a pas pu être vérifiée, utilisez Applications Manager. Pour plus d'informations sur la configuration des paramètres de critères d'agent, voir Concepts de modélisation de l'organisation et des participants.

Impact sur l'utilisateur final

Les utilisateurs peuvent vérifier l'adresse et, au besoin, la mettre à jour de sorte que les commandes soient ventilées et facturées à la bonne adresse.