Developer Resources
Details
SoapAction | http://jackhenry.com/ws/CustMsgAdd |
Input Name | CustMsgAdd |
Output Name | CustMsgAddResponse |
Input Namespace | http://jackhenry.com/jxchange/TPG/2008 |
Group Name | Customer |
Container | TPG_CustomerMaster.xsd |
XML Examples
CustMsgAddXML
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Header>
<wsse:Security
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:UsernameToken
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:Username>{Insert}</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">{Insert}</wsse:Password>
<wsu:Created
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">2018-05-15T11:52:51Z
</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<CustMsgAdd
xmlns="http://jackhenry.com/jxchange/TPG/2008">
<MsgRqHdr>
<jXchangeHdr>
<JxVer/>
<AuditUsrId></AuditUsrId>
<AuditWsId></AuditWsId>
<AuthenUsrId/>
<ConsumerName/>
<ConsumerProd/>
<Ver_1/>
<jXLogTrackingId>{Insert}</jXLogTrackingId>
<Ver_2/>
<InstRtId JHANull="" Rstr="">{Insert}</InstRtId>
<InstEnv>{Insert}</InstEnv>
<Ver_3/>
<BusCorrelId/>
<Ver_4/>
<WorkflowCorrelId/>
<Ver_5/>
<ValidConsmName>{Insert}</ValidConsmName>
<ValidConsmProd>{Insert}</ValidConsmProd>
<Ver_6/>
</jXchangeHdr>
<Ver_1/>
<Ver_2/>
<Ver_3/>
</MsgRqHdr>
<ErrOvrRdInfoArray>
<ErrOvrRd>
<ErrCode/>
<Ver_1/>
</ErrOvrRd>
<ErrOvrRd>
<ErrCode/>
<Ver_1/>
</ErrOvrRd>
</ErrOvrRdInfoArray>
<CustId JHANull="" Rstr="">NAA0316</CustId>
<AccountId Rstr="">
<AcctId JHANull="" Rstr="" SrchType=""/>
<AcctType JHANull="" Rstr=""/>
<Ver_1/>
</AccountId>
<MsgType Rstr="">Main</MsgType>
<CustMsgInfoRec>
<Msg JHANull="" Rstr="">How now brown cow</Msg>
<MsgExpDt JHANull="" Rstr="">2018-09-21</MsgExpDt>
<UserDefInfoArray>
<UserDefInfo>
<UserDefTxt JHANull="" Rstr=""/>
<UserDefCode JHANull="" Rstr=""/>
<UserDefDesc JHANull="" Rstr=""/>
<UserDefDt JHANull="" Rstr="">2017-09-21</UserDefDt>
<UserDefInfo1 JHANull="" Rstr=""/>
<UserDefInfo2 JHANull="" Rstr=""/>
<UserDefInfo3 JHANull="" Rstr=""/>
<Ver_1/>
</UserDefInfo>
<UserDefInfo>
<UserDefTxt JHANull="" Rstr=""/>
<UserDefCode JHANull="" Rstr=""/>
<UserDefDesc JHANull="" Rstr=""/>
<UserDefDt JHANull="" Rstr="">2017-09-21</UserDefDt>
<UserDefInfo1 JHANull="" Rstr=""/>
<UserDefInfo2 JHANull="" Rstr=""/>
<UserDefInfo3 JHANull="" Rstr=""/>
<Ver_1/>
</UserDefInfo>
</UserDefInfoArray>
<MsgImpor JHANull="" Rstr=""/>
<OffInfoArray>
<OffInfoRec>
<OffCodeText JHANull="" Rstr=""/>
<OffCode JHANull="" Rstr="">AMR</OffCode>
<OffDesc JHANull="" Rstr=""/>
<Ver_1/>
<OffRmk JHANull="" Rstr=""/>
<Ver_2/>
</OffInfoRec>
<OffInfoRec>
<OffCodeText JHANull="" Rstr=""/>
<OffCode JHANull="" Rstr=""/>
<OffDesc JHANull="" Rstr=""/>
<Ver_1/>
<OffRmk JHANull="" Rstr=""/>
<Ver_2/>
</OffInfoRec>
</OffInfoArray>
<Custom/>
<Ver_1/>
<MsgNxtRevDt JHANull="" Rstr="">2017-09-21</MsgNxtRevDt>
<MsgPrtNotCode JHANull="" Rstr=""/>
<Ver_2/>
</CustMsgInfoRec>
<Custom/>
<SvcPrvdInfo/>
<Ver_1/>
<MsgSeq/>
<Ver_2/>
</CustMsgAdd>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
FAQ
CustMsgAddFAQ
CustMsgAdd Questions
Q: When adding a customer message either for account or contact, I am populating the OffInfoArray, but when I call Message Search those values are not populated. Are these fields valid for use? And if so, what am I doing incorrectly?
<MsgType />
<CustMsgInfoRec>
<Msg>test note</Msg>
<MsgExpDt>2019-03-21</MsgExpDt>
<MsgImpor xsi:nil=\"true\" />
<OffInfoArray>
<OffInfoRec>
<OffCodeText xsi:nil=\"true\" />
<OffCode xsi:nil=\"true\" />
<OffDesc>MM</OffDesc>
<Ver_1 />
<Ver_2 />
</OffInfoRec>
</OffInfoArray>
<Ver_1 />
<MsgNxtRevDt xsi:nil=\"true\" />
<MsgPrtNotCode xsi:nil=\"true\" />
<Ver_2 />
</CustMsgInfoRec>
A: Based on the request you provided it looks like everything is correct except for how you’re passing in the officer and the MsgType is blank. If you take a look at the CustMsgAdd mapping tab on the Enterprise Integration Portal you will see that the officer code needs to go in CustMsgInfoRec.OffInfoArray.OffInfoRec.OffCode. Also, MM is not a valid officer code. To obtain a list of all the valid officer codes configured on a given core, you will need to call the ParmValSrch service with ParmName = OffCode. Alert messages correspond to the CFALRT file, which DOES have an Officer Code field, so adding an officer on an alert message will populate OffCode in the CustMsgSrch response. Depending on what other type of message is being added, there may not be an Officer Code field available in the core file. For example, if the user is trying to add a customer message, this corresponds to the CFMESG file which DOES NOT have an Officer Code field. We are not sure what message type it defaults to when MsgType is left blank, but apparently whatever that type is it does not support Officer Code. To get back an Officer Code you will need to explicitly set MsgType to a type that supports Officer Code, such as ~Alert~.
Q: We understand that AcctStat can set a status on the accounts such as: Active, closed, dormant, restricted. This does not match what we have seen from other cores where we are able to set more granular flags for specific scenarios. Is there a systemic mechanism in the Jack Henry core to advise users of these many scenarios, and more?
A: CustMsgAdd could be used to add an Alert to either a customer record or an account record. An Alert would prompt the user to acknowledge a free-form message before being able to inquire on the customer/account record.
AcctStat could be used to prevent certain transactions from posting to an account as well as populate banner messages.
The following flags when set accordingly will populate a banner message in
core: Deceased Customer – set <Deceased>
to Y
Account is Charged Off – set <AcctStat>
to 8
No Deposits Allowed – set <AcctStat>
to 9
Preferred Customer – set <CustImporCode>
to Y
Q: SilverLake and CIF 20/20 When adding a long message, the end of the message disappears. Is there a way to get over the limit of max characters for that operation by expanding the schema or is the only solution to send the CustMsgAdd operation multiple times?
A: CustMsgAdd only supports a single message with a maximum size of 60 characters, there isn’t any way to go over that without sending multiple calls at this time.
Q: Core Director What values does Core Director support for MsgType?
A: Core Director currently supports the following values for MsgType:
- Alert
- NonClsf
- All