Method: PureCloud::PresenceApi#patch_user_id_presences_source_id_with_http_info

Defined in:
lib/purecloud/api/presence_api.rb

#patch_user_id_presences_source_id_with_http_info(user_id, source_id, opts = {}) ⇒ Array<(UserPresence, Fixnum, Hash)>

Patch a user&#39;s Presence The presence object can be patched one of three ways. Option 1: Set the &#39;primary&#39; property to true. This will set the &#39;source&#39; defined in the path as the user&#39;s primary presence source. Option 2: Provide the presenceDefinition value. The &#39;id&#39; is the only value required within the presenceDefinition. Option 3: Provide the message value. Option 1 can be combined with Option 2 and/or Option 3.

Parameters:

  • user_id

    user Id

  • source_id

    Source

  • opts (Hash) (defaults to: {})

    the optional parameters

Options Hash (opts):

Returns:

  • (Array<(UserPresence, Fixnum, Hash)>)

    UserPresence data, response status code and response headers



347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
# File 'lib/purecloud/api/presence_api.rb', line 347

def patch_user_id_presences_source_id_with_http_info(user_id, source_id, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug "Calling API: PresenceApi#patch_user_id_presences_source_id ..."
  end
  
  # verify the required parameter 'user_id' is set
  fail "Missing the required parameter 'user_id' when calling patch_user_id_presences_source_id" if user_id.nil?
  
  # verify the required parameter 'source_id' is set
  fail "Missing the required parameter 'source_id' when calling patch_user_id_presences_source_id" if source_id.nil?
  
  # resource path
  local_var_path = "/api/v2/users/{userId}/presences/{sourceId}".sub('{format}','json').sub('{' + 'userId' + '}', user_id.to_s).sub('{' + 'sourceId' + '}', source_id.to_s)

  # query parameters
  query_params = {}

  # header parameters
  header_params = {}

  # HTTP header 'Accept' (if needed)
  _header_accept = ['application/json']
  _header_accept_result = @api_client.select_header_accept(_header_accept) and header_params['Accept'] = _header_accept_result

  # HTTP header 'Content-Type'
  _header_content_type = ['application/json']
  header_params['Content-Type'] = @api_client.select_header_content_type(_header_content_type)

  # form parameters
  form_params = {}

  # http body (model)
  post_body = @api_client.object_to_http_body(opts[:'body'])
  
  auth_names = ['PureCloud Auth']
  data, status_code, headers = @api_client.call_api(:PATCH, local_var_path,
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => 'UserPresence')
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: PresenceApi#patch_user_id_presences_source_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end