Chilkat Online Tools

DataFlex / Salesforce Platform APIs / Member Profile

Back to Collection Items

Use ChilkatAx-win32.pkg

Procedure Test
    Handle hoHttp
    Boolean iSuccess
    Variant vQueryParams
    Handle hoQueryParams
    Variant vResp
    Handle hoResp
    Variant vSbResponseBody
    Handle hoSbResponseBody
    Handle hoJResp
    Integer iRespStatusCode
    String sLevel_Before_Reset__c
    Integer iEscrowPointsBalance
    Integer iExpirablePoints
    String sLastAccrualProcessedDate
    String sLastEscrowProcessedDate
    String sLastExpirationProcessRunDate
    String sLastPointsAggregationDate
    String sLastPointsResetDate
    String sLoyaltyMemberCurrencyName
    String sLoyaltyProgramCurrencyId
    String sLoyaltyProgramCurrencyName
    String sMemberCurrencyId
    String sNextQualifyingPointsResetDate
    Integer iPointsBalance
    Integer iQualifyingPointsBalanceBeforeReset
    Integer iTotalEscrowPointsAccrued
    Integer iTotalEscrowRolloverPoints
    Integer iTotalPointsAccrued
    Integer iTotalPointsExpired
    Integer iTotalPointsRedeemed
    Boolean iAreTierBenefitsAssigned
    String sLoyaltyMemberTierId
    String sLoyaltyMemberTierName
    String sTierChangeReason
    String sTierChangeReasonType
    String sTierEffectiveDate
    String sTierExpirationDate
    String sTierGroupId
    String sTierGroupName
    String sTierId
    Integer iTierSequenceNumber
    String sAssociatedAccount
    String sContactId
    String sV_Email
    String sFirstName
    String sLastName
    Boolean iCanReceivePartnerPromotions
    Boolean iCanReceivePromotions
    String sEnrollmentChannel
    String sEnrollmentDate
    String sGroupCreatedByMember
    String sGroupName
    String sLastActivityDate
    String sLoyaltyProgramMemberId
    String sLoyaltyProgramName
    String sMemberStatus
    String sMemberType
    String sMembershipEndDate
    String sMembershipLastRenewalDate
    String sMembershipNumber
    String sReferredBy
    String sRelatedCorporateMembershipNumber
    String sTransactionJournalStatementFrequency
    String sTransactionJournalStatementLastGeneratedDate
    String sTransactionJournalStatementMethod
    Integer i
    Integer iCount_i
    String sTemp1
    Boolean bTemp1

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    Get Create (RefClass(cComChilkatHttp)) To hoHttp
    If (Not(IsComObjectCreated(hoHttp))) Begin
        Send CreateComObject of hoHttp
    End

    Get Create (RefClass(cComChilkatJsonObject)) To hoQueryParams
    If (Not(IsComObjectCreated(hoQueryParams))) Begin
        Send CreateComObject of hoQueryParams
    End
    Get ComUpdateString Of hoQueryParams "memberId" "" To iSuccess
    Get ComUpdateString Of hoQueryParams "membershipNumber" "" To iSuccess
    Get ComUpdateString Of hoQueryParams "programCurrencyName" "" To iSuccess

    // Adds the "Authorization: Bearer <access_token>" header.
    Set ComAuthToken Of hoHttp To "<access_token>"

    Get pvComObject of hoQueryParams to vQueryParams
    Get ComQuickRequestParams Of hoHttp "GET" "https://domain.com/services/data/v{{version}}/loyalty-programs/:loyaltyProgramName/members" vQueryParams To vResp
    If (IsComObject(vResp)) Begin
        Get Create (RefClass(cComChilkatHttpResponse)) To hoResp
        Set pvComObject Of hoResp To vResp
    End
    Get ComLastMethodSuccess Of hoHttp To bTemp1
    If (bTemp1 = False) Begin
        Get ComLastErrorText Of hoHttp To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get Create (RefClass(cComChilkatStringBuilder)) To hoSbResponseBody
    If (Not(IsComObjectCreated(hoSbResponseBody))) Begin
        Send CreateComObject of hoSbResponseBody
    End
    Get pvComObject of hoSbResponseBody to vSbResponseBody
    Get ComGetBodySb Of hoResp vSbResponseBody To iSuccess

    Get Create (RefClass(cComChilkatJsonObject)) To hoJResp
    If (Not(IsComObjectCreated(hoJResp))) Begin
        Send CreateComObject of hoJResp
    End
    Get pvComObject of hoSbResponseBody to vSbResponseBody
    Get ComLoadSb Of hoJResp vSbResponseBody To iSuccess
    Set ComEmitCompact Of hoJResp To False

    Showln "Response Body:"
    Get ComEmit Of hoJResp To sTemp1
    Showln sTemp1

    Get ComStatusCode Of hoResp To iRespStatusCode
    Showln "Response Status Code = " iRespStatusCode
    If (iRespStatusCode >= 400) Begin
        Showln "Response Header:"
        Get ComHeader Of hoResp To sTemp1
        Showln sTemp1
        Showln "Failed."
        Send Destroy of hoResp
        Procedure_Return
    End

    Send Destroy of hoResp

    // 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

    Get ComStringOf Of hoJResp "associatedAccount" To sAssociatedAccount
    Get ComStringOf Of hoJResp "associatedContact.contactId" To sContactId
    Get ComStringOf Of hoJResp "associatedContact.email" To sV_Email
    Get ComStringOf Of hoJResp "associatedContact.firstName" To sFirstName
    Get ComStringOf Of hoJResp "associatedContact.lastName" To sLastName
    Get ComBoolOf Of hoJResp "canReceivePartnerPromotions" To iCanReceivePartnerPromotions
    Get ComBoolOf Of hoJResp "canReceivePromotions" To iCanReceivePromotions
    Get ComStringOf Of hoJResp "enrollmentChannel" To sEnrollmentChannel
    Get ComStringOf Of hoJResp "enrollmentDate" To sEnrollmentDate
    Get ComStringOf Of hoJResp "groupCreatedByMember" To sGroupCreatedByMember
    Get ComStringOf Of hoJResp "groupName" To sGroupName
    Get ComStringOf Of hoJResp "lastActivityDate" To sLastActivityDate
    Get ComStringOf Of hoJResp "loyaltyProgramMemberId" To sLoyaltyProgramMemberId
    Get ComStringOf Of hoJResp "loyaltyProgramName" To sLoyaltyProgramName
    Get ComStringOf Of hoJResp "memberStatus" To sMemberStatus
    Get ComStringOf Of hoJResp "memberType" To sMemberType
    Get ComStringOf Of hoJResp "membershipEndDate" To sMembershipEndDate
    Get ComStringOf Of hoJResp "membershipLastRenewalDate" To sMembershipLastRenewalDate
    Get ComStringOf Of hoJResp "membershipNumber" To sMembershipNumber
    Get ComStringOf Of hoJResp "referredBy" To sReferredBy
    Get ComStringOf Of hoJResp "relatedCorporateMembershipNumber" To sRelatedCorporateMembershipNumber
    Get ComStringOf Of hoJResp "transactionJournalStatementFrequency" To sTransactionJournalStatementFrequency
    Get ComStringOf Of hoJResp "transactionJournalStatementLastGeneratedDate" To sTransactionJournalStatementLastGeneratedDate
    Get ComStringOf Of hoJResp "transactionJournalStatementMethod" To sTransactionJournalStatementMethod
    Move 0 To i
    Get ComSizeOfArray Of hoJResp "memberCurrencies" To iCount_i
    While (i < iCount_i)
        Set ComI Of hoJResp To i
        Get ComStringOf Of hoJResp "memberCurrencies[i].additionalLoyaltyMemberCurrencyFields.Level_Before_Reset__c" To sLevel_Before_Reset__c
        Get ComIntOf Of hoJResp "memberCurrencies[i].escrowPointsBalance" To iEscrowPointsBalance
        Get ComIntOf Of hoJResp "memberCurrencies[i].expirablePoints" To iExpirablePoints
        Get ComStringOf Of hoJResp "memberCurrencies[i].lastAccrualProcessedDate" To sLastAccrualProcessedDate
        Get ComStringOf Of hoJResp "memberCurrencies[i].lastEscrowProcessedDate" To sLastEscrowProcessedDate
        Get ComStringOf Of hoJResp "memberCurrencies[i].lastExpirationProcessRunDate" To sLastExpirationProcessRunDate
        Get ComStringOf Of hoJResp "memberCurrencies[i].lastPointsAggregationDate" To sLastPointsAggregationDate
        Get ComStringOf Of hoJResp "memberCurrencies[i].lastPointsResetDate" To sLastPointsResetDate
        Get ComStringOf Of hoJResp "memberCurrencies[i].loyaltyMemberCurrencyName" To sLoyaltyMemberCurrencyName
        Get ComStringOf Of hoJResp "memberCurrencies[i].loyaltyProgramCurrencyId" To sLoyaltyProgramCurrencyId
        Get ComStringOf Of hoJResp "memberCurrencies[i].loyaltyProgramCurrencyName" To sLoyaltyProgramCurrencyName
        Get ComStringOf Of hoJResp "memberCurrencies[i].memberCurrencyId" To sMemberCurrencyId
        Get ComStringOf Of hoJResp "memberCurrencies[i].nextQualifyingPointsResetDate" To sNextQualifyingPointsResetDate
        Get ComIntOf Of hoJResp "memberCurrencies[i].pointsBalance" To iPointsBalance
        Get ComIntOf Of hoJResp "memberCurrencies[i].qualifyingPointsBalanceBeforeReset" To iQualifyingPointsBalanceBeforeReset
        Get ComIntOf Of hoJResp "memberCurrencies[i].totalEscrowPointsAccrued" To iTotalEscrowPointsAccrued
        Get ComIntOf Of hoJResp "memberCurrencies[i].totalEscrowRolloverPoints" To iTotalEscrowRolloverPoints
        Get ComIntOf Of hoJResp "memberCurrencies[i].totalPointsAccrued" To iTotalPointsAccrued
        Get ComIntOf Of hoJResp "memberCurrencies[i].totalPointsExpired" To iTotalPointsExpired
        Get ComIntOf Of hoJResp "memberCurrencies[i].totalPointsRedeemed" To iTotalPointsRedeemed
        Move (i + 1) To i
    Loop

    Move 0 To i
    Get ComSizeOfArray Of hoJResp "memberTiers" To iCount_i
    While (i < iCount_i)
        Set ComI Of hoJResp To i
        Get ComBoolOf Of hoJResp "memberTiers[i].areTierBenefitsAssigned" To iAreTierBenefitsAssigned
        Get ComStringOf Of hoJResp "memberTiers[i].loyaltyMemberTierId" To sLoyaltyMemberTierId
        Get ComStringOf Of hoJResp "memberTiers[i].loyaltyMemberTierName" To sLoyaltyMemberTierName
        Get ComStringOf Of hoJResp "memberTiers[i].tierChangeReason" To sTierChangeReason
        Get ComStringOf Of hoJResp "memberTiers[i].tierChangeReasonType" To sTierChangeReasonType
        Get ComStringOf Of hoJResp "memberTiers[i].tierEffectiveDate" To sTierEffectiveDate
        Get ComStringOf Of hoJResp "memberTiers[i].tierExpirationDate" To sTierExpirationDate
        Get ComStringOf Of hoJResp "memberTiers[i].tierGroupId" To sTierGroupId
        Get ComStringOf Of hoJResp "memberTiers[i].tierGroupName" To sTierGroupName
        Get ComStringOf Of hoJResp "memberTiers[i].tierId" To sTierId
        Get ComIntOf Of hoJResp "memberTiers[i].tierSequenceNumber" To iTierSequenceNumber
        Move (i + 1) To i
    Loop



End_Procedure

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}"
    }
  ]
}