Developer Resources
Details
SoapAction | http://jackhenry.com/ws/CardAlrtSubAdd |
Input Name | CardAlrtSubAdd |
Output Name | CardAlrtSubAddResponse |
Input Namespace | http://jackhenry.com/jxchange/TPG/2008 |
Group Name | Customer |
Container | TPG_CustomerMaster.xsd |
XML Examples
CardAlrtSubAdd-XML-Request
<?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">2020-08-27T12:40:30Z</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<CardAlrtSubAdd 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="">012343210</InstRtId>
<InstEnv>TEST</InstEnv>
<Ver_3/>
<BusCorrelId/>
<Ver_4/>
<WorkflowCorrelId/>
<Ver_5/>
<ValidConsmName>{Insert}</ValidConsmName>
<ValidConsmProd>{Insert}</ValidConsmProd>
<Ver_6/>
</jXchangeHdr>
</MsgRqHdr>
<ErrOvrRdInfoArray>
<ErrOvrRd>
<ErrCode></ErrCode>
<Ver_1/>
</ErrOvrRd>
</ErrOvrRdInfoArray>
<CustId>{Insert}</CustId>
<EFTCardArray>
<EFTCardRec>
<EFTCardNum>{CardNumber or Token}</EFTCardNum>
<Ver_1/>
</EFTCardRec>
</EFTCardArray>
<ComName>{optional}</ComName>
<EmailAddr>{optional}</EmailAddr>
<PhoneNum>{optional}</PhoneNum>
<Custom/>
<Ver_1/>
</CardAlrtSubAdd>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
CardAlrtSubAdd-XML-Response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<s:Header>
<o:Security s:mustUnderstand="1"
xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<u:Timestamp u:Id="_0">
<u:Created>2021-01-15T15:55:22.312Z</u:Created>
<u:Expires>2021-01-15T16:00:22.312Z</u:Expires>
</u:Timestamp>
</o:Security>
</s:Header>
<s:Body>
<CardAlrtSubAddResponse xmlns="http://jackhenry.com/jxchange/TPG/2008">
<MsgRsHdr>
<jXchangeHdr>
<JxVer>R2017.4</JxVer>
<AuditUsrId></AuditUsrId>
<AuditWsId></AuditWsId>
<AuthenUsrId></AuthenUsrId>
<ConsumerName></ConsumerName>
<ConsumerProd></ConsumerProd>
<Ver_1></Ver_1>
<jXLogTrackingId>122222222</jXLogTrackingId>
<Ver_2></Ver_2>
<InstRtId>012343210</InstRtId>
<InstEnv>TEST</InstEnv>
<Ver_3></Ver_3>
<BusCorrelId>9bed587b-298c-40aa-8b73-e602fd870515</BusCorrelId>
<Ver_4></Ver_4>
<WorkflowCorrelId></WorkflowCorrelId>
<Ver_5></Ver_5>
<ValidConsmName>{Removed}</ValidConsmName>
<ValidConsmProd>{Removed}</ValidConsmProd>
</jXchangeHdr>
<MsgRecInfoArray>
<MsgRec>
<ErrCode>2596</ErrCode>
<ErrCat>Warning</ErrCat>
<ErrDesc>The subscription was created but the process was unable to establish the alert destination. Please use the modification service to add the destinations.</ErrDesc>
<ErrLoc>PSCU Translation Service</ErrLoc>
</MsgRec>
</MsgRecInfoArray>
</MsgRsHdr>
<RsStat>Success</RsStat>
<Custom xsi:nil="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
</Custom>
</CardAlrtSubAddResponse>
</s:Body>
</s:Envelope>
FAQ
CardAlrtSubAddFAQ
Q: When registering cards for alerts through the CardAlrtSubAdd API call, is there an option to send encrypted card numbers? Or do we always just send the full card number in plain text?
A: JHA is storing the card numbers as a token. The Credit Cards and token values are accessed using the AcctSrch operation. The tokens can be used with the Credit Card operations. JHA will not return any credit card values in plain text, so if you provide a card number in plain text, it will still work but the response will have the token replacement value.
Q: When registering cards for alerts through the CardAlrtSubAdd call, is there a way to add new cards without having to register all cards at once? Or each time when we call CardAlrtSubAdd do we have to pass the full list of cards, some that have already been registered and some that aren't?
A: No, there isn't a way to add a card by itself to an
established list. If you want to add new cards to the same CustId you
must include the full list of cards. For
example, you have cards A,B, and C on the list, and want to add D. The
request would need to have A,B,C, and D in the
<EFTCardArray>
. Please note that if
C was left off and you had to perform the
CardAlrtSubAdd again with A,B,C, and D, C will
have a new ActIntentKey.
Q: Is there a way to update the phone number (and email address) for a card subscription?
A: For credit cards both CardAlrtSubAdd and
CardAlrtSubMod supports phone and email updates, but please note that
those values are not synced to the email addresses or phone numbers stored
in JHA applications like CPS/Core, so updates to one do not automatically
update the other. Also, don't forget that a credit card number or token is
required so you need the full list of cards in the array when using the
CardAlrtSubAdd
.
Q: How can we setup the card to have more than one set of alerts?
A: Notice the <CustId>
Value. While
using the <CustId>
value from the associated core, it
is not enforced since there isn’t a way to govern it. The
<CustId>
element is an identifier PSCU uses to create
an entity that can have one or more cards associated with it. This is
important distinction. To create another subscription you can create a
GUID or some generated Id as a <CustId>
with the same
card number. This scenario can allow for a single card to have more than
one set of alerts depending on the value of the
<CustId>
used when creating the alerts. An example
would be for a separate subscription for you children's cards.
Q: How can we setup the card to have more than one set of controls?
A: If you have a card with several
<CustId>
subscriptions for that card, the controls are
shared for the subscriptions. Thus, if the card is turned off on on
subscription it is turned off for all subscriptions on that card.
Q: What happens if the request has three cards and one of them is incorrect?
A: You will receive an error if a card is invalid and won't let you know which one it is.
<FaultMsgRec>
<ErrCode>1</ErrCode>
<ErrCat>Error</ErrCat>
<ErrDesc>java.lang.Exception: Card number not valid for this institution.</ErrDesc>
<ErrElem></ErrElem>
<ErrElemVal></ErrElemVal>
<ErrLoc></ErrLoc>
</FaultMsgRec>
Q: What is the format for a phone number?
A: It needs to be a straight 10 digit number, no dashes or dots e.g. 555555555.
Q: When I activate a new card number and customer, what is the state of the card?
A: If you perform a CardAlrtSubInq you will find C01 is InAct which means the card is on, and A029 is Act so no alerts are sent to the phone.
Q: Are the EmailAddr or PhoneNum values required to perform a card alert subscription?
A: The email and phone number are not required for a successful CardAlrtSubAdd request. Those values are considered optional and used primarily to update the provider of notifications for our internal MCR products. Since it is expected that third-parties that opt to use MCR perform their own notifications to the end users, the values are not required.