Verify address
There might be various scenarios like order capture or change of order address which mandates address verification. The application provides an address verification agent to verify addresses on the order and raise alerts to notify users to take appropriate action.
Solution
The following section describes APIs, user exits, services, and other components.
verifyAddress
API takes address
information and attempts to verify it upfront, through an address verification system (AVS). The
communication with the AVS is handled by the YCDVerifyAddressWithAVSUE
user exit.
The status of the verification process is returned. The possible values are:-
UE_MISSING
- An implementation for the user exitYCDVerifyAddressWithAVSUE
could not be found. AVS_DOWN
- The address verification system did not respondFAILED
- This address could not be verified by the address verification systemVERIFIED
- This address was verified by the address verification system
During order creation, if the IsAddressVerified
attribute is set to N
and passed in the input to the createOrder
API, the address verification system
validates the address. If the YCDVerifyAddressWithAVSUE
user exit indicates an
invalid address, the order is put on hold of type YCD_VERIFY_ADDRESS
. Orders with
address verification hold cannot be scheduled or released.
The Address Verification agent picks up orders that are placed on the address verification hold.
For each address in an order that must be validated, the agent calls the
verifyAddress
API, which in turn calls the
YCDVerifyAddressWithAVSUE
user exit to interact with the AVS.
If the AVS confirms that all addresses are valid, the agent removes the hold on the order.
If the address is invalid, the agent rejects the hold. When an address is not valid, the AVS returns multiple possible close matches if it can. The agent handles this situation in the same way as if the AVS had indicated an invalid address: it rejects the hold on the order and raises an alert. The agent does not reprocess the order unless an address is changed manually.
If the AVS is not online, the agent can be configured to either remove the hold from the order and process it, or reject it, to be reprocessed by the agent later.
The details for the address verification agent are as follows:
Attribute | Value |
---|---|
Base Transaction ID | PROCESS_ORDER_HOLD_TYPE |
Base Document Type | 0001 (Sales Order) |
Base Process Type | ORDER_FULFILLMENT (Order Fulfillment) |
Abstract Transaction | No |
APIs Called | verifyAddress |
Parameter | Description |
---|---|
Action | This field is used internally by the application. The only valid value is
Get . Do not modify this field. |
Number of Records to Buffer | Optional. Number of records to retrieve and process at one time. If blank or
specified as 0 (zero), it defaults to 5000 . |
CollectPendingJobs |
If this parameter is set to By default, |
Next Task Queue Interval |
The number of hours to wait before attempting to process an address again. This value is used
with the |
Statistics Tracked
None.
Pending Job Count
The number of orders that need to have addresses verified.
Transaction/Event | Key Data | Data Published | Template Support? |
---|---|---|---|
|
|
|
Yes |
The YCD_VerifyAddressFailedAlert_1.0
service is invoked to raise alerts of type
YCD_VERIFY_ADDRESS
. Users are notified of the addresses that failed verification
through these alerts so that they can resolve the hold.
The users can open the alert and view its details. The getExceptionDetails
API
is called to display the alert details. The getCompleteOrderDetails
API is called
to retrieve a list of unverified addresses on an order. A link is provided to allow the users to
update the order addresses as required.
Implementation
- Ensure that the
YCD_VERIFY_ADDRESS
hold type is implemented for the enterprise that does the address verification. Do the following steps to implement a Address Verification hold type:- Launch Applications Manager -> Distributed Order Management, and load the enterprise that does address verification.
- Go to Distributed Order Management -> <Document Specific> -> <Document Type> -> Fulfillment -> Hold Types.
- Click the Create icon to create the address verification hold
type with the following details:
- In the Hold Type field, enter
YCD_VERIFY_ADDRESS
. - In the Hold Creation tab, select the following options:
- On Draft Order Confirmation
- On Order Creation
- In the Hold Resolution tab, select Address Verification as the time triggered transaction that will process the created holds.
- In the Hold Effects tab, you can specify the transactions that will be stopped from processing orders on this hold.
- In the Hold Type field, enter
- Click Save. The hold type is saved.
Note: The attributes mentioned in the procedure are important. Additionally, you can specify other attributes for the hold type based on your business needs. - Implement the
YCDVerifyAddressWithAVSUE
user exit to verify the address with AVS. - Configure the address verification agent. To configure the behavior of the agent when the AVS is not online, see the Organization and participant modeling concepts.
- Configure the time that the agent must wait to reprocess an address. To configure the amount of time that the agent must wait before attempting to reprocess an address that could not be verified, can be configured in the Applications Manager. For more information about configuring agent criteria parameters, refer to the Organization and participant modeling concepts.
End-user impact
The users can verify the address and update if required, so that the orders are dispatched and billed to the correct address.