Skip to main content

Query User Profile

POST/dana/member/query/queryUserProfile.htm

This API is used to query user profile such as DANA balance (unit in IDR), masked DANA phone number, KYC, One Time Token (OTT).
It is used also to get mini DANA (transaction history, voucher list), and top up URL for the specific user.

API Type
DANA Open API
Expected Timeout
8 second
SNAP Service Code
-
Accept
application/json
Content Type
application/json

version
string
1 - 8 charactersRequired
API version. As per the respective API reference
function
string
1 - 128 charactersRequired
According to specifications defined by each business domain.
Value: dana.member.query.queryUserProfile
clientId
string
1 - 36 charactersRequired
Client identifier which provided by DANA and used to identify partner and application system
clientSecret
string
1 - 64 charactersRequired
As a secret key of client. Assigned client secret during registration
reqTime
string
25 charactersRequired
Request time, in format YYYY-MM-DDTHH:MM:SS+07:00.
Time must be in GMT+7 (Jakarta time)
reqMsgId
string
1 - 64 charactersRequired
Identify an unique system request. Each request will be assigned with a unique identifier (UUID)
accessToken
string
1 - 512 charactersRequired
Contains customer token, which has been obtained from binding process
reserve
string
1 - 256 characters
Reserved for future implementation (Key/Value)

userResources
array of string
Required
The resource type list that the merchant wants to get from DANA. Refer to UserResourceEnum for the detail of value.
Notes: If merchant want to fetch USER_KYC resource, make sure when doing binding to include MINI_DANA in scopes parameter and UserResourceEnum depends on the merchant's resource scope during the onboarding process. If the resource doesn't exist, the ResultCode will return RESOURCE_NOT_DEFINED
BALANCE
string
Query balance of user in DANA
TOPUP_URL
string
Obtain the top up URL for merchant to redirect
TRANSACTION_URL
string
Obtain the transaction URL for merchant to redirect
OTT
string
Obtain the OTT of URLs including TOPUP/TRANSACTION/CASHIER/CHECKOUT_URL
MASK_DANA_ID
string
The masked identifier from DANA side
USER_KYC
string
KYC level.
  • 00 = KYC level 0
  • 02 = KYC level 2
LOGIN_ID
string
Login identifier of the user, currently it's only set to phone number
CLEAR_TEXT_DANA_ID
string
The unmasked identifier from DANA side
NICKNAME
string
Nickname of the user in DANA
FULLNAME
string
Full name of the user in DANA
KTP_NUMBER
string
KTP number of the user in DANA
KTP_PHOTO_DATA
string
KTP photo binary data in base64 of the user in DANA
SELFIE_PHOTO_DATA
string
Selfie photo binary data in base64 of the user in DANA
AVATAR_URL
string
Location of avatar photo of the user in DANA
MASKED_FULLNAME
string
Masked full name of the user in DANA
{
"request": {
"head": {
"version": "2.0",
"function": "dana.member.query.queryUserProfile",
"clientId": "2014000014442",
"clientSecret": "2014000014442",
"reqTime": "2001-07-04T12:08:56+07:00",
"reqMsgId": "1234567asdfasdf1123fda",
"accessToken": "xxxxx",
"reserve": "{}"
},
"body": {
"userResources": ["BALANCE", "TOPUP_URL", "OTT"]
}
},
"signature": "signature string"
}

version
string
1 - 8 charactersRequired
API version. As per the respective API reference
function
string
1 - 128 charactersRequired
According to specifications defined by each business domain.
Value: dana.member.query.queryUserProfile
clientId
string
1 - 36 charactersRequired
Client identifier which provided by DANA and used to identify partner and application system
clientSecret
string
1 - 64 charactersRequired
As a secret key of client. Assigned client secret during registration
respTime
string
25 charactersRequired
Response time, in format YYYY-MM-DDTHH:mm:ss+07:00.
Time must be in GMT+7 (Jakarta time)
reqMsgId
string
1 - 64 charactersRequired
Identify an unique system request. Each request will be assigned with a unique identifier (UUID)
accessToken
string
1 - 512 charactersRequired
Contains customer token, which has been obtained from binding process
reserve
string
1 - 256 characters
Reserved for future implementation (Key/Value)

resultInfo
json object
Required
Define the detail of result information
resultStatus
string
1 charactersRequired
Result status, refer to result code list ResultStatus
The status of the request can be:
  • S: Success
  • F: Failure
  • U: Unknown
Can be added if these 3 statuses are insufficient for business requirements
resultCodeId
string
1 - 16 charactersRequired
Result code identifier, refer to result code list ResultCodeId
resultCode
string
1 - 64 charactersRequired
Result code string, refer to ResultCode
resultMsg
string
1 - 256 characters
Result message, refer to result code list ResultMsg
userResourceInfos
array of json object
Conditional
The user's information from querying resource value
Conditional Info
Y:= Successfully processed
resourceType
string
Required
The type of returned resource, refer to UserResourceEnum
Notes: UserResourceEnum depends on the merchant's resource scope during the onboarding process. If the resource doesn't exist, the ResultCode will return RESOURCE_NOT_DEFINED
BALANCE
string
Query balance of user in DANA. Contains two sub-fields:
  • amount: Value of amount. Need to provide the amount in the smallest common currency unit. For most, this is the amount in cents (or pence, or similarly named unit). For example: To create a charge for $1.00, set amount=100 (100 cents)
  • currency: Currency
TOPUP_URL
string
Obtain the top up URL for merchant to redirect
TRANSACTION_URL
string
Obtain the transaction URL for merchant to redirect
OTT
string
Obtain the OTT of URLs including TOPUP/TRANSACTION/CASHIER/CHECKOUT_URL
MASK_DANA_ID
string
The masked identifier from DANA side
USER_KYC
string
KYC level.
  • 00 = KYC level 0
  • 02 = KYC level 2
LOGIN_ID
string
Login identifier of the user, currently it's only set to phone number
CLEAR_TEXT_DANA_ID
string
The unmasked identifier from DANA side
NICKNAME
string
Nickname of the user in DANA
FULLNAME
string
Full name of the user in DANA
KTP_NUMBER
string
KTP number of the user in DANA
KTP_PHOTO_DATA
string
KTP photo binary data in base64 of the user in DANA
SELFIE_PHOTO_DATA
string
Selfie photo binary data in base64 of the user in DANA
AVATAR_URL
string
Location of avatar photo of the user in DANA
MASKED_FULLNAME
string
Masked full name of the user in DANA
value
string
Conditional
Value on resource type
Conditional Info
Y:= Value is exist
{
"response":{
"head":{
"version":"2.0",
"function":"dana.merchant.queryMerchantResource",
"clientId":"201xxxx",
"clientSecret":"201xxx",
"reqTime":"2019-09-18T10:21:53+07:00",
"reqMsgId":"1234567asdfasdf1123fda",
"reserve":"{}"
},
"body":{
"resultInfo":{
"resultStatus":"S",
"resultCodeId":"00000000",
"resultCode":"SUCCESS",
"resultMsg":"success"
},
"userResourceInfos":[
{"resourceType": "BALANCE",
"value": "{\"amount\":\"123\",\"currency\":\"IDR\"}"},
{"resourceType": "TOPUP_URL",
"value": "http://m.dana.xxx"},
{"resourceType": "OTT",
"value": "safsaerqwr"}
]
}
},
"signature":"signature string"
}

ResultStatusResultCodeIdResultCodeResultMessagePartner Action
S 00000000SUCCESSSuccess
Mark Query User Profile process as Success
F 12002005USER_NOT_EXISTUser does not exist
Mark Query User Profile process as Failed. Retry request with proper parameter or can contact to DANA to check the user/account status
F 12002006USER_STATUS_ABNORMALUser status is not normal
Mark Query User Profile process as Failed. Retry request with proper parameter or can contact to DANA to check the user/account status
F 12014201TOKEN_FORBIDDEN_ACCESS_RESOURCESThis accessToken can’t access all apply resources
Mark Query User Profile process as Failed. Retry request with proper parameter
F 12014202RESOURCE_NOT_DEFINEResource not define
Mark Query User Profile process as Failed. Retry request with proper parameter
F 12014203MERCHANT_NOT_EXISTMerchant not exist
Mark Query User Profile process as Failed. Retry request with proper parameter or can contact to DANA to check merchant configuration
ask AIAI Assistant
Need help with our documentation?
Start from our frequently asked questions or feel free to ask anything else.

AI generated responses may contain mistakes.