Class: Verizon::HyperPreciseLocationCallbacksController

Inherits:
BaseController
  • Object
show all
Defined in:
lib/verizon/controllers/hyper_precise_location_callbacks_controller.rb

Overview

HyperPreciseLocationCallbacksController

Constant Summary

Constants inherited from BaseController

BaseController::GLOBAL_ERRORS

Instance Attribute Summary

Attributes inherited from BaseController

#config, #http_call_back

Instance Method Summary collapse

Methods inherited from BaseController

#initialize, #new_api_call_builder, #new_parameter, #new_request_builder, #new_response_handler, user_agent

Constructor Details

This class inherits a constructor from Verizon::BaseController

Instance Method Details

#deregister_callback(account_number, service) ⇒ ApiResponse

Stops ThingSpace from sending callback messages for the specified account and listener name. a account. service that will be deleted.

Parameters:

  • account_number (String)

    Required parameter: A unique identifier for

  • service (String)

    Required parameter: The name of the callback

Returns:

  • (ApiResponse)

    the complete http response with raw body and status code.



100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# File 'lib/verizon/controllers/hyper_precise_location_callbacks_controller.rb', line 100

def deregister_callback(,
                        service)
  new_api_call_builder
    .request(new_request_builder(HttpMethodEnum::DELETE,
                                 '/callbacks',
                                 Server::HYPER_PRECISE_LOCATION)
               .query_param(new_parameter(, key: 'accountNumber'))
               .query_param(new_parameter(service, key: 'service'))
               .auth(And.new('thingspace_oauth', 'VZ-M2M-Token')))
    .response(new_response_handler
                .is_response_void(true)
                .is_api_response(true)
                .local_error('400',
                             'Bad request.',
                             HyperPreciseLocationResultException)
                .local_error('401',
                             'Unauthorized request. Access token is missing or invalid.',
                             HyperPreciseLocationResultException)
                .local_error('403',
                             'Forbidden request.',
                             HyperPreciseLocationResultException)
                .local_error('404',
                             'Bad request. Not found.',
                             HyperPreciseLocationResultException)
                .local_error('409',
                             'Bad request. Conflict state.',
                             HyperPreciseLocationResultException)
                .local_error('500',
                             'Internal Server Error.',
                             HyperPreciseLocationResultException))
    .execute
end

#list_registered_callbacks(account_number) ⇒ ApiResponse

Find registered callback listener for account by account number. an account.

Parameters:

  • account_number (String)

    Required parameter: A unique identifier for

Returns:

  • (ApiResponse)

    the complete http response with raw body and status code.



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/verizon/controllers/hyper_precise_location_callbacks_controller.rb', line 13

def list_registered_callbacks()
  new_api_call_builder
    .request(new_request_builder(HttpMethodEnum::GET,
                                 '/callbacks',
                                 Server::HYPER_PRECISE_LOCATION)
               .query_param(new_parameter(, key: 'accountNumber'))
               .header_param(new_parameter('application/json', key: 'accept'))
               .auth(And.new('thingspace_oauth', 'VZ-M2M-Token')))
    .response(new_response_handler
                .deserializer(APIHelper.method(:custom_type_deserializer))
                .deserialize_into(CallbackCreated.method(:from_hash))
                .is_api_response(true)
                .is_response_array(true)
                .local_error('400',
                             'Bad request.',
                             HyperPreciseLocationResultException)
                .local_error('401',
                             'Unauthorized request. Access token is missing or invalid.',
                             HyperPreciseLocationResultException)
                .local_error('403',
                             'Forbidden request.',
                             HyperPreciseLocationResultException)
                .local_error('404',
                             'Bad request. Not found.',
                             HyperPreciseLocationResultException)
                .local_error('409',
                             'Bad request. Conflict state.',
                             HyperPreciseLocationResultException)
                .local_error('500',
                             'Internal Server Error.',
                             HyperPreciseLocationResultException))
    .execute
end

#register_callback(account_number, body) ⇒ ApiResponse

Registers a URL at which an account receives asynchronous responses and other messages from a ThingSpace Platform callback service. The messages are REST messages. You are responsible for creating and running a listening process on your server at that URL to receive and parse the messages. an account.

Parameters:

  • account_number (String)

    Required parameter: A unique identifier for

  • body (HyperPreciseLocationCallback)

    Required parameter: Example:

Returns:

  • (ApiResponse)

    the complete http response with raw body and status code.



56
57
58
59
60
61
62
63
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
# File 'lib/verizon/controllers/hyper_precise_location_callbacks_controller.rb', line 56

def register_callback(,
                      body)
  new_api_call_builder
    .request(new_request_builder(HttpMethodEnum::POST,
                                 '/callbacks',
                                 Server::HYPER_PRECISE_LOCATION)
               .query_param(new_parameter(, key: 'accountNumber'))
               .header_param(new_parameter('application/json', key: 'Content-Type'))
               .body_param(new_parameter(body))
               .header_param(new_parameter('application/json', key: 'accept'))
               .body_serializer(proc do |param| param.to_json unless param.nil? end)
               .auth(And.new('thingspace_oauth', 'VZ-M2M-Token')))
    .response(new_response_handler
                .deserializer(APIHelper.method(:custom_type_deserializer))
                .deserialize_into(CallbackRegistered.method(:from_hash))
                .is_api_response(true)
                .local_error('400',
                             'Bad request.',
                             HyperPreciseLocationResultException)
                .local_error('401',
                             'Unauthorized request. Access token is missing or invalid.',
                             HyperPreciseLocationResultException)
                .local_error('403',
                             'Forbidden request.',
                             HyperPreciseLocationResultException)
                .local_error('404',
                             'Bad request. Not found.',
                             HyperPreciseLocationResultException)
                .local_error('409',
                             'Bad request. Conflict state.',
                             HyperPreciseLocationResultException)
                .local_error('500',
                             'Internal Server Error.',
                             HyperPreciseLocationResultException))
    .execute
end