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.
The following section describes APIs, user exits, services, and other components.
verifyAddressAPI takes address information and attempts to verify it upfront, through an address verification system (AVS). The communication with the AVS is handled by the
YCDVerifyAddressWithAVSUEuser exit. The status of the verification process is returned. The possible values are:
UE_MISSING- An implementation for the user exit
YCDVerifyAddressWithAVSUEcould not be found.
AVS_DOWN- The address verification system did not respond
FAILED- This address could not be verified by the address verification system
VERIFIED- 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:
|Base Transaction ID||PROCESS_ORDER_HOLD_TYPE|
|Base Document Type||0001 (Sales Order)|
|Base Process Type||ORDER_FULFILLMENT (Order Fulfillment)|
|Action||This field is used internally by the application. The only valid value is
|Number of Records to Buffer||Optional. Number of records to retrieve and process at one time. If blank or
If this parameter is set to
|Next Task Queue Interval||
The number of hours to wait before attempting to process an address again. This value is used
Pending Job Count
The number of orders that need to have addresses verified.
|Transaction/Event||Key Data||Data Published||Template Support?|
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
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.
- Ensure that the
YCD_VERIFY_ADDRESShold type is implemented for the enterprise that does the address verification. Do the following steps to implement a Address Verification hold type:
Note: The attributes mentioned in the procedure are important. Additionally, you can specify other attributes for the hold type based on your business needs.
- 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
- 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.
- Implement the
YCDVerifyAddressWithAVSUEuser 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.
The users can verify the address and update if required, so that the orders are dispatched and billed to the correct address.