Back to Collection Items
' This example assumes the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
Dim http As New Chilkat.Http
Dim success As Boolean
Dim queryParams As New Chilkat.JsonObject
queryParams.UpdateString("memberId","")
queryParams.UpdateString("membershipNumber","")
queryParams.UpdateString("programCurrencyName","")
' Adds the "Authorization: Bearer <access_token>" header.
http.AuthToken = "<access_token>"
Dim resp As Chilkat.HttpResponse = http.QuickRequestParams("GET","https://domain.com/services/data/v{{version}}/loyalty-programs/:loyaltyProgramName/members",queryParams)
If (http.LastMethodSuccess = False) Then
Debug.WriteLine(http.LastErrorText)
Exit Sub
End If
Dim sbResponseBody As New Chilkat.StringBuilder
resp.GetBodySb(sbResponseBody)
Dim jResp As New Chilkat.JsonObject
jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False
Debug.WriteLine("Response Body:")
Debug.WriteLine(jResp.Emit())
Dim respStatusCode As Integer = resp.StatusCode
Debug.WriteLine("Response Status Code = " & respStatusCode)
If (respStatusCode >= 400) Then
Debug.WriteLine("Response Header:")
Debug.WriteLine(resp.Header)
Debug.WriteLine("Failed.")
Exit Sub
End If
' Sample JSON response:
' (Sample code for parsing the JSON response is shown below)
' {
' "additionalLoyaltyProgramMemberFields": {},
' "associatedAccount": null,
' "associatedContact": {
' "contactId": "003J8000002Yu0ZIAS",
' "email": "ab@email.com",
' "firstName": "Name1",
' "lastName": "Name2"
' },
' "canReceivePartnerPromotions": true,
' "canReceivePromotions": true,
' "enrollmentChannel": "Email",
' "enrollmentDate": "2021-01-01",
' "groupCreatedByMember": null,
' "groupName": null,
' "lastActivityDate": null,
' "loyaltyProgramMemberId": "0lMJ8000000CaRMMA0",
' "loyaltyProgramName": "NTO Insider",
' "memberCurrencies": [
' {
' "additionalLoyaltyMemberCurrencyFields": {
' "Level_Before_Reset__c": null
' },
' "escrowPointsBalance": 0,
' "expirablePoints": 0,
' "lastAccrualProcessedDate": null,
' "lastEscrowProcessedDate": null,
' "lastExpirationProcessRunDate": null,
' "lastPointsAggregationDate": null,
' "lastPointsResetDate": null,
' "loyaltyMemberCurrencyName": "NTO Qualifying Points",
' "loyaltyProgramCurrencyId": "0lcJ8000000CaR7IAK",
' "loyaltyProgramCurrencyName": null,
' "memberCurrencyId": "0lzJ8000000CaRMIA0",
' "nextQualifyingPointsResetDate": "2024-12-31",
' "pointsBalance": 0,
' "qualifyingPointsBalanceBeforeReset": 0,
' "totalEscrowPointsAccrued": 0,
' "totalEscrowRolloverPoints": 0,
' "totalPointsAccrued": 0,
' "totalPointsExpired": 0,
' "totalPointsRedeemed": 0
' }
' ],
' "memberStatus": "Active",
' "memberTiers": [
' {
' "additionalLoyaltyMemberTierFields": {},
' "areTierBenefitsAssigned": false,
' "loyaltyMemberTierId": "0lyJ8000000CaRMIA0",
' "loyaltyMemberTierName": "Bronze",
' "tierChangeReason": null,
' "tierChangeReasonType": null,
' "tierEffectiveDate": "2021-01-01",
' "tierExpirationDate": null,
' "tierGroupId": "0ltJ8000000CaR8IAK",
' "tierGroupName": null,
' "tierId": "0lgJ80000008OI5IAM",
' "tierSequenceNumber": 10
' }
' ],
' "memberType": "Individual",
' "membershipEndDate": "2022-01-01",
' "membershipLastRenewalDate": null,
' "membershipNumber": "Member1",
' "referredBy": null,
' "relatedCorporateMembershipNumber": null,
' "transactionJournalStatementFrequency": "Monthly",
' "transactionJournalStatementLastGeneratedDate": null,
' "transactionJournalStatementMethod": "Mail"
' }
' Sample code for parsing the JSON response...
' Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code
Dim Level_Before_Reset__c As String
Dim escrowPointsBalance As Integer
Dim expirablePoints As Integer
Dim lastAccrualProcessedDate As String
Dim lastEscrowProcessedDate As String
Dim lastExpirationProcessRunDate As String
Dim lastPointsAggregationDate As String
Dim lastPointsResetDate As String
Dim loyaltyMemberCurrencyName As String
Dim loyaltyProgramCurrencyId As String
Dim loyaltyProgramCurrencyName As String
Dim memberCurrencyId As String
Dim nextQualifyingPointsResetDate As String
Dim pointsBalance As Integer
Dim qualifyingPointsBalanceBeforeReset As Integer
Dim totalEscrowPointsAccrued As Integer
Dim totalEscrowRolloverPoints As Integer
Dim totalPointsAccrued As Integer
Dim totalPointsExpired As Integer
Dim totalPointsRedeemed As Integer
Dim areTierBenefitsAssigned As Boolean
Dim loyaltyMemberTierId As String
Dim loyaltyMemberTierName As String
Dim tierChangeReason As String
Dim tierChangeReasonType As String
Dim tierEffectiveDate As String
Dim tierExpirationDate As String
Dim tierGroupId As String
Dim tierGroupName As String
Dim tierId As String
Dim tierSequenceNumber As Integer
Dim associatedAccount As String = jResp.StringOf("associatedAccount")
Dim ContactId As String = jResp.StringOf("associatedContact.contactId")
Dim v_Email As String = jResp.StringOf("associatedContact.email")
Dim FirstName As String = jResp.StringOf("associatedContact.firstName")
Dim LastName As String = jResp.StringOf("associatedContact.lastName")
Dim canReceivePartnerPromotions As Boolean = jResp.BoolOf("canReceivePartnerPromotions")
Dim canReceivePromotions As Boolean = jResp.BoolOf("canReceivePromotions")
Dim enrollmentChannel As String = jResp.StringOf("enrollmentChannel")
Dim enrollmentDate As String = jResp.StringOf("enrollmentDate")
Dim groupCreatedByMember As String = jResp.StringOf("groupCreatedByMember")
Dim groupName As String = jResp.StringOf("groupName")
Dim lastActivityDate As String = jResp.StringOf("lastActivityDate")
Dim loyaltyProgramMemberId As String = jResp.StringOf("loyaltyProgramMemberId")
Dim loyaltyProgramName As String = jResp.StringOf("loyaltyProgramName")
Dim memberStatus As String = jResp.StringOf("memberStatus")
Dim memberType As String = jResp.StringOf("memberType")
Dim membershipEndDate As String = jResp.StringOf("membershipEndDate")
Dim membershipLastRenewalDate As String = jResp.StringOf("membershipLastRenewalDate")
Dim membershipNumber As String = jResp.StringOf("membershipNumber")
Dim referredBy As String = jResp.StringOf("referredBy")
Dim relatedCorporateMembershipNumber As String = jResp.StringOf("relatedCorporateMembershipNumber")
Dim transactionJournalStatementFrequency As String = jResp.StringOf("transactionJournalStatementFrequency")
Dim transactionJournalStatementLastGeneratedDate As String = jResp.StringOf("transactionJournalStatementLastGeneratedDate")
Dim transactionJournalStatementMethod As String = jResp.StringOf("transactionJournalStatementMethod")
Dim i As Integer = 0
Dim count_i As Integer = jResp.SizeOfArray("memberCurrencies")
While i < count_i
jResp.I = i
Level_Before_Reset__c = jResp.StringOf("memberCurrencies[i].additionalLoyaltyMemberCurrencyFields.Level_Before_Reset__c")
escrowPointsBalance = jResp.IntOf("memberCurrencies[i].escrowPointsBalance")
expirablePoints = jResp.IntOf("memberCurrencies[i].expirablePoints")
lastAccrualProcessedDate = jResp.StringOf("memberCurrencies[i].lastAccrualProcessedDate")
lastEscrowProcessedDate = jResp.StringOf("memberCurrencies[i].lastEscrowProcessedDate")
lastExpirationProcessRunDate = jResp.StringOf("memberCurrencies[i].lastExpirationProcessRunDate")
lastPointsAggregationDate = jResp.StringOf("memberCurrencies[i].lastPointsAggregationDate")
lastPointsResetDate = jResp.StringOf("memberCurrencies[i].lastPointsResetDate")
loyaltyMemberCurrencyName = jResp.StringOf("memberCurrencies[i].loyaltyMemberCurrencyName")
loyaltyProgramCurrencyId = jResp.StringOf("memberCurrencies[i].loyaltyProgramCurrencyId")
loyaltyProgramCurrencyName = jResp.StringOf("memberCurrencies[i].loyaltyProgramCurrencyName")
memberCurrencyId = jResp.StringOf("memberCurrencies[i].memberCurrencyId")
nextQualifyingPointsResetDate = jResp.StringOf("memberCurrencies[i].nextQualifyingPointsResetDate")
pointsBalance = jResp.IntOf("memberCurrencies[i].pointsBalance")
qualifyingPointsBalanceBeforeReset = jResp.IntOf("memberCurrencies[i].qualifyingPointsBalanceBeforeReset")
totalEscrowPointsAccrued = jResp.IntOf("memberCurrencies[i].totalEscrowPointsAccrued")
totalEscrowRolloverPoints = jResp.IntOf("memberCurrencies[i].totalEscrowRolloverPoints")
totalPointsAccrued = jResp.IntOf("memberCurrencies[i].totalPointsAccrued")
totalPointsExpired = jResp.IntOf("memberCurrencies[i].totalPointsExpired")
totalPointsRedeemed = jResp.IntOf("memberCurrencies[i].totalPointsRedeemed")
i = i + 1
End While
i = 0
count_i = jResp.SizeOfArray("memberTiers")
While i < count_i
jResp.I = i
areTierBenefitsAssigned = jResp.BoolOf("memberTiers[i].areTierBenefitsAssigned")
loyaltyMemberTierId = jResp.StringOf("memberTiers[i].loyaltyMemberTierId")
loyaltyMemberTierName = jResp.StringOf("memberTiers[i].loyaltyMemberTierName")
tierChangeReason = jResp.StringOf("memberTiers[i].tierChangeReason")
tierChangeReasonType = jResp.StringOf("memberTiers[i].tierChangeReasonType")
tierEffectiveDate = jResp.StringOf("memberTiers[i].tierEffectiveDate")
tierExpirationDate = jResp.StringOf("memberTiers[i].tierExpirationDate")
tierGroupId = jResp.StringOf("memberTiers[i].tierGroupId")
tierGroupName = jResp.StringOf("memberTiers[i].tierGroupName")
tierId = jResp.StringOf("memberTiers[i].tierId")
tierSequenceNumber = jResp.IntOf("memberTiers[i].tierSequenceNumber")
i = i + 1
End While
Curl Command
curl -G -d "memberId="
-d "membershipNumber="
-d "programCurrencyName="
-H "Authorization: Bearer <access_token>"
https://domain.com/services/data/v{{version}}/loyalty-programs/:loyaltyProgramName/members
Postman Collection Item JSON
{
"name": "Member Profile",
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [
],
"body": {
"mode": "raw",
"raw": "",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{_endpoint}}/services/data/v{{version}}/loyalty-programs/:loyaltyProgramName/members?memberId=&membershipNumber=&programCurrencyName=",
"host": [
"{{_endpoint}}"
],
"path": [
"services",
"data",
"v{{version}}",
"loyalty-programs",
":loyaltyProgramName",
"members"
],
"query": [
{
"key": "memberId",
"value": "",
"description": "The ID of the loyalty program member."
},
{
"key": "membershipNumber",
"value": "",
"description": "The membership number of the loyalty program member."
},
{
"key": "programCurrencyName",
"value": "",
"description": "The name of the loyalty program currency associated with the member.\nUse this parameter to get the details of the member’s points-related information for a specific currency."
}
],
"variable": [
{
"key": "loyaltyProgramName",
"value": ""
}
]
},
"description": "Standard Documentation:\n\n[https://developer.salesforce.com/docs/atlas.en-us.loyalty.meta/loyalty/connect_resources_member_profile.htm](https://developer.salesforce.com/docs/atlas.en-us.loyalty.meta/loyalty/connect_resources_member_profile.htm)"
},
"response": [
{
"name": "Member Profile",
"originalRequest": {
"method": "GET",
"header": [
{
"key": "Authorization",
"value": "Bearer {{accessToken}}"
}
],
"body": {
"mode": "raw",
"raw": "",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{_endpoint}}/services/data/v{{version}}/loyalty-programs/:loyaltyProgramName/members?memberId=0lMJ8000000CaRMMA0&membershipNumber=Member1&programCurrencyName=NTO Qualifying Points",
"host": [
"{{_endpoint}}"
],
"path": [
"services",
"data",
"v{{version}}",
"loyalty-programs",
":loyaltyProgramName",
"members"
],
"query": [
{
"key": "memberId",
"value": "0lMJ8000000CaRMMA0",
"description": "The ID of the loyalty program member."
},
{
"key": "membershipNumber",
"value": "Member1",
"description": "The membership number of the loyalty program member."
},
{
"key": "programCurrencyName",
"value": "NTO Qualifying Points",
"description": "The name of the loyalty program currency associated with the member.\nUse this parameter to get the details of the member’s points-related information for a specific currency."
}
],
"variable": [
{
"key": "loyaltyProgramName",
"value": "NTO Insider"
}
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Date",
"value": "Wed, 22 May 2024 16:16:23 GMT"
},
{
"key": "Strict-Transport-Security",
"value": "max-age=63072000; includeSubDomains"
},
{
"key": "X-Content-Type-Options",
"value": "nosniff"
},
{
"key": "X-Robots-Tag",
"value": "none"
},
{
"key": "Cache-Control",
"value": "no-cache,must-revalidate,max-age=0,no-store,private"
},
{
"key": "Content-Type",
"value": "application/json;charset=UTF-8"
},
{
"key": "Vary",
"value": "Accept-Encoding"
},
{
"key": "Content-Encoding",
"value": "gzip"
},
{
"key": "Transfer-Encoding",
"value": "chunked"
}
],
"cookie": [
],
"body": "{\n \"additionalLoyaltyProgramMemberFields\": {},\n \"associatedAccount\": null,\n \"associatedContact\": {\n \"contactId\": \"003J8000002Yu0ZIAS\",\n \"email\": \"ab@email.com\",\n \"firstName\": \"Name1\",\n \"lastName\": \"Name2\"\n },\n \"canReceivePartnerPromotions\": true,\n \"canReceivePromotions\": true,\n \"enrollmentChannel\": \"Email\",\n \"enrollmentDate\": \"2021-01-01\",\n \"groupCreatedByMember\": null,\n \"groupName\": null,\n \"lastActivityDate\": null,\n \"loyaltyProgramMemberId\": \"0lMJ8000000CaRMMA0\",\n \"loyaltyProgramName\": \"NTO Insider\",\n \"memberCurrencies\": [\n {\n \"additionalLoyaltyMemberCurrencyFields\": {\n \"Level_Before_Reset__c\": null\n },\n \"escrowPointsBalance\": 0,\n \"expirablePoints\": 0,\n \"lastAccrualProcessedDate\": null,\n \"lastEscrowProcessedDate\": null,\n \"lastExpirationProcessRunDate\": null,\n \"lastPointsAggregationDate\": null,\n \"lastPointsResetDate\": null,\n \"loyaltyMemberCurrencyName\": \"NTO Qualifying Points\",\n \"loyaltyProgramCurrencyId\": \"0lcJ8000000CaR7IAK\",\n \"loyaltyProgramCurrencyName\": null,\n \"memberCurrencyId\": \"0lzJ8000000CaRMIA0\",\n \"nextQualifyingPointsResetDate\": \"2024-12-31\",\n \"pointsBalance\": 0,\n \"qualifyingPointsBalanceBeforeReset\": 0,\n \"totalEscrowPointsAccrued\": 0,\n \"totalEscrowRolloverPoints\": 0,\n \"totalPointsAccrued\": 0,\n \"totalPointsExpired\": 0,\n \"totalPointsRedeemed\": 0\n }\n ],\n \"memberStatus\": \"Active\",\n \"memberTiers\": [\n {\n \"additionalLoyaltyMemberTierFields\": {},\n \"areTierBenefitsAssigned\": false,\n \"loyaltyMemberTierId\": \"0lyJ8000000CaRMIA0\",\n \"loyaltyMemberTierName\": \"Bronze\",\n \"tierChangeReason\": null,\n \"tierChangeReasonType\": null,\n \"tierEffectiveDate\": \"2021-01-01\",\n \"tierExpirationDate\": null,\n \"tierGroupId\": \"0ltJ8000000CaR8IAK\",\n \"tierGroupName\": null,\n \"tierId\": \"0lgJ80000008OI5IAM\",\n \"tierSequenceNumber\": 10\n }\n ],\n \"memberType\": \"Individual\",\n \"membershipEndDate\": \"2022-01-01\",\n \"membershipLastRenewalDate\": null,\n \"membershipNumber\": \"Member1\",\n \"referredBy\": null,\n \"relatedCorporateMembershipNumber\": null,\n \"transactionJournalStatementFrequency\": \"Monthly\",\n \"transactionJournalStatementLastGeneratedDate\": null,\n \"transactionJournalStatementMethod\": \"Mail\"\n}"
}
]
}