Push User Profile (with Tiers v2)


Request Details

Item Value
Description Sends a user’s profile every time it’s updated to a client specified endpoint; includes Tiers v2 data.
Method POST
Endpoint Client provided, must begin with https://

 
 
Third Party ID Synchronization Option
An optional feature for the User Profile Data Push is to capture a third_party_id from the Client provided end point API response. The third_party_id value will be stored for the user in CrowdTwist. Note: third_party_id is a client generated user id value, typically generated by a CRM.
If this option is enabled the third_party_id value is required in the API response.
For example:

"third_party_id": "123456789",
"third_party_id": "123456789",

If this option is not enabled, the third_party_id will not be captured & stored with the user record at CrowdTwist.
 

Request Body

Field Name Sample Value Format Description
country US String User’s country code
receiveSmsMessages 0 Number (binary) If a user is subscribed to receive SMS updates through CrowdTwist
facebookUserId null String User’s Facebook user ID
redeemablePoints 5200 Number Redeemable points of the user
postalCode 10001 String User’s postal code
tierInfo   Object Object containing all tiers data
   resetDate 2017-03-23T20:00:00Z String (ISO 8601 Format) Date a member resets to 0 and enters maintenance.  Only fixed timeframe.
   dateReached 2017-03-23T19:00:00Z String (ISO 8601 Format) Date the member reached their current tier.  This only changes when a member drops or jumps a tier.
   scoreNeededToReach 1000 Number Number of points needed for a member to jump to the next tier
   nextLevel   Object Level data of a user’s next tier
      minValue 1000 Number Mininum number of points needed for the next tier
      maxValue 2499 Number Maxinum number of points needed for the next tier
      title Tier 2 String Name of next tier level
   tierScore 0 Number The points earned while the member is in a tier
   assignedByEvent drop String The event that occurred when a member is assigned a tier (i.e. start, jump, maintain, drop, reset)
   currentLevel   Object Name of the user’s current tier (this is the same as fan_level)
      minValue null Number Mininum number of points needed for the current tier
      maxValue 999 Number Maxinum number of points needed for the current tier
      title Tier 1 Title Name of current tier level
   score 0 Number The points earned while the member is in a tier
   daysUntilResetDate 0 Number Number of days until a member resets.  Only for fixed timeframe.
   daysUntilExpirationDate 0 Number Number of days until a member’s tier expires if they do not maintain
   dateAssigned 2017-03-23T19:00:00Z String (ISO 8601 Format) Date the member is assigned current tier.  This changes for all event types (start, jump, maintain, drop and reset)
   expirationDate 2017-03-23T20:00:00Z String (ISO 8601 Format) Date a member’s tier will expire if they do not maintain. This is both fixed and rolling.
   scoreNeededToMaintain null Number Number of points needed to maintain current tier
customData null String Custom Data JSON object (parameters are configurable by client)
Attribute Names:
  employee_id
  cashier_id
  register_id
  store_loc
  plcc
  cardholder_status
  tier – used for client defined tiers only
  user_operation
  subscriber_type
signUpTypeId 3 Number Channel ID from where the user joined the program
1 = In Store
2 = Online
3 = Kiosk / In Store Other
4 = Call Center
5 = Mobile App
6 = Other
isActive 1 Number (binary) If the user is active
emailAddress george15@crowdtwist.com String User’s email address
password Test123 String User’s password
dateMobileVerified null Number (binary) If a user’s mobile number has been verified
dateLastLogin 1490290125 Timestamp Date the user last logged in
yahooUserId null String User’s Yahoo user ID
state NY String User’s state
id 6566 Number Internal CrowdTwist member user_id
monthlyPoints 0 Number Number of points the user has earned this month
signUpCampaign null Number Campaign with which the user joined the program
signUpChannelId null Number Channel ID from where the user joined the program
ipAddress null String The user’s IP address (if available)
fanRank 0 Number User’s rank within the program
firstName George String User’s first name
fsqUserId null String User’s Foursquare user ID
activityStreamOptIn 1 String If the user is opted in to see his/her updates in activity stream
googleUserId null String User’s Google user ID
region Northeast String User’s region
instUserId null String User’s Instagram user ID
weeklyPoints 0 Number Number of points the user has earned this week
lastName Twist String User’s last name
clientBrandingId 0 String
gender Male String User’s gender
city New York City String User’s city
dateLastUpdated 1490302144 Timestamp Date the user’s profile was last updated
hashAlgorithmId 1 String Hash algorithm, if used
numFacebookFriends 0 Number Number of friends the user has on Facebook
thirdPartyId null String User’s third party ID
dateCreated 1490293725 Timestamp Date the user was created within the CrowdTwist platform
mobilePhoneNumber 12312312321 Number Users mobile number
salt null String Salt algorithm, if used
numTwitterFollowers 0 Number Number of followers the user has on Twitter
streetAddress1 null String User’s street address 1
streetAddress2 null String User’s street address 2
emailIsVerified 1 Number (binary) If a user’s email address has been verified
fanLevelName Tier 1 String User’s current tier (this is the same as current_level)
dateOfBirth 142372800 Timestamp User’s date of birth
receiveEmailUpdates 1 Number (binary) If a user is subscribed to receive email updates through CrowdTwist
userName gtwist12 String User’s username
twitterUserId null String User’s Twitter user ID
langPref null String Language preference of the user
totalPoints 5200 Number Total points of the user
numPointsPurchased 0
middleName   String User’s middle name
passwordGenerated 0 Number (binary) If the user’s password was generated by CrowdTwist



Sample Request

{  
   "country":"US",
   "receiveSmsMessages":0,
   "facebookUserId":null,
   "redeemablePoints":5200,
   "postalCode":"10001",
   "tierInfo":{  
      "resetDate":"2017-03-23T20:00:00Z",
      "dateReached":"2017-03-23T19:00:00Z",
      "scoreNeededToReach":1000,
      "nextLevel":{  
         "minValue":1000,
         "maxValue":2499,
         "title":"Tier 2"
      },
      "tierScore":0,
      "assignedByEvent":"drop",
      "currentLevel":{  
         "minValue":null,
         "maxValue":999,
         "title":"Tier 1"
      },
      "score":0,
      "daysUntilResetDate":0,
      "daysUntilExpirationDate":0,
      "dateAssigned":"2017-03-23T19:00:00Z",
      "expirationDate":"2017-03-23T20:00:00Z",
      "scoreNeededToMaintain":null
   },
   "customData":null,
   "signUpTypeId":3,
   "isActive":1,
   "emailAddress":"george15@crowdtwist.com",
   "password":"basketball",
   "dateMobileVerified":null,
   "dateLastLogin":"1490290125",
   "yahooUserId":null,
   "state":"NY",
   "id":6566,
   "monthlyPoints":0,
   "signUpCampaign":null,
   "signUpChannelId":null,
   "ipAddress":null,
   "fanRank":0,
   "firstName":"George",
   "fsqUserId":null,
   "activityStreamOptIn":1,
   "googleUserId":null,
   "region":"Northeast",
   "instUserId":null,
   "weeklyPoints":0,
   "lastName":"Lim",
   "clientBrandingId":0,
   "gender":"Male",
   "city":"New York City",
   "dateLastUpdated":"1490302144",
   "hashAlgorithmId":1,
   "numFacebookFriends":0,
   "thirdPartyId":null,
   "dateCreated":"1490293725",
   "mobilePhoneNumber":"12312312321",
   "salt":null,
   "numTwitterFollowers":0,
   "streetAddress1":null,
   "streetAddress2":null,
   "emailIsVerified":0,
   "fanLevelName":"Tier 1",
   "dateOfBirth":"142372800",
   "receiveEmailUpdates":1,
   "userName":"glim76",
   "twitterUserId":null,
   "langPref":null,
   "totalPoints":5200,
   "numPointsPurchased":0,
   "middleName":null,
   "passwordGenerated":"0"
}
{  
   "country":"US",
   "receiveSmsMessages":0,
   "facebookUserId":null,
   "redeemablePoints":5200,
   "postalCode":"10001",
   "tierInfo":{  
      "resetDate":"2017-03-23T20:00:00Z",
      "dateReached":"2017-03-23T19:00:00Z",
      "scoreNeededToReach":1000,
      "nextLevel":{  
         "minValue":1000,
         "maxValue":2499,
         "title":"Tier 2"
      },
      "tierScore":0,
      "assignedByEvent":"drop",
      "currentLevel":{  
         "minValue":null,
         "maxValue":999,
         "title":"Tier 1"
      },
      "score":0,
      "daysUntilResetDate":0,
      "daysUntilExpirationDate":0,
      "dateAssigned":"2017-03-23T19:00:00Z",
      "expirationDate":"2017-03-23T20:00:00Z",
      "scoreNeededToMaintain":null
   },
   "customData":null,
   "signUpTypeId":3,
   "isActive":1,
   "emailAddress":"george15@crowdtwist.com",
   "password":"basketball",
   "dateMobileVerified":null,
   "dateLastLogin":"1490290125",
   "yahooUserId":null,
   "state":"NY",
   "id":6566,
   "monthlyPoints":0,
   "signUpCampaign":null,
   "signUpChannelId":null,
   "ipAddress":null,
   "fanRank":0,
   "firstName":"George",
   "fsqUserId":null,
   "activityStreamOptIn":1,
   "googleUserId":null,
   "region":"Northeast",
   "instUserId":null,
   "weeklyPoints":0,
   "lastName":"Lim",
   "clientBrandingId":0,
   "gender":"Male",
   "city":"New York City",
   "dateLastUpdated":"1490302144",
   "hashAlgorithmId":1,
   "numFacebookFriends":0,
   "thirdPartyId":null,
   "dateCreated":"1490293725",
   "mobilePhoneNumber":"12312312321",
   "salt":null,
   "numTwitterFollowers":0,
   "streetAddress1":null,
   "streetAddress2":null,
   "emailIsVerified":0,
   "fanLevelName":"Tier 1",
   "dateOfBirth":"142372800",
   "receiveEmailUpdates":1,
   "userName":"glim76",
   "twitterUserId":null,
   "langPref":null,
   "totalPoints":5200,
   "numPointsPurchased":0,
   "middleName":null,
   "passwordGenerated":"0"
}

Sample Request – Custom Attributes
If custom_data attributes are stored for the user, the object in the data push will include these attributes instead of being null.

"customData":"
  {
    "employee_id": "employee1",
    "register_id": "1",
    "cashier_id": "2"
  }
"customData":"
	{
	  "employee_id": "employee1",
	  "register_id": "1",
	  "cashier_id": "2"
	}