Class: Verizon::DeviceReportsController
- Inherits:
-
BaseController
- Object
- BaseController
- Verizon::DeviceReportsController
- Defined in:
- lib/verizon/controllers/device_reports_controller.rb
Overview
DeviceReportsController
Constant Summary
Constants inherited from BaseController
Instance Attribute Summary
Attributes inherited from BaseController
Instance Method Summary collapse
-
#calculate_aggregated_report_asynchronous(body) ⇒ ApiResponse
Calculate aggregated report per day with number of sessions and usage information.
-
#calculate_aggregated_report_synchronous(body) ⇒ ApiResponse
Calculate aggregated report per day with number of sessions and usage information.
-
#get_sessions_report(body) ⇒ ApiResponse
Detailed report of session duration and number of bytes transferred per day.
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
#calculate_aggregated_report_asynchronous(body) ⇒ ApiResponse
Calculate aggregated report per day with number of sessions and usage information. User will receive an asynchronous callback for the specified list of devices (Max 10000) and date range (Max 180 days). session report request.
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 |
# File 'lib/verizon/controllers/device_reports_controller.rb', line 56 def calculate_aggregated_report_asynchronous(body) new_api_call_builder .request(new_request_builder(HttpMethodEnum::POST, '/report/async/aggregate', Server::HYPER_PRECISE_LOCATION) .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(AggregatedReportCallbackResult.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 |
#calculate_aggregated_report_synchronous(body) ⇒ ApiResponse
Calculate aggregated report per day with number of sessions and usage information. User will receive synchronous response for specified list of devices (Max 10) and date range (Max 180 days). report request.
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 46 47 48 |
# File 'lib/verizon/controllers/device_reports_controller.rb', line 15 def calculate_aggregated_report_synchronous(body) new_api_call_builder .request(new_request_builder(HttpMethodEnum::POST, '/report/aggregate', Server::HYPER_PRECISE_LOCATION) .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(AggregateSessionReport.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 |
#get_sessions_report(body) ⇒ ApiResponse
Detailed report of session duration and number of bytes transferred per day. sessions report.
96 97 98 99 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 |
# File 'lib/verizon/controllers/device_reports_controller.rb', line 96 def get_sessions_report(body) new_api_call_builder .request(new_request_builder(HttpMethodEnum::POST, '/report/sessions', Server::HYPER_PRECISE_LOCATION) .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(SessionReport.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 |