Class: PlatformRest::ExperienceUsers

Inherits:
Object
  • Object
show all
Defined in:
lib/platform_rest/experience_users.rb

Overview

Class containing all the actions for the Experience Users Resource

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ ExperienceUsers

Returns a new instance of ExperienceUsers.



30
31
32
# File 'lib/platform_rest/experience_users.rb', line 30

def initialize(client)
  @client = client
end

Instance Method Details

#get(params = {}) ⇒ Object

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

  • hash query - Experience user filter JSON object which overrides all other filter params. (api.losant.com/#/definitions/advancedExperienceUserQuery)

  • 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:

Raises:

  • (ArgumentError)


64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# File 'lib/platform_rest/experience_users.rb', line 64

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)
  query_params[:query] = params[:query] if params.has_key?(:query)
  query_params[:query] = JSON.dump(query_params[:query]) if query_params.has_key?(:query)
  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 = {}) ⇒ Object

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:

Raises:

  • (ArgumentError)


119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
# File 'lib/platform_rest/experience_users.rb', line 119

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