class LosantRest::ExperienceUsers

Class containing all the actions for the Experience Users Resource

Public Class Methods

new(client) click to toggle source
# File lib/losant_rest/experience_users.rb, line 30
def initialize(client)
  @client = client
end

Public Instance Methods

get(params = {}) click to toggle source

Returns the experience users for an application

Authentication: The client must be configured with a valid api access token to call this action. The token must include at least one of the following scopes: all.Application, all.Application.read, all.Organization, all.Organization.read, all.User, all.User.read, experienceUsers.*, or experienceUsers.get.

Parameters:

  • {string} applicationId - ID associated with the application

  • {string} sortField - Field to sort the results by. Accepted values are: firstName, lastName, email, id, creationDate, lastLogin, lastUpdated

  • {string} sortDirection - Direction to sort the results by. Accepted values are: asc, desc

  • {string} page - Which page of results to return

  • {string} perPage - How many items to return per page

  • {string} filterField - Field to filter the results by. Blank or not provided means no filtering. Accepted values are: firstName, lastName, email

  • {string} filter - Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering.

  • {string} experienceGroupId - Filter users to those only in the specified group, special experienceGroupIds of 'any' which will give users who are in at least one group and 'none' will give you users who are not in any groups.

  • {string} includeAncestorGroups - If set will include members from ancestors of the specified experienceGroupId

  • {string} losantdomain - Domain scope of request (rarely needed)

  • {boolean} _actions - Return resource actions in response

  • {boolean} _links - Return resource link in response

  • {boolean} _embedded - Return embedded resources in response

Responses:

Errors:

# File lib/losant_rest/experience_users.rb, line 63
def get(params = {})
  params = Utils.symbolize_hash_keys(params)
  query_params = { _actions: false, _links: true, _embedded: true }
  headers = {}
  body = nil

  raise ArgumentError.new("applicationId is required") unless params.has_key?(:applicationId)

  query_params[:sortField] = params[:sortField] if params.has_key?(:sortField)
  query_params[:sortDirection] = params[:sortDirection] if params.has_key?(:sortDirection)
  query_params[:page] = params[:page] if params.has_key?(:page)
  query_params[:perPage] = params[:perPage] if params.has_key?(:perPage)
  query_params[:filterField] = params[:filterField] if params.has_key?(:filterField)
  query_params[:filter] = params[:filter] if params.has_key?(:filter)
  query_params[:experienceGroupId] = params[:experienceGroupId] if params.has_key?(:experienceGroupId)
  query_params[:includeAncestorGroups] = params[:includeAncestorGroups] if params.has_key?(:includeAncestorGroups)
  headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain)
  query_params[:_actions] = params[:_actions] if params.has_key?(:_actions)
  query_params[:_links] = params[:_links] if params.has_key?(:_links)
  query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded)

  path = "/applications/#{params[:applicationId]}/experience/users"

  @client.request(
    method: :get,
    path: path,
    query: query_params,
    headers: headers,
    body: body)
end
post(params = {}) click to toggle source

Create a new experience user for an application

Authentication: The client must be configured with a valid api access token to call this action. The token must include at least one of the following scopes: all.Application, all.Organization, all.User, experienceUsers.*, or experienceUsers.post.

Parameters:

  • {string} applicationId - ID associated with the application

  • {hash} experienceUser - New experience user information (api.losant.com/#/definitions/experienceUserPost)

  • {string} losantdomain - Domain scope of request (rarely needed)

  • {boolean} _actions - Return resource actions in response

  • {boolean} _links - Return resource link in response

  • {boolean} _embedded - Return embedded resources in response

Responses:

Errors:

# File lib/losant_rest/experience_users.rb, line 116
def post(params = {})
  params = Utils.symbolize_hash_keys(params)
  query_params = { _actions: false, _links: true, _embedded: true }
  headers = {}
  body = nil

  raise ArgumentError.new("applicationId is required") unless params.has_key?(:applicationId)
  raise ArgumentError.new("experienceUser is required") unless params.has_key?(:experienceUser)

  body = params[:experienceUser] if params.has_key?(:experienceUser)
  headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain)
  query_params[:_actions] = params[:_actions] if params.has_key?(:_actions)
  query_params[:_links] = params[:_links] if params.has_key?(:_links)
  query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded)

  path = "/applications/#{params[:applicationId]}/experience/users"

  @client.request(
    method: :post,
    path: path,
    query: query_params,
    headers: headers,
    body: body)
end