Agent Search

Request/Response & Json Schema

Overview

This interface provides the ability to perform producer search with a given set of search parameters against an external system as a SOAP/REST call. ALIP Business configuration rules will invoke the Producer search interface within ALIP.

The trigger points configured for the Producer Search interface are -

. Contract Role History

The invocation of this interface via ALIP UI on Role History can be controlled by a flag – Bypass Agent Search. If a client needs to switch off this external agent search, it can be done by switching the flag value via business configuration lookup tables.

The interface has been enhanced to support search based on Enterprise Producer Number (EPN), but the front end configuration to invoke with this search parameter is not in the standard Base configuration on the Role History page, however section 3.7.10 defines the request structure which is expected from business configuration. Client teams have the capability to configure this additional search parameter if needed.

Technical Requirements

TR ID# Technical Requirements
TR1 ACORD “Party Search transaction tc=301” is used to communicate with the external system.
TR2 The interface converts the ALIP xml sent by the Business Configuration to ACORD XML format and post to the external system
TR4 In case of successful webservice call, the ALIP interface converts the returned ACORD Response to ALIP xml format and send it back to the calling Business Configuration
TR5 Any failures or errors that occur during the process will be logged as Integration Failures in ALIP.
TR6 ALIP can connect to external service using REST or SOAP. For REST, support is provided for OAuth2 authentication

Business Requirements

BR ID# Business Requirements
BR1 The Search Request should indicate whether the call is originating from a pre-issue application or from a post issue contract. This allows the external system to perform additional processing as needed.
BR2 This Interface should allow an Agent to be searched in the external system based on Agent ID, Enterprise Producer Number, First Name, Last Name and SSN as Search parameters
BR3 Input fields should be validated so that at least one of them is populated with at least 1 non-blank character and that should not be wildcard “%.”
BR4 The search results returned by external system could contain up to a configurable maximum number of Producers in the response. The configurable value will be a part of the properties file and can be overridden by clients. If the property is not set or absent, default value of 10 will be used.
BR4 If no results could be returned or if there are too many results an error message would be returned by the external system.

Process Flow Diagram

Process Flow Description

. The ALIP business configuration will post the ALIP XML on the request queue, to invoke the Producer Search interface with the user entered search parameters.

. This Interface allows an Agent to be searched based on Agent ID, Enterprise Producer Number (EPN), First Name, Last Name and SSN. User can enter one or more than one search criteria which will be sent in the Search Request.

. The interfacewill validate for at least one nonblank search parameter to be present in the input that is not a just wildcard character, and further transform the request xml from ALIP’s canonical XML format to ACORD XML format.

. The Producer Search web service will be invoked with the ACORD message as the payload.

. Each client has a different naming convention with respect to the Agent ID and hence this interface provides support to define a custom search criteria name for the Agent ID. ALIP business configuration should pass the additional “SearchType” tag with the actual value that should be passed to the external system. This SearchType tag value will be set as the criteria name in the ACORD payload. The default behavior in the absence of this additional parameter will set the criteria name to ‘NIPRNumber’. The details of the expected tags in the input from business configuration are provided in Sections 3.7.10.

. If a matching Agent is found for the passed search criteria, External System responds with Agent Data. The actual details that are part of this response are detailed in the mapping sheet in section 3.7.9.

. The external service can provide a response containing multiple agents which match the search criteria provided in the ACORD request.

. The response received from the external system will undergo XSD validation for correct XML structure. An error message will be returned to business configuration if the XSD validation fails.

. If there are too many agents returned or no agents returned or an error message is returned from the external service, the information will be passed on to the triggering Business Configuration. The integration call will be logged as a success.

. The response received will be transformed from ACORD XML format to ALIP’s canonical XML format, which will then be returned to the invoking Business Configuration.

Assumptions

. This interface is currently enabled and maintained for the below combinations:

• SOAP with namespace, without authentication.

• SOAP with namespace, with Basic authentication.

• REST without namespace with Oauth and POST.

This can be further enhanced to work with other combinations, based on client’s requirement.

. The Integration API expects input from business configuration in a pre-defined format. The details of this are defined in the Section 3.7.10. Populating these elements can be done from any of the UI pages to invoke integration. The interface is not specific to the trigger point and can be called from any screens as needed by the clients.

. The ACORD request will contain the Search Criteria blocks only for the parameters that are part of the input XML to the integration.

. The interface expects one occurance of the input data elements per each integration invocation.

. The integration API creates a pre-defined XML response format for ALIP Business Configuration based on the data received from the external. The details of this are defined in the Sections 3.7.8, 3.7.9.

. The required business configuration triggers for the interface will be configured by the individual client teams using the interface.

. Agent Search is limited to only one set of Agent Search parameters at a time

Dependencies

Connectivity details to the external systems are mentioned below.

• The connection type for REST/SOAP is configurable for Accenture Dev team, and will be a one time setting. Allowed values are REST and SOAP. Connection Type is set as below:

AgentSearch.ExternalServiceType=REST

OR

AgentSearch.ExternalServiceType=SOAP

• In order to support SOAP connection SOAP Action and URL of external system is required. It is set as below in property file. IntegrationPoint.SOAP.{RequiredDetails}.

AgentSearch.SOAP.Auth=None

AgentSearch.SOAP.Url=http://vm-int1.navisys.com:8005/AgentSearchService

AgentSearch.SOAP.Action=://www.client.com/ann/FinancialProfessionalManagement/FinancialProfessionalManagement_V1.0.wsdl/AgentSearchRequest

• SOAP connection supports Basic authentication as well, if not required it can be disabled. It can be enabled as below.

AgentSearch.SOAP.Auth=Basic

• Agent Search interface allows a configurable maximum number of search results in the external service response. This value is configured as below:

AgentSearch.MaxSearchResultsThreshold=20

In case this value is not set the interface defaults to 10 as the max threshold.

• REST connection supports OAauth2 authentication as well. Token generation details should be defined in the properties:

Oauth2Token.AuthParams=dfsfdhhkkj:gygyuujjlkkj (ClientSecretID:Pwd)

Oauth2Token.Url=http://vm-int1.navisys.com:8084/token(Sample URL, needs to be replaced with client token generation url)

Token Generation Currently supports only application/json format

• The generated token can be cached for certain duration as per client’s requirement. Default Property setting for it will be 0 ms. This can be changed to for example 7200ms

tokenTimeToLive=0

• REST connection supports both XML and JSON content type with POST request. REST connection details are required as below. IntegrationPoint.REST.{RequiredDetails}.

AgentSearch.REST.AuthReqd=Yes

AgentSearch.REST.AuthType=OAuth

AgentSearch.REST.ContentType=XML or JSON

AgentSearch.REST.Url=http://localhost:8089/annuity/v1/advisors/lookup

AgentsSearch.REST.RequestType=POST or GET

• In case connection to the external REST and SOAP service fails API will retry to connect to service. This setting is also configurable as below. Default setting will be 3 retries.

SOAPConfigurableRetryCount=3

SOAPConfigurableBackOffPeriod=0

RESTConfigurableRetryCount=3

RESTConfigurableBackOffPeriod=0

• API provides the abitity to connect to external system using namespace. If namespace is required to connect to external system below setting is required. If this setting is provided API will apply it to the external service request and remove the same once the external service response is received before passing it for further processing.

AgentsSearch.Namespace=http://www.client.com/ann/AgentSearchRequest_V1.0.xsd

Success/Error Handling

Success Success Scenario Description Message Code Message Description Message Type Additional Comments
#1 Producer Search Successful 1 Success Informational

Error Error Scenario Description Message Code Message Description Message Type Additional Comments
#2 Unexpected error/exception in the processing. NA System Error fatal AGENT_CALL_FAILEDSystem Exception occured.
#3 XSD Validation Error NA XSD validation Error fatal AGENT_CALL_FAILED XSD failure occurred during Agent Search.
#4 Timeout Error NA Timeout error fatal AGENT_CALL_FAILED Unable to reach the Agent Search Web Service.
#5 Results Exceeded Max Limit 2 Results Exceeded Max Limit Informational SEARCH_RESULT_EXCEEDEDMaximum number of search results exceeded. 
#6 No Search results returned 1 No Search results returned Informational NO_SEARCH_RESULT No Producers were found using this search criteria
#7 Validation Error NA Validation Error fatal AGENT_SEARCH_FAILEDSearch parameter missing.
#8 Token Generation Failure for REST OAuth2 services due to below reasonsToken Generation Url is not validClient Credentials are not validRequest body (if mandatory) is not provided. NA Internal Error NA < Error>TOKEN_CALL_FAILEDError in getting Oauth Token