Wallet

APIs

Check if configuration has been updated since last check

Supply end user’s last configuration check time to determine if configuration update is needed.

Precondition

Client logged in the service. Refer the section for registration/authentication.

Request

HTTP Method / URL
POST / http://api-dev.fintiv.co:8080/wallet/{version}/checkConfigUpdate

Body parameters

Parameters Type Required Note
categoryDate String Optional Last date and time that the client updated category data. If no value is set, categoryUpdateYn returns Y.
Format is yyyy-MM-dd’T’HH:mm:ss.SZ
e.g. “2019-02-08T14:23:35.443-0500”
yyyy: Year, e.g. 1996
MM: Month in year, e.g. 07
dd: day in month, e.g. 10
HH:hour in day(0-23), e.g.0
mm:Minute in hour, e.g. 30
ss: Second in minute, e.g. 50
S: Millisecond in the minute, e.g. 443
Z: Timezone offset in hours(RFC 822 pattern), e.g. -0800
faqDate String Optional Last date and time that the client updated category data. If no value is set, tncUpdateYn returns Y.
Format is yyyy-MM-dd’T’HH:mm:ss.SZ
e.g. “2019-02-08T14:23:35.443-0500”
yyyy: Year, e.g. 1996
MM: Month in year, e.g. 07
dd: day in month, e.g. 10
HH:hour in day(0-23), e.g.0
mm:Minute in hour, e.g. 30
ss: Second in minute, e.g. 50
S: Millisecond in the minute, e.g. 443
Z: Timezone offset in hours(RFC 822 pattern), e.g. -0800
appVersion String Optional Wallet client version
buildNumber String Optional OS build number of mobile device

Example request

curl -X POST " http://api-dev.fintiv.co:8080/wallet/v2/checkConfigUpdate"
-H "accept: application/json;charset=UTF-8"
-H "api-key: <insert your APP Key here>"
-H "authorization: Bearer <insert your bearer token here>"
-H "Content-Type: application/json"
-d ‘{"appVersion":"1.0","buildNumber":"9.0.2","categoryDate":"2019-03-20T17:21:19.181-0000","faqDate":"2019-03-20T17:21:19.181-0000"}’

Response

Returns result of the check.
Example response

{
  "result": {
    "code": 0
  },
  "tncUpdateYn": "N",
  "categoryUpdateYn": "N",
  "faqUpdateYn": "N",
  "tncUpdatedServices": []
}
{
  "result": {
    "code": 0
  },
  "tncUpdateYn": "Y",
  "categoryUpdateYn": "N",
  "faqUpdateYn": "Y",
  "tncUpdatedServices": [],
  "TnC": "Default TnC.\nThese Terms of Use constitute a legally binding agreement made between you, whether personally or on behalf of an entity (“you”) and Termly LLC (“we,” “us” or “our”)."
}

Get FAQ category

Retrieve FAQs category of your tenant service.

Precondition

Client logged in the service. Refer the section for registration/authentication.

Request

HTTP Method / URL
POST / http://api-dev.fintiv.co:8080/wallet/{version}/getFaqCategoryList

Body parameters
None

Example request

curl -X POST "http://api-dev.fintiv.co:8080/wallet/v2/getFaqCategoryList"
-H "accept: application/json;charset=UTF-8"
-H "api-key: <insert your APP Key here>"
-H "authorization: Bearer <insert your bearer token here>"
-H "Content-Type: application/json"
-d "{}"

Response

Returns list of FAQ category.

Body parameters

Parameters Type Required Note
updDtim Date Required Last update date time. Using this, client determine data refresh if it caches FAQ in its local storage.
Format is yyyy-MM-dd’T’HH:mm:ss.SZ
e.g. “2019-02-08T14:23:35.443-0500”
yyyy: Year, e.g. 1996
MM: Month in year, e.g. 07
dd: day in month, e.g. 10
HH:hour in day(0-23), e.g.0
mm:Minute in hour, e.g. 30
ss: Second in minute, e.g. 50
S: Millisecond in the minute, e.g. 443
Z: Timezone offset in hours(RFC 822 pattern), e.g. -0800
faqCategoryList List<FaqCategory> Optional List of FAQ category. See below for child attributes
Parameters Type Required Note
faqCategoryId String Required Unique identifier of a FAQ category. e.g. BEA1D7D7-FD9A-4BB2-B95E-B0C1376F5720
faqCategoryName String Required Name of FAQ category. e.g. Application

Example response

{
  "result": {
    "code": 0
  },
  "updDtim": "2018-11-13T19:06:14.000+0000",
  "faqCategoryList": [
    {
      "faqCategoryId": "BEA1D7D7-FD9A-4BB2-B95E-B0C1376F5720",
      "faqCategoryName": "Application"
    },
    {
      "faqCategoryId": "13B01087-BD04-40AE-BD30-CDF9283FBA84",
      "faqCategoryName": "Coupons"
    },
    {
      "faqCategoryId": "62147270-1185-4A1C-A863-83E2BEE8E6E7",
      "faqCategoryName": "Digital Gift Card"
    }
  ]
}

Get FAQ

Retrieve full contents of FAQ

Precondition

Client logged in the service. Refer the section for registration/authentication.

Request

HTTP Method / URL
POST / http://api-dev.fintiv.co:8080/wallet/{version}/getFaqList

Body parameters

Parameters Type Required Note
categoryId String Required Unique identifier of a FAQ category. e.g. BEA1D7D7-FD9A-4BB2-B95E-B0C1376F5720

Example request

curl -X POST " http://api-dev.fintiv.co:8080/wallet/v2/getFaqList"
-H "accept: application/json;charset=UTF-8"
-H "api-key: &lt;insert your APP Key here&gt;"
-H "authorization: Bearer &lt;insert your bearer token here&gt;"
-H "Content-Type: application/json"
-d ‘{"categoryId":"BEA1D7D7-FD9A-4BB2-B95E-B0C1376F5720"}’

Response

Returns contents of a FAQ category.

Body parameters

Parameters Type Required Note
faqList List<Faq> Optional List of FAQ Contents. See below for child attributes
Parameters Type Required Note
faqId String Required Unique identifier of a FAQ category. e.g. BEA1D7D7-FD9A-4BB2-B95E-B0C1376F5720
categoryId String Required Name of FAQ category. e.g. Application
question String Required Question
answer String Required Answer

Example response

{
  "result": {
    "code": 0
  },
  "faqList": [
    {
      "faqId": "F558AEC8-1352-4489-87A3-9E76604608F6",
      "categoryId": "BEA1D7D7-FD9A-4BB2-B95E-B0C1376F5720",
      "question": "What type of phones are supported?",
      "answer": "The App can be used on both the iPhone® and Android phones."
    },
    {
      "faqId": "857DA88B-748D-4DBA-A06F-73AA895268DC",
      "categoryId": "BEA1D7D7-FD9A-4BB2-B95E-B0C1376F5720",
      "question": "What if I forget my PIN?",
      "answer": "From the login screen, tap “Forgot PIN” you will be prompted for your Password and Security Question."
    },
    {
      "faqId": "0999371A-367F-4A03-B394-ABA2460CC84F",
      "categoryId": "BEA1D7D7-FD9A-4BB2-B95E-B0C1376F5720",
      "question": "How can I locate a store?",
      "answer": "Tap “Store Locator” from the App Menu Screen and enter a city/state or ZIP code to locate a store anywhere in the United States. Use the “Filter” icon to sort locations according to features."
    }
  ]
}

Get end user’s configuration

Retrieve end user’s inbox messaging opt in status

Precondition

Client logged in the service. Refer the section for registration/authentication.

Request

HTTP Method / URL
POST / http://api-dev.fintiv.co:8080/wallet/{version}/getUserConfig

Body parameters
None

Example request

curl -X POST "http://api-dev.fintiv.co:8080/wallet/v2/getUserConfig"
-H "accept: application/json;charset=UTF-8"
-H "api-key: &lt;insert your APP Key here&gt;"
-H "authorization: Bearer &lt;insert your bearer token here&gt;"
-H "Content-Type: application/json"
-d "{}"

Response

Returns result of the request.

Body parameters

Parameters Type Required Note
inboxOptOutYn String Required Indicate if end user opted in inbox message service. Possible values are
- Y: End user opted in inbox message service.
- N: End user didn’t opt in inbox message service.

Example response

{
  "result": {
    "code": 0
  },
  "inboxOptOutYn": "N"
}

Get T&C of wallet service

Retrieve Terms and Conditions of your wallet service.

Precondition

Client logged in the service. Refer the section for registration/authentication.

Request

HTTP Method / URL
POST / http://api-dev.fintiv.co:8080/wallet/{version}/getWalletTnc

Body parameters

Parameters Type Required Note
walletId String Required Your tenant name. e.g. JANUS

Example request

curl -X POST " http://api-dev.fintiv.co:8080/wallet/v2/getWalletTnc"
-H "accept: application/json;charset=UTF-8"
-H "api-key: &lt;insert your APP Key here&gt;"
-H "authorization: Bearer &lt;insert your bearer token here&gt;"
-H "Content-Type: application/json"
-d ‘{"walletId":"JANUS"}’

Response

Returns Terms and Contents.
Example response

{
  "result": {
    "code": 0
  },
  "tnc": "Default TnC.\nThese Terms of Use constitute a legally binding agreement made between you, whether personally or on behalf of an entity (“you”) and Termly LLC (“we,” “us” or “our”).",
  "serviceTerms": []
}

Register end user’s push type and push ID

Supply end user’s push type and push ID to be used for future communication using push message.

Precondition

Client logged in the service. Refer the section for registration/authentication.

Request

HTTP Method / URL
POST / http://api-dev.fintiv.co:8080/wallet/{version}/registerPushInfo

Body parameters

Parameters Type Required Note
pushType String Required Type of push that mobile device supports. Possible values are
- APNS : Apple APNS push service
- BPPG: Blackberry push service
- C2DM: Android C2DM push service
- MDP: MDP
- SOCKET: Android SOCKET push service
- GCM: Android GCM push service
- FCM : Android Firebase Cloud Messaging, to be updated.
pushId String Required End user’s unique push identifier provided from the push service.

Example request

curl -X POST " http://api-dev.fintiv.co:8080/wallet/v2/registerPushInfo"
-H "accept: application/json;charset=UTF-8"
-H "api-key: &lt;insert your APP Key here&gt;"
-H "authorization: Bearer &lt;insert your bearer token here&gt;"
-H "Content-Type: application/json"
-d ‘{"pushId":"76b39c2b2ceaadee8400b8868c2f45325ab9831c1998ed70859d86","pushType":"APNS"}’

Response

Returns result of the request.
Example response

{
  "result": {
    "code": 0
  }
}

End user agrees with T&C

Store end user’s agreement with Terms and Conditions.

Precondition

Client logged in the service. Refer the section for registration/authentication.

Request

HTTP Method / URL
POST / http://api-dev.fintiv.co:8080/wallet/{version}/renewWalletConsent

Body parameters

Parameters Type Required Note
consentYn String Required End user’s T&C agreement.

Example request

curl -X POST " http://api-dev.fintiv.co:8080/wallet/v2/renewWalletConsent"
-H "accept: application/json;charset=UTF-8"
-H "api-key: &lt;insert your APP Key here&gt;"
-H "authorization: Bearer &lt;insert your bearer token here&gt;"
-H "Content-Type: application/json"
-d ‘{"consentYn":"Y"}’

Response

Returns result of the request.
Example response

{
  "result": {
    "code": 0
  }
}

Backup client data

If your application has any customized data to be stored and managed in the server, provide them using this API.

Precondition

Client logged in the service. Refer the section for registration/authentication.

Request

HTTP Method / URL
POST / http://api-dev.fintiv.co:8080/wallet/{version}/backupClient

Body parameters

Parameters Type Required Note
data String Optional Plain string data(i.e. JSON string) to store in the server. e.g. {“contactlessStatus”:false,"isOptIn ":false,"mayAskActivate ":true,“mayAskIF”:false}
elementList List<Element> Optional Key/value backup data
Parameters Type Required Note
elementName String Required Key of element
elementValue String Required Value of element

Example request

curl -X POST " http://api-dev.fintiv.co:8080/wallet/v2/backupClient"
-H "accept: application/json;charset=UTF-8"
-H "api-key: &lt;insert your APP Key here&gt;"
-H "authorization: Bearer &lt;insert your bearer token here&gt;"
-H "Content-Type: application/json"
-d ‘{"data":"{contactlessStatus:false,isOptIn:false,mayAskActivate:true,mayAskIF:false}", "elementList":[{"elementName":"FAVORITE_CATEGORY","elementValue":"100,200,300"}]}’

Response

Returns result of the request.
Example response

{
  "result": {
    "code": 0
  }
}

Retrieve customized data

Retrieve your customized end user data stored in the server

Precondition

Client logged in the service. Refer the section for registration/authentication.

Request

HTTP Method / URL
POST / http://api-dev.fintiv.co:8080/wallet/{version}/restoreClient

Body parameters
None.

Example request

curl -X POST " http://api-dev.fintiv.co:8080/wallet/v2/restoreClient"
-H "accept: application/json;charset=UTF-8"
-H "api-key: &lt;insert your APP Key here&gt;"
-H "authorization: Bearer &lt;insert your bearer token here&gt;"
-H "Content-Type: application/json"
-d "{}"

Response

Returns result of the request.

Body parameters

Parameters Type Required Note
elementList List<Element> Optional Key/value data backup
Parameters Type Required Note
elementName String Required Key of element
elementValue String Required Value of element

Example response

{
  "result": {
    "code": 0
  },
  "data": "{contactlessStatus:false,isOptIn:false,mayAskActivate:true,mayAskIF:false}",
  "elementList": [
    {
      "elementName": "FAVORITE_CATEGORY",
      "valueSeq": 1,
      "elementValue": "100,200,300"
    },
    {
      "elementName": "2354FE7A-7F27-45BA-A46D-52E6CC06B00B",
      "valueSeq": 1,
      "elementValue": "Mexican"
    },
    {
      "elementName": "FAVORITE_MERCHANT",
      "valueSeq": 1,
      "elementValue": "80277822-10DA-4829-8708-7636DED7944C"
    }
  ]
}

Retrieve end user’s information

Retrieve end user’s information including end user’s personal information and preference information to be used for marketing purpose.

Precondition

Client logged in the service. Refer the section for registration/authentication.

Request

HTTP Method / URL
POST / http://api-dev.fintiv.co:8080/wallet/{version}/getWalletUser

Body parameters
None.

Example request

curl -X POST " http://api-dev.fintiv.co:8080/wallet/v2/getWalletUser"
-H "accept: application/json;charset=UTF-8"
-H "api-key: &lt;insert your APP Key here&gt;"
-H "authorization: Bearer &lt;insert your bearer token here&gt;"
-H "Content-Type: application/json"
-d "{}"

Response

Returns detail of end user information.

Body parameters

Parameters Type Required Note
email String Required End user’s email
firstName String Required End user’s first name
lastName String Required End user’s last name
gender String Optional End user’s gender. Possible values are MALE and FEMALE.
age String Optional End user’s age
inboxOptOutYn String Optional Deprecated. Check the configuration returned from getUserConfig(). Indicate if end user opted in inbox message service. Possible values are
- Y: End user opted in inbox message service.
- N: End user didn’t opt in inbox message service.
birthMonth String Optional End user’s birth month
birthday String Optional End user’s birthday
birthyear String Optional End user’s birth year
contactEmail String Optional End user’s contact email
phoneNumber String Optional End user’s phone number
loyaltyId String Optional End user’s your loyalty ID
userId String Optional End user’s unique identifier in Cloudpayments platform
alternativeId String Optional End user’s alternative ID
userPrefList List<TargetingAttribute Optional List of categories in user targeting attribute
customAttributeList List<CustomAttribute> Optional List of your customized attributes
Parameters Type Required Note
tgtAttrId String Required Unique identifier of user targeting attribute
tgtAttrName String Required Name of user targeting attribute. e.g. Sports.
tgtAttrValueList List<TargetingAttributeCode> Optional List of items in this user targeting attribute
Parameters Type Required Note
tgtAttrValue String Required End user targeting attribute item. e.g. Baseball, Golf, Tennis, etc.
selectedYn String Optional End user’s selection for the targeting attribute item. Possible values are
- Y: End user chose the item.
- N: End user doesn’t choose the item.
Parameters Type Required Note
name String Required Name of custom attributes.
value String Optional Value of the attribute.

Example response

{
  "result": {
    "code": 0
  },
  "walletUser": {
    "email": "johndoe@test.com",
    "firstName": "John",
    "lastName": "Doe",
    "inboxOptOutYn": "N",
    "contactEmail": "john.doe@test.com",
    "userId": "420186A78B1548E7A10D93E2AB072EFA",
    "userPrefList": [
      {
        "tgtAttrId": "7966E1C7-D905-464A-8484-6CE5ECBC40DE",
        "tgtAttrName": "Favorite visiting time",
        "tgtAttrValueList": [
          {
            "tgtAttrValue": "Afternoon",
            "selectedYn": "Y"
          },
          {
            "tgtAttrValue": "Evening",
            "selectedYn": "N"
          },
          {
            "tgtAttrValue": "Morning",
            "selectedYn": "N"
          }
        ]
      },
      {
        "tgtAttrId": "2354FE7A-7F27-45BA-A46D-52E6CC06B00B",
        "tgtAttrName": "Foods",
        "tgtAttrValueList": [
          {
            "tgtAttrValue": "American",
            "selectedYn": "Y"
          },
          {
            "tgtAttrValue": "French",
            "selectedYn": "N"
          },
          {
            "tgtAttrValue": "Mexican",
            "selectedYn": "N"
          }
        ]
      },
      {
        "tgtAttrId": "2D1C6311-34A5-4855-8DC3-FC156B81A4B0",
        "tgtAttrName": "Shopping habits",
        "tgtAttrValueList": [
          {
            "tgtAttrValue": "Monthly",
            "selectedYn": "N"
          },
          {
            "tgtAttrValue": "Shopaholic",
            "selectedYn": "N"
          },
          {
            "tgtAttrValue": "Weekly",
            "selectedYn": "N"
          }
        ]
      },
      {
        "tgtAttrId": "A33C881AC5D14287BD7C5C58E45AF669",
        "tgtAttrName": "Sports",
        "tgtAttrValueList": [
          {
            "tgtAttrValue": "Baseball",
            "selectedYn": "y"
          },
          {
            "tgtAttrValue": "Golf",
            "selectedYn": "N"
          },
          {
            "tgtAttrValue": "Tennis",
            "selectedYn": "N"
          }
        ]
      }
    ],
    "customAttributeList": [
      {
        "name": "FAVORITE_MERCHANT",
        "value": "80277822-10DA-4829-8708-7636DED7944C"
      }
    ]
  }
}

Update end user’s information

Update end user’s information including end user’s personal information and preference information to be used for marketing purpose.

Precondition

Client logged in the service. Refer the section for registration/authentication.

Request

HTTP Method / URL
POST / http://api-dev.fintiv.co:8080/wallet/{version}/updateWalletUser

Body parameters

Parameters Type Required Note
email String Required End user’s email
firstName String Required End user’s first name
lastName String Required End user’s last name
gender String Optional End user’s gender. Possible values are MALE and FEMALE.
age String Optional End user’s age
inboxOptOutYn String Required Indicate if end user opted in inbox message service. Possible values are
- Y: End user opted in inbox message service.
- N: End user didn’t opt in inbox message service.
birthMonth String Optional End user’s birth month
birthday String Optional End user’s birthday
birthyear String Optional End user’s birth year
contactEmail String Optional End user’s contact email
phoneNumber String Optional End user’s phone number
loyaltyId String Optional End user’s your loyalty ID
userId String Optional End user’s unique identifier in Cloudpayments platform
alternativeId String Optional End user’s alternative ID
userPrefList List<TargetingAttribute Optional List of categories in user targeting attribute
customAttributeList List<CustomAttribute> Optional List of your customized attributes
Parameters Type Required Note
tgtAttrId String Required Unique identifier of user targeting attribute
tgtAttrName String Required Name of user targeting attribute. e.g. Sports.
tgtAttrValueList List<TargetingAttributeCode> Optional List of items in this user targeting attribute
Parameters Type Required Note
tgtAttrValue String Required End user targeting attribute item. e.g. Baseball, Golf, Tennis, etc.
selectedYn String Optional End user’s selection for the targeting attribute item. Possible values are
- Y: End user chose the item.
- N: End user doesn’t choose the item.
Parameters Type Required Note
name String Required Name of custom attributes.
value String Optional Value of the attribute. Value varies.

Example request

curl -X POST " http://api-dev.fintiv.co:8080/wallet/v2/updateWalletUser"
-H "accept: application/json;charset=UTF-8"
-H "api-key: &lt;insert your APP Key here&gt;"
-H "authorization: Bearer &lt;insert your bearer token here&gt;"
-H "Content-Type: application/json" –
d ‘{
    "walletUser": {
        "email": "john.doe@example.com",
        "firstName": "John",
        "lastName": "Doe",
        "inboxOptOutYn": "N",
        "contactEmail": " john.doe@example.com ",
        "userId": "420186A78B1548E7A10D93E2AB072EFA",
        "userPrefList": [{
            "tgtAttrId": "7966E1C7-D905-464A-8484-6CE5ECBC40DE",
            "tgtAttrName": "Favorite visiting time",
            "tgtAttrValueList": [{
                "tgtAttrValue": "Afternoon",
                "selectedYn": "N"
            }, {
                "tgtAttrValue": "Evening",
                "selectedYn": "N"
            }, {
                "tgtAttrValue": "Morning",
                "selectedYn": "N"
            }]
        }, {
            "tgtAttrId": "2354FE7A-7F27-45BA-A46D-52E6CC06B00B",
            "tgtAttrName": "Foods",
            "tgtAttrValueList": [{
                "tgtAttrValue": "American",
                "selectedYn": "Y"
            }, {
                "tgtAttrValue": "Chinese",
                "selectedYn": "N"
            }, {
                "tgtAttrValue": "French",
                "selectedYn": "N"
            }, {
                "tgtAttrValue": "Italian",
                "selectedYn": "N"
            }, {
                "tgtAttrValue": "Korean",
                "selectedYn": "N"
            }, {
                "tgtAttrValue": "Mexican",
                "selectedYn": "Y"
            }]
        }, {
            "tgtAttrId": "2D1C6311-34A5-4855-8DC3-FC156B81A4B0",
            "tgtAttrName": "Shopping habits",
            "tgtAttrValueList": [{
                "tgtAttrValue": "Monthly",
                "selectedYn": "Y"
            }, {
                "tgtAttrValue": "Shopaholic",
                "selectedYn": "N"
            }, {
                "tgtAttrValue": "Weekly",
                "selectedYn": "N"
            }]
        }, {
            "tgtAttrId": "A33C881AC5D14287BD7C5C58E45AF669",
            "tgtAttrName": "Sports",
            "tgtAttrValueList": [{
                "tgtAttrValue": "Baseball",
                "selectedYn": "N"
            }, {
                "tgtAttrValue": "Golf",
                "selectedYn": "N"
            }, {
                "tgtAttrValue": "Tennis",
                "selectedYn": "N"
            }]
        }, {
            "tgtAttrId": "B1989FE05F11431AAA6339EFAD79AA2A",
            "tgtAttrName": "Weather2",
            "tgtAttrValueList": [{
                "tgtAttrValue": "Cloudy2",
                "selectedYn": "N"
            }, {
                "tgtAttrValue": "Rainy2",
                "selectedYn": "N"
            }, {
                "tgtAttrValue": "Sunny2",
                "selectedYn": "N"
            }]
        }],
        "customAttributeList": [{
            "name": "FAVORITE_MERCHANT",
            "value": "80277822-10DA-4829-8708-7636DED7944C"
        }]
    }
}’

Response

Returns result of the request.
Example response

{
  "result": {
    "code": 0
  }
}