RabbitMQ Events: Changes to Users & User Activity
The article below will detail what can be seen in the Users and User Activity related events in your Content Catalyst RabbitMQ feed.
The following events are available:
- Contacting an account manager
- Request access for a colleague
- Ask an analyst
- Request Email Change
- Request Access To Product
- Subscriber added
- Subscriber updated
- Subscriber moved
- Subscriber removed
- Subscriber category licenses removed
- Subscriber product licenses removed
- Subscriber login
Contacting an account manager
subscriber.requests.accountmanager
Contains the message being sent by a user to their account manager.
Message Body
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"to": {
"type": "object",
"description": "Details of the account manager the user sent the message to",
"properties": {
"name": { "type": "string" },
"email": { "type": "string", "format": "email" }
}
},
"sender": {
"description": "The details of the user sending the message",
"type": "object",
"properties": {
"accountName": {
"description": "The account the user is in",
"type": "string"
},
"companyName": {
"description": "The company associated with the account",
"type": "string"
},
"username": {
"description": "The unique username of the sender",
"type": "string"
},
"fullName": {
"description": "The user's name",
"type": "string"
},
"email": {
"description": "The sender's email address",
"type": "string",
"format": "email"
},
"phone": {
"description": "The sender's phone number",
"type": "string"
}
}
},
"subject": {
"description": "The message's subject",
"type": "string"
},
"body": {
"description": "The message",
"type": "string"
},
"productTitle": {
"description": "The title of the product the user was viewing, if any",
"type": "string"
},
"productCode": {
"description": "The code of the product the user was viewing, if any",
"type": "string"
},
"pageUrl": {
"description": "Url of the page the user was viewing",
"type": "string"
}
}
}
Request access for a colleague
subscriber.requests.requestAccessForColleague
Contains the details of a colleague sent by a user to their account manager to request access
Message Body
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"to": {
"type": "object",
"description": "Details of the account manager the user sent the message to",
"properties": {
"name": { "type": "string" },
"email": { "type": "string", "format": "email" }
}
},
"sender": {
"description": "The details of the user sending the message",
"type": "object",
"properties": {
"username": {
"description": "The unique username of the sender",
"type": "string"
},
"email": {
"description": "The sender's email address",
"type": "string",
"format": "email"
}
}
},
"firstName": {
"description": "The colleague's first name",
"type": "string"
},
"lastName": {
"description": "The colleague's last name",
"type": "string"
},
"company": {
"description": "The colleague's company",
"type": "string"
},
"email": {
"description": "The colleague's email",
"type": "string",
"format": "email"
},
"phoneNumber": {
"description": "The colleague's phone number, if any",
"type": "string"
}
}
}
Ask an analyst
subscriber.requests.asktheanalyst
Contains the question being asked by a user to the analyst.
Message Body
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"asker": {
"type": "object",
"description": "Details of the user asking the question",
"properties": {
"username": { "type": "string" },
"email": { "type": "string", "format": "email" },
"phone": { "type": "string" },
"department": { "type": "string" },
"countryCode": { "type": "string" },
"fullName": { "type": "string" },
"firstName": {
"type": "string",
"description": "A guess of the user's first name, derived as all but the last word of the fullName"
},
"surname": {
"type": "string",
"description": "A guess of the user's surname, derived as the last word of the fullName"
},
"company": {
"type": "string",
"description": "The user's account's company name"
}
}
},
"analyst": {
"description": "The details of the user receiving the question",
"type": "object",
"properties": {
"email": { "type": "string", "format": "email" },
"name": { "type": "string" }
}
},
"question": {
"description": "The askers question to the analyst",
"type": "string"
},
"productCode": {
"description": "The product code of the product in question",
"type": "string"
},
"fullCode": {
"description": "The full code of the section in question",
"type": "string"
},
"reportUrlLink": {
"description": "The link to the product/section in question",
"type": "string"
},
"snippetContent": {
"description": "The content (truncated) of the section in question",
"type": "string"
}
}
}
Request Email Change
subscriber.requests.changeemail
This message is sent when a user requests an email change in their profile page. You can contact us to enable this feature but doing so disallows users from changing their email autonomously.
This feature is disabled by default.
Message Body
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"requestedEmail": {
"description": "The new email address that was requested",
"type": "string",
"format": "email"
},
"user": {
"description": "Details of the user requesting an email change",
"type": "object",
"properties": {
"username": {
"description": "The unique username of the sender",
"type": "string"
},
"email": {
"description": "The sender's current email address",
"type": "string",
"format": "email"
}
}
}
}
}
Request Access To Product
subscriber.requests.productaccess
This message is sent when a user requests access to a product via the Request Access button on the marketing page.
Message Body
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"to": {
"description": "Details of the account manager",
"type": "object",
"properties": {
"name": {
"description": "Name",
"type": "string"
},
"email": {
"description": "Email address",
"type": "string",
"format": "email"
}
},
},
"sender": {
"description": "Details of the user requesting access",
"type": "object",
"properties": {
"username": {
"description": "Username",
"type": "string"
},
"fullName": {
"description": "Full name",
"type": "string"
},
"email": {
"description": "Email address",
"type": "string",
"format": "email"
},
"phone": {
"description": "Phone number if available",
"type": "string"
},
"accountName": {
"description": "Account name",
"type": "string"
},
"companyName": {
"description": "Company name",
"type": "string"
}
},
},
"productTitle": {
"description": "The title of the product",
"type": "string"
},
"productCode": {
"description": "The product code",
"type": "string"
},
"price": {
"description": "The price of the product if available",
"type": "number"
}
}
}
Subscriber added
subscriber.changes.added
Message Body
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"username": {
"type": "string",
"description": "The unique username of user being added."
},
"permittedMarketing": {
"type": "boolean",
"description": "Whether the user opted into receiving marketing. If not provided then presume false."
}
}
}
Subscriber updated
subscriber.changes.updated
Message Body
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"username": {
"type": "string",
"description": "The unique username of user being updated."
}
}
}
Subscriber moved
subscriber.changes.moved
Message Body
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"username": {
"type": "string",
"description": "The unique username of user being moved."
},
"fromAccountName": {
"type": "string",
"description": "The unique name of the account the user used to belong to."
},
"toAccountName": {
"type": "string",
"description": "The unique name of the account the user now belongs to."
}
}
}
Subscriber removed
subscriber.changes.removed
Message Body
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"username": {
"type": "string",
"description": "The unique username of user being removed."
}
}
}
Subscriber category licenses removed
subscriber.changes.categoryLicensesRemoved
Message Body
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"username": {
"type": "string",
"description": "The unique username of user whose category licenses are being removed."
}
}
}
Subscriber product licenses removed
subscriber.changes.productLicensesRemoved
Message Body
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"username": {
"type": "string",
"description": "The unique username of user whose product licenses are being removed."
}
}
}
Subscriber login
subscriber.login
A message is sent when a user logs in via any of the following methods:
|
AuthenticationType |
Login source |
|---|---|
|
Anonymous |
Accessing the site without logging in when a guest user is configured |
|
Password |
Logging in with a password via the login form or the authenticate API |
|
SessionKey |
Using a session key to log in (single sign on) |
|
Cookie |
If a user chooses the remember me option when originally logging on and returns within 30 days (this is the default duration of the remember me cookie) |
|
TwoFactor |
Logging in via the login form with two factor authentication set up |
|
SelfRegistration |
Logging in straight after a user registers using the registration form |
|
ProductInstantAccessToken |
Logged in using a secure instant access link |
Message Body
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"user": {
"type": "object",
"properties": {
"username": {
"type": "string",
"description": "The username of the user who logged in"
},
"ipAddress": {
"type": "string",
"description": "The IP address of the user who logged in"
},
"IsAdministrator": {
"type": "boolean",
"description": "Whether the user that logged in is an administrator"
}
}
},
"authenticationType": {
"type": "string",
"enum": ["Anonymous", "Password", "SessionKey", "Cookie", "TwoFactor", "SelfRegistration"]
"description": "The type of login"
},
"dateTime": {
"type": "string",
"format": "date-time",
"description": "The date and time the user the logged in"
},
"IsForApi": {
"type": "boolean",
"description": "If the login is for an API (loginType will be 'Password')"
}
}
}