tesla-api-sdk 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE +28 -0
- data/README.md +160 -0
- data/bin/console +15 -0
- data/lib/tesla_fleet_management_api/api_helper.rb +10 -0
- data/lib/tesla_fleet_management_api/client.rb +110 -0
- data/lib/tesla_fleet_management_api/configuration.rb +181 -0
- data/lib/tesla_fleet_management_api/controllers/base_controller.rb +65 -0
- data/lib/tesla_fleet_management_api/controllers/charging_controller.rb +62 -0
- data/lib/tesla_fleet_management_api/controllers/energy_controller.rb +315 -0
- data/lib/tesla_fleet_management_api/controllers/oauth_authorization_controller.rb +87 -0
- data/lib/tesla_fleet_management_api/controllers/partner_controller.rb +82 -0
- data/lib/tesla_fleet_management_api/controllers/user_controller.rb +73 -0
- data/lib/tesla_fleet_management_api/controllers/vehicles_controller.rb +431 -0
- data/lib/tesla_fleet_management_api/exceptions/api_exception.rb +21 -0
- data/lib/tesla_fleet_management_api/exceptions/oauth_provider_exception.rb +64 -0
- data/lib/tesla_fleet_management_api/http/api_response.rb +19 -0
- data/lib/tesla_fleet_management_api/http/auth/bearer_auth.rb +53 -0
- data/lib/tesla_fleet_management_api/http/auth/oauth_2.rb +154 -0
- data/lib/tesla_fleet_management_api/http/http_call_back.rb +10 -0
- data/lib/tesla_fleet_management_api/http/http_method_enum.rb +10 -0
- data/lib/tesla_fleet_management_api/http/http_request.rb +10 -0
- data/lib/tesla_fleet_management_api/http/http_response.rb +10 -0
- data/lib/tesla_fleet_management_api/http/proxy_settings.rb +22 -0
- data/lib/tesla_fleet_management_api/logging/configuration/api_logging_configuration.rb +186 -0
- data/lib/tesla_fleet_management_api/logging/sdk_logger.rb +17 -0
- data/lib/tesla_fleet_management_api/models/api1_dx_vehicles_options_response.rb +76 -0
- data/lib/tesla_fleet_management_api/models/api1_dx_warranty_details_response.rb +76 -0
- data/lib/tesla_fleet_management_api/models/api1_vehicles_mobile_enabled_response.rb +75 -0
- data/lib/tesla_fleet_management_api/models/api1_vehicles_nearby_charging_sites_response.rb +75 -0
- data/lib/tesla_fleet_management_api/models/api1_vehicles_response.rb +104 -0
- data/lib/tesla_fleet_management_api/models/api1_vehicles_response_get_vehicle.rb +75 -0
- data/lib/tesla_fleet_management_api/models/api1_vehicles_wake_up_response.rb +75 -0
- data/lib/tesla_fleet_management_api/models/backup_request.rb +75 -0
- data/lib/tesla_fleet_management_api/models/backup_response.rb +73 -0
- data/lib/tesla_fleet_management_api/models/base_model.rb +110 -0
- data/lib/tesla_fleet_management_api/models/calendar_history_response.rb +73 -0
- data/lib/tesla_fleet_management_api/models/charge_duration.rb +73 -0
- data/lib/tesla_fleet_management_api/models/charge_history.rb +96 -0
- data/lib/tesla_fleet_management_api/models/charge_history_response.rb +73 -0
- data/lib/tesla_fleet_management_api/models/charge_start_time.rb +73 -0
- data/lib/tesla_fleet_management_api/models/charging_dimension.rb +85 -0
- data/lib/tesla_fleet_management_api/models/charging_fee.rb +312 -0
- data/lib/tesla_fleet_management_api/models/charging_history_data.rb +81 -0
- data/lib/tesla_fleet_management_api/models/charging_history_item.rb +222 -0
- data/lib/tesla_fleet_management_api/models/charging_history_response.rb +73 -0
- data/lib/tesla_fleet_management_api/models/charging_invoice.rb +95 -0
- data/lib/tesla_fleet_management_api/models/charging_location.rb +158 -0
- data/lib/tesla_fleet_management_api/models/charging_period.rb +96 -0
- data/lib/tesla_fleet_management_api/models/charging_session.rb +187 -0
- data/lib/tesla_fleet_management_api/models/charging_sessions_data.rb +116 -0
- data/lib/tesla_fleet_management_api/models/charging_sessions_response.rb +73 -0
- data/lib/tesla_fleet_management_api/models/default_real_mode.rb +36 -0
- data/lib/tesla_fleet_management_api/models/driver.rb +164 -0
- data/lib/tesla_fleet_management_api/models/drivers_response.rb +94 -0
- data/lib/tesla_fleet_management_api/models/enterprise_payer_request.rb +94 -0
- data/lib/tesla_fleet_management_api/models/event.rb +89 -0
- data/lib/tesla_fleet_management_api/models/fleet_status_request.rb +74 -0
- data/lib/tesla_fleet_management_api/models/fleet_telemetry_error.rb +90 -0
- data/lib/tesla_fleet_management_api/models/fleet_telemetry_errors_response.rb +74 -0
- data/lib/tesla_fleet_management_api/models/fleet_telemetry_jws_request.rb +85 -0
- data/lib/tesla_fleet_management_api/models/generic_update_response.rb +73 -0
- data/lib/tesla_fleet_management_api/models/kind.rb +36 -0
- data/lib/tesla_fleet_management_api/models/kind_get_wall_connector_charging_history.rb +26 -0
- data/lib/tesla_fleet_management_api/models/live_status_response.rb +73 -0
- data/lib/tesla_fleet_management_api/models/location.rb +85 -0
- data/lib/tesla_fleet_management_api/models/location1.rb +85 -0
- data/lib/tesla_fleet_management_api/models/me_response.rb +73 -0
- data/lib/tesla_fleet_management_api/models/mobile_enabled.rb +85 -0
- data/lib/tesla_fleet_management_api/models/oauth_provider_error.rb +62 -0
- data/lib/tesla_fleet_management_api/models/oauth_token.rb +96 -0
- data/lib/tesla_fleet_management_api/models/off_grid_vehicle_charging_reserve_request.rb +79 -0
- data/lib/tesla_fleet_management_api/models/operation_request.rb +75 -0
- data/lib/tesla_fleet_management_api/models/orders_response.rb +91 -0
- data/lib/tesla_fleet_management_api/models/pagination.rb +127 -0
- data/lib/tesla_fleet_management_api/models/price_component.rb +95 -0
- data/lib/tesla_fleet_management_api/models/products_response.rb +85 -0
- data/lib/tesla_fleet_management_api/models/public_key_response.rb +73 -0
- data/lib/tesla_fleet_management_api/models/region_response.rb +73 -0
- data/lib/tesla_fleet_management_api/models/register_partner_request.rb +73 -0
- data/lib/tesla_fleet_management_api/models/register_partner_response.rb +73 -0
- data/lib/tesla_fleet_management_api/models/response.rb +82 -0
- data/lib/tesla_fleet_management_api/models/response1.rb +75 -0
- data/lib/tesla_fleet_management_api/models/response2.rb +74 -0
- data/lib/tesla_fleet_management_api/models/response3.rb +115 -0
- data/lib/tesla_fleet_management_api/models/response_api1_dx_vehicles_options_response.rb +84 -0
- data/lib/tesla_fleet_management_api/models/response_api1_dx_warranty_details_response.rb +124 -0
- data/lib/tesla_fleet_management_api/models/response_calendar_history_response.rb +91 -0
- data/lib/tesla_fleet_management_api/models/response_charge_history_response.rb +83 -0
- data/lib/tesla_fleet_management_api/models/response_fleet_telemetry_errors_response.rb +83 -0
- data/lib/tesla_fleet_management_api/models/response_live_status_response.rb +196 -0
- data/lib/tesla_fleet_management_api/models/response_me_response.rb +102 -0
- data/lib/tesla_fleet_management_api/models/response_orders_response.rb +157 -0
- data/lib/tesla_fleet_management_api/models/response_public_key_response.rb +74 -0
- data/lib/tesla_fleet_management_api/models/response_region_response.rb +83 -0
- data/lib/tesla_fleet_management_api/models/response_register_partner_response.rb +223 -0
- data/lib/tesla_fleet_management_api/models/signaling.rb +94 -0
- data/lib/tesla_fleet_management_api/models/simple_ok_response.rb +75 -0
- data/lib/tesla_fleet_management_api/models/site_info_response.rb +75 -0
- data/lib/tesla_fleet_management_api/models/storm_mode_request.rb +73 -0
- data/lib/tesla_fleet_management_api/models/tariff_element.rb +95 -0
- data/lib/tesla_fleet_management_api/models/tariffs.rb +94 -0
- data/lib/tesla_fleet_management_api/models/time_of_use_settings_request.rb +74 -0
- data/lib/tesla_fleet_management_api/models/total_cost.rb +95 -0
- data/lib/tesla_fleet_management_api/models/tou_settings.rb +77 -0
- data/lib/tesla_fleet_management_api/models/vehicle_base.rb +147 -0
- data/lib/tesla_fleet_management_api/models/vehicle_option.rb +107 -0
- data/lib/tesla_fleet_management_api/models/warranty_item.rb +155 -0
- data/lib/tesla_fleet_management_api/utilities/date_time_helper.rb +11 -0
- data/lib/tesla_fleet_management_api/utilities/file_wrapper.rb +28 -0
- data/lib/tesla_fleet_management_api.rb +153 -0
- metadata +195 -0
|
@@ -0,0 +1,431 @@
|
|
|
1
|
+
# tesla_fleet_management_api
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by
|
|
4
|
+
# APIMATIC v3.0 ( https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module TeslaFleetManagementApi
|
|
7
|
+
# VehiclesController
|
|
8
|
+
class VehiclesController < BaseController
|
|
9
|
+
# TODO: type endpoint description here
|
|
10
|
+
# @return [ApiResponse] Complete http response with raw body and status code.
|
|
11
|
+
def list_vehicles
|
|
12
|
+
@api_call
|
|
13
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
14
|
+
'/api/1/vehicles',
|
|
15
|
+
Server::DEFAULT)
|
|
16
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
17
|
+
.auth(Single.new('bearerAuth')))
|
|
18
|
+
.response(new_response_handler
|
|
19
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
20
|
+
.deserialize_into(Api1VehiclesResponse.method(:from_hash))
|
|
21
|
+
.is_api_response(true))
|
|
22
|
+
.execute
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# TODO: type endpoint description here
|
|
26
|
+
# @param [String] vehicle_tag Required parameter: TODO: type description
|
|
27
|
+
# here
|
|
28
|
+
# @return [ApiResponse] Complete http response with raw body and status code.
|
|
29
|
+
def get_vehicle(vehicle_tag)
|
|
30
|
+
@api_call
|
|
31
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
32
|
+
'/api/1/vehicles/{vehicle_tag}',
|
|
33
|
+
Server::DEFAULT)
|
|
34
|
+
.template_param(new_parameter(vehicle_tag, key: 'vehicle_tag')
|
|
35
|
+
.is_required(true)
|
|
36
|
+
.should_encode(true))
|
|
37
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
38
|
+
.auth(Single.new('bearerAuth')))
|
|
39
|
+
.response(new_response_handler
|
|
40
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
41
|
+
.deserialize_into(Api1VehiclesResponseGetVehicle.method(:from_hash))
|
|
42
|
+
.is_api_response(true))
|
|
43
|
+
.execute
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# TODO: type endpoint description here
|
|
47
|
+
# @param [String] vehicle_tag Required parameter: TODO: type description
|
|
48
|
+
# here
|
|
49
|
+
# @return [ApiResponse] Complete http response with raw body and status code.
|
|
50
|
+
def mobile_enabled(vehicle_tag)
|
|
51
|
+
@api_call
|
|
52
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
53
|
+
'/api/1/vehicles/{vehicle_tag}/mobile_enabled',
|
|
54
|
+
Server::DEFAULT)
|
|
55
|
+
.template_param(new_parameter(vehicle_tag, key: 'vehicle_tag')
|
|
56
|
+
.is_required(true)
|
|
57
|
+
.should_encode(true))
|
|
58
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
59
|
+
.auth(Single.new('bearerAuth')))
|
|
60
|
+
.response(new_response_handler
|
|
61
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
62
|
+
.deserialize_into(Api1VehiclesMobileEnabledResponse.method(:from_hash))
|
|
63
|
+
.is_api_response(true))
|
|
64
|
+
.execute
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# TODO: type endpoint description here
|
|
68
|
+
# @param [String] vehicle_tag Required parameter: TODO: type description
|
|
69
|
+
# here
|
|
70
|
+
# @return [ApiResponse] Complete http response with raw body and status code.
|
|
71
|
+
def nearby_charging_sites(vehicle_tag)
|
|
72
|
+
@api_call
|
|
73
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
74
|
+
'/api/1/vehicles/{vehicle_tag}/nearby_charging_sites',
|
|
75
|
+
Server::DEFAULT)
|
|
76
|
+
.template_param(new_parameter(vehicle_tag, key: 'vehicle_tag')
|
|
77
|
+
.is_required(true)
|
|
78
|
+
.should_encode(true))
|
|
79
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
80
|
+
.auth(Single.new('bearerAuth')))
|
|
81
|
+
.response(new_response_handler
|
|
82
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
83
|
+
.deserialize_into(Api1VehiclesNearbyChargingSitesResponse.method(:from_hash))
|
|
84
|
+
.is_api_response(true))
|
|
85
|
+
.execute
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# TODO: type endpoint description here
|
|
89
|
+
# @param [String] vehicle_tag Required parameter: TODO: type description
|
|
90
|
+
# here
|
|
91
|
+
# @return [ApiResponse] Complete http response with raw body and status code.
|
|
92
|
+
def vehicle_live_data(vehicle_tag)
|
|
93
|
+
@api_call
|
|
94
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
95
|
+
'/api/1/vehicles/{vehicle_tag}/vehicle_data',
|
|
96
|
+
Server::DEFAULT)
|
|
97
|
+
.template_param(new_parameter(vehicle_tag, key: 'vehicle_tag')
|
|
98
|
+
.is_required(true)
|
|
99
|
+
.should_encode(true))
|
|
100
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
101
|
+
.auth(Single.new('bearerAuth')))
|
|
102
|
+
.response(new_response_handler
|
|
103
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
104
|
+
.deserialize_into(SiteInfoResponse.method(:from_hash))
|
|
105
|
+
.is_api_response(true))
|
|
106
|
+
.execute
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
# TODO: type endpoint description here
|
|
110
|
+
# @param [String] vehicle_tag Required parameter: TODO: type description
|
|
111
|
+
# here
|
|
112
|
+
# @return [ApiResponse] Complete http response with raw body and status code.
|
|
113
|
+
def wake_up_vehicle(vehicle_tag)
|
|
114
|
+
@api_call
|
|
115
|
+
.request(new_request_builder(HttpMethodEnum::POST,
|
|
116
|
+
'/api/1/vehicles/{vehicle_tag}/wake_up',
|
|
117
|
+
Server::DEFAULT)
|
|
118
|
+
.template_param(new_parameter(vehicle_tag, key: 'vehicle_tag')
|
|
119
|
+
.is_required(true)
|
|
120
|
+
.should_encode(true))
|
|
121
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
122
|
+
.auth(Single.new('bearerAuth')))
|
|
123
|
+
.response(new_response_handler
|
|
124
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
125
|
+
.deserialize_into(Api1VehiclesWakeUpResponse.method(:from_hash))
|
|
126
|
+
.is_api_response(true))
|
|
127
|
+
.execute
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
# TODO: type endpoint description here
|
|
131
|
+
# @param [String] vin Required parameter: TODO: type description here
|
|
132
|
+
# @return [ApiResponse] Complete http response with raw body and status code.
|
|
133
|
+
def vehicle_specs(vin)
|
|
134
|
+
@api_call
|
|
135
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
136
|
+
'/api/1/vehicles/{vin}/specs',
|
|
137
|
+
Server::DEFAULT)
|
|
138
|
+
.template_param(new_parameter(vin, key: 'vin')
|
|
139
|
+
.is_required(true)
|
|
140
|
+
.should_encode(true))
|
|
141
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
142
|
+
.auth(Single.new('bearerAuth')))
|
|
143
|
+
.response(new_response_handler
|
|
144
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
145
|
+
.deserialize_into(SiteInfoResponse.method(:from_hash))
|
|
146
|
+
.is_api_response(true))
|
|
147
|
+
.execute
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
# TODO: type endpoint description here
|
|
151
|
+
# @param [String] vin Required parameter: TODO: type description here
|
|
152
|
+
# @return [ApiResponse] Complete http response with raw body and status code.
|
|
153
|
+
def vehicle_options(vin)
|
|
154
|
+
@api_call
|
|
155
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
156
|
+
'/api/1/dx/vehicles/options',
|
|
157
|
+
Server::DEFAULT)
|
|
158
|
+
.query_param(new_parameter(vin, key: 'vin')
|
|
159
|
+
.is_required(true))
|
|
160
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
161
|
+
.auth(Single.new('bearerAuth')))
|
|
162
|
+
.response(new_response_handler
|
|
163
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
164
|
+
.deserialize_into(Api1DxVehiclesOptionsResponse.method(:from_hash))
|
|
165
|
+
.is_api_response(true))
|
|
166
|
+
.execute
|
|
167
|
+
end
|
|
168
|
+
|
|
169
|
+
# TODO: type endpoint description here
|
|
170
|
+
# @return [ApiResponse] Complete http response with raw body and status code.
|
|
171
|
+
def warranty_details
|
|
172
|
+
@api_call
|
|
173
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
174
|
+
'/api/1/dx/warranty/details',
|
|
175
|
+
Server::DEFAULT)
|
|
176
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
177
|
+
.auth(Single.new('bearerAuth')))
|
|
178
|
+
.response(new_response_handler
|
|
179
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
180
|
+
.deserialize_into(Api1DxWarrantyDetailsResponse.method(:from_hash))
|
|
181
|
+
.is_api_response(true))
|
|
182
|
+
.execute
|
|
183
|
+
end
|
|
184
|
+
|
|
185
|
+
# TODO: type endpoint description here
|
|
186
|
+
# @param [String] vehicle_tag Required parameter: TODO: type description
|
|
187
|
+
# here
|
|
188
|
+
# @return [ApiResponse] Complete http response with raw body and status code.
|
|
189
|
+
def get_allowed_drivers_for_a_vehicle(vehicle_tag)
|
|
190
|
+
@api_call
|
|
191
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
192
|
+
'/api/1/vehicles/{vehicle_tag}/drivers',
|
|
193
|
+
Server::DEFAULT)
|
|
194
|
+
.template_param(new_parameter(vehicle_tag, key: 'vehicle_tag')
|
|
195
|
+
.is_required(true)
|
|
196
|
+
.should_encode(true))
|
|
197
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
198
|
+
.auth(Single.new('bearerAuth')))
|
|
199
|
+
.response(new_response_handler
|
|
200
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
201
|
+
.deserialize_into(DriversResponse.method(:from_hash))
|
|
202
|
+
.is_api_response(true))
|
|
203
|
+
.execute
|
|
204
|
+
end
|
|
205
|
+
|
|
206
|
+
# TODO: type endpoint description here
|
|
207
|
+
# @param [String] vehicle_tag Required parameter: TODO: type description
|
|
208
|
+
# here
|
|
209
|
+
# @return [ApiResponse] Complete http response with raw body and status code.
|
|
210
|
+
def remove_driver_access_from_a_vehicle(vehicle_tag)
|
|
211
|
+
@api_call
|
|
212
|
+
.request(new_request_builder(HttpMethodEnum::DELETE,
|
|
213
|
+
'/api/1/vehicles/{vehicle_tag}/drivers',
|
|
214
|
+
Server::DEFAULT)
|
|
215
|
+
.template_param(new_parameter(vehicle_tag, key: 'vehicle_tag')
|
|
216
|
+
.is_required(true)
|
|
217
|
+
.should_encode(true))
|
|
218
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
219
|
+
.auth(Single.new('bearerAuth')))
|
|
220
|
+
.response(new_response_handler
|
|
221
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
222
|
+
.deserialize_into(SimpleOkResponse.method(:from_hash))
|
|
223
|
+
.is_api_response(true))
|
|
224
|
+
.execute
|
|
225
|
+
end
|
|
226
|
+
|
|
227
|
+
# TODO: type endpoint description here
|
|
228
|
+
# @param [String] vin Required parameter: TODO: type description here
|
|
229
|
+
# @return [ApiResponse] Complete http response with raw body and status code.
|
|
230
|
+
def get_eligible_vehicle_subscriptions(vin)
|
|
231
|
+
@api_call
|
|
232
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
233
|
+
'/api/1/dx/vehicles/subscriptions/eligibility',
|
|
234
|
+
Server::DEFAULT)
|
|
235
|
+
.query_param(new_parameter(vin, key: 'vin')
|
|
236
|
+
.is_required(true))
|
|
237
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
238
|
+
.auth(Single.new('bearerAuth')))
|
|
239
|
+
.response(new_response_handler
|
|
240
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
241
|
+
.deserialize_into(SiteInfoResponse.method(:from_hash))
|
|
242
|
+
.is_api_response(true))
|
|
243
|
+
.execute
|
|
244
|
+
end
|
|
245
|
+
|
|
246
|
+
# TODO: type endpoint description here
|
|
247
|
+
# @param [String] vin Required parameter: TODO: type description here
|
|
248
|
+
# @return [ApiResponse] Complete http response with raw body and status code.
|
|
249
|
+
def get_eligible_vehicle_upgrades(vin)
|
|
250
|
+
@api_call
|
|
251
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
252
|
+
'/api/1/dx/vehicles/upgrades/eligibility',
|
|
253
|
+
Server::DEFAULT)
|
|
254
|
+
.query_param(new_parameter(vin, key: 'vin')
|
|
255
|
+
.is_required(true))
|
|
256
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
257
|
+
.auth(Single.new('bearerAuth')))
|
|
258
|
+
.response(new_response_handler
|
|
259
|
+
.deserializer(APIHelper.method(:custom_type_deserializer))
|
|
260
|
+
.deserialize_into(SiteInfoResponse.method(:from_hash))
|
|
261
|
+
.is_api_response(true))
|
|
262
|
+
.execute
|
|
263
|
+
end
|
|
264
|
+
|
|
265
|
+
# TODO: type endpoint description here
|
|
266
|
+
# @param [String] vin Required parameter: TODO: type description here
|
|
267
|
+
# @param [EnterprisePayerRequest] body Required parameter: TODO: type
|
|
268
|
+
# description here
|
|
269
|
+
# @return [ApiResponse] Complete http response with raw body and status code.
|
|
270
|
+
def set_enterprise_payer_roles(vin,
|
|
271
|
+
body)
|
|
272
|
+
@api_call
|
|
273
|
+
.request(new_request_builder(HttpMethodEnum::POST,
|
|
274
|
+
'/api/1/dx/enterprise/v1/{vin}/payer',
|
|
275
|
+
Server::DEFAULT)
|
|
276
|
+
.template_param(new_parameter(vin, key: 'vin')
|
|
277
|
+
.is_required(true)
|
|
278
|
+
.should_encode(true))
|
|
279
|
+
.header_param(new_parameter('application/json', key: 'Content-Type'))
|
|
280
|
+
.body_param(new_parameter(body)
|
|
281
|
+
.is_required(true))
|
|
282
|
+
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
|
283
|
+
.auth(Single.new('bearerAuth')))
|
|
284
|
+
.response(new_response_handler
|
|
285
|
+
.is_response_void(true)
|
|
286
|
+
.is_api_response(true))
|
|
287
|
+
.execute
|
|
288
|
+
end
|
|
289
|
+
|
|
290
|
+
# TODO: type endpoint description here
|
|
291
|
+
# @param [String] vin Required parameter: TODO: type description here
|
|
292
|
+
# @return [ApiResponse] Complete http response with raw body and status code.
|
|
293
|
+
def get_enterprise_roles_for_a_vehicle(vin)
|
|
294
|
+
@api_call
|
|
295
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
296
|
+
'/api/1/dx/enterprise/v1/{vin}/roles',
|
|
297
|
+
Server::DEFAULT)
|
|
298
|
+
.template_param(new_parameter(vin, key: 'vin')
|
|
299
|
+
.is_required(true)
|
|
300
|
+
.should_encode(true))
|
|
301
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
302
|
+
.auth(Single.new('bearerAuth')))
|
|
303
|
+
.response(new_response_handler
|
|
304
|
+
.deserializer(APIHelper.method(:json_deserialize))
|
|
305
|
+
.is_api_response(true))
|
|
306
|
+
.execute
|
|
307
|
+
end
|
|
308
|
+
|
|
309
|
+
# TODO: type endpoint description here
|
|
310
|
+
# @param [FleetStatusRequest] body Required parameter: TODO: type
|
|
311
|
+
# description here
|
|
312
|
+
# @return [ApiResponse] Complete http response with raw body and status code.
|
|
313
|
+
def get_fleet_status_for_vehicles(body)
|
|
314
|
+
@api_call
|
|
315
|
+
.request(new_request_builder(HttpMethodEnum::POST,
|
|
316
|
+
'/api/1/vehicles/fleet_status',
|
|
317
|
+
Server::DEFAULT)
|
|
318
|
+
.header_param(new_parameter('application/json', key: 'Content-Type'))
|
|
319
|
+
.body_param(new_parameter(body)
|
|
320
|
+
.is_required(true))
|
|
321
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
322
|
+
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
|
323
|
+
.auth(Single.new('bearerAuth')))
|
|
324
|
+
.response(new_response_handler
|
|
325
|
+
.deserializer(APIHelper.method(:json_deserialize))
|
|
326
|
+
.is_api_response(true))
|
|
327
|
+
.execute
|
|
328
|
+
end
|
|
329
|
+
|
|
330
|
+
# TODO: type endpoint description here
|
|
331
|
+
# @param [Object] body Required parameter: TODO: type description here
|
|
332
|
+
# @return [ApiResponse] Complete http response with raw body and status code.
|
|
333
|
+
def create_or_update_fleet_telemetry_configuration(body)
|
|
334
|
+
@api_call
|
|
335
|
+
.request(new_request_builder(HttpMethodEnum::POST,
|
|
336
|
+
'/api/1/vehicles/fleet_telemetry_config',
|
|
337
|
+
Server::DEFAULT)
|
|
338
|
+
.header_param(new_parameter('application/json', key: 'Content-Type'))
|
|
339
|
+
.body_param(new_parameter(body)
|
|
340
|
+
.is_required(true))
|
|
341
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
342
|
+
.body_serializer(APIHelper.method(:json_serialize))
|
|
343
|
+
.auth(Single.new('bearerAuth')))
|
|
344
|
+
.response(new_response_handler
|
|
345
|
+
.deserializer(APIHelper.method(:json_deserialize))
|
|
346
|
+
.is_api_response(true))
|
|
347
|
+
.execute
|
|
348
|
+
end
|
|
349
|
+
|
|
350
|
+
# TODO: type endpoint description here
|
|
351
|
+
# @param [String] vehicle_tag Required parameter: TODO: type description
|
|
352
|
+
# here
|
|
353
|
+
# @return [ApiResponse] Complete http response with raw body and status code.
|
|
354
|
+
def get_fleet_telemetry_configuration(vehicle_tag)
|
|
355
|
+
@api_call
|
|
356
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
357
|
+
'/api/1/vehicles/{vehicle_tag}/fleet_telemetry_config',
|
|
358
|
+
Server::DEFAULT)
|
|
359
|
+
.template_param(new_parameter(vehicle_tag, key: 'vehicle_tag')
|
|
360
|
+
.is_required(true)
|
|
361
|
+
.should_encode(true))
|
|
362
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
363
|
+
.auth(Single.new('bearerAuth')))
|
|
364
|
+
.response(new_response_handler
|
|
365
|
+
.deserializer(APIHelper.method(:json_deserialize))
|
|
366
|
+
.is_api_response(true))
|
|
367
|
+
.execute
|
|
368
|
+
end
|
|
369
|
+
|
|
370
|
+
# TODO: type endpoint description here
|
|
371
|
+
# @param [String] vehicle_tag Required parameter: TODO: type description
|
|
372
|
+
# here
|
|
373
|
+
# @return [ApiResponse] Complete http response with raw body and status code.
|
|
374
|
+
def delete_fleet_telemetry_configuration(vehicle_tag)
|
|
375
|
+
@api_call
|
|
376
|
+
.request(new_request_builder(HttpMethodEnum::DELETE,
|
|
377
|
+
'/api/1/vehicles/{vehicle_tag}/fleet_telemetry_config',
|
|
378
|
+
Server::DEFAULT)
|
|
379
|
+
.template_param(new_parameter(vehicle_tag, key: 'vehicle_tag')
|
|
380
|
+
.is_required(true)
|
|
381
|
+
.should_encode(true))
|
|
382
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
383
|
+
.auth(Single.new('bearerAuth')))
|
|
384
|
+
.response(new_response_handler
|
|
385
|
+
.deserializer(APIHelper.method(:json_deserialize))
|
|
386
|
+
.is_api_response(true))
|
|
387
|
+
.execute
|
|
388
|
+
end
|
|
389
|
+
|
|
390
|
+
# TODO: type endpoint description here
|
|
391
|
+
# @param [FleetTelemetryJwsRequest] body Required parameter: TODO: type
|
|
392
|
+
# description here
|
|
393
|
+
# @return [ApiResponse] Complete http response with raw body and status code.
|
|
394
|
+
def configure_fleet_telemetry_using_signed_jws_token(body)
|
|
395
|
+
@api_call
|
|
396
|
+
.request(new_request_builder(HttpMethodEnum::POST,
|
|
397
|
+
'/api/1/vehicles/fleet_telemetry_config_jws',
|
|
398
|
+
Server::DEFAULT)
|
|
399
|
+
.header_param(new_parameter('application/json', key: 'Content-Type'))
|
|
400
|
+
.body_param(new_parameter(body)
|
|
401
|
+
.is_required(true))
|
|
402
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
403
|
+
.body_serializer(proc do |param| param.to_json unless param.nil? end)
|
|
404
|
+
.auth(Single.new('bearerAuth')))
|
|
405
|
+
.response(new_response_handler
|
|
406
|
+
.deserializer(APIHelper.method(:json_deserialize))
|
|
407
|
+
.is_api_response(true))
|
|
408
|
+
.execute
|
|
409
|
+
end
|
|
410
|
+
|
|
411
|
+
# TODO: type endpoint description here
|
|
412
|
+
# @param [String] vehicle_tag Required parameter: TODO: type description
|
|
413
|
+
# here
|
|
414
|
+
# @return [ApiResponse] Complete http response with raw body and status code.
|
|
415
|
+
def get_fleet_telemetry_errors_for_a_vehicle(vehicle_tag)
|
|
416
|
+
@api_call
|
|
417
|
+
.request(new_request_builder(HttpMethodEnum::GET,
|
|
418
|
+
'/api/1/vehicles/{vehicle_tag}/fleet_telemetry_errors',
|
|
419
|
+
Server::DEFAULT)
|
|
420
|
+
.template_param(new_parameter(vehicle_tag, key: 'vehicle_tag')
|
|
421
|
+
.is_required(true)
|
|
422
|
+
.should_encode(true))
|
|
423
|
+
.header_param(new_parameter('application/json', key: 'accept'))
|
|
424
|
+
.auth(Single.new('bearerAuth')))
|
|
425
|
+
.response(new_response_handler
|
|
426
|
+
.deserializer(APIHelper.method(:json_deserialize))
|
|
427
|
+
.is_api_response(true))
|
|
428
|
+
.execute
|
|
429
|
+
end
|
|
430
|
+
end
|
|
431
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# tesla_fleet_management_api
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by
|
|
4
|
+
# APIMATIC v3.0 ( https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module TeslaFleetManagementApi
|
|
7
|
+
# Class for exceptions when there is a network error, status code error, etc.
|
|
8
|
+
class APIException < CoreLibrary::ApiException
|
|
9
|
+
# Provides a human-readable string representation of the object.
|
|
10
|
+
def to_s
|
|
11
|
+
class_name = self.class.name.split('::').last
|
|
12
|
+
"<#{class_name} status_code: #{@response_code}, reason: #{@reason}>"
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
16
|
+
def inspect
|
|
17
|
+
class_name = self.class.name.split('::').last
|
|
18
|
+
"<#{class_name} status_code: #{@response_code.inspect}, reason: #{@reason.inspect}>"
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# tesla_fleet_management_api
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by
|
|
4
|
+
# APIMATIC v3.0 ( https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module TeslaFleetManagementApi
|
|
7
|
+
# OAuth 2 Authorization endpoint exception.
|
|
8
|
+
class OauthProviderException < APIException
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# Gets or sets error code.
|
|
13
|
+
# @return [OauthProviderError]
|
|
14
|
+
attr_accessor :error
|
|
15
|
+
|
|
16
|
+
# Gets or sets human-readable text providing additional information on
|
|
17
|
+
# error.
|
|
18
|
+
# Used to assist the client developer in understanding the error that
|
|
19
|
+
# occurred.
|
|
20
|
+
# @return [String]
|
|
21
|
+
attr_accessor :error_description
|
|
22
|
+
|
|
23
|
+
# Gets or sets a URI identifying a human-readable web page with information
|
|
24
|
+
# about the error, used to provide the client developer with additional
|
|
25
|
+
# information about the error.
|
|
26
|
+
# @return [String]
|
|
27
|
+
attr_accessor :error_uri
|
|
28
|
+
|
|
29
|
+
# The constructor.
|
|
30
|
+
# @param [String] reason The reason for raising an exception.
|
|
31
|
+
# @param [HttpResponse] response The HttpReponse of the API call.
|
|
32
|
+
def initialize(reason, response)
|
|
33
|
+
super(reason, response)
|
|
34
|
+
hash = APIHelper.json_deserialize(@response.raw_body)
|
|
35
|
+
unbox(hash)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# Populates this object by extracting properties from a hash.
|
|
39
|
+
# @param [Hash] hash The deserialized response sent by the server in the
|
|
40
|
+
# response body.
|
|
41
|
+
def unbox(hash)
|
|
42
|
+
return nil unless hash
|
|
43
|
+
|
|
44
|
+
@error = hash.key?('error') ? hash['error'] : nil
|
|
45
|
+
@error_description =
|
|
46
|
+
hash.key?('error_description') ? hash['error_description'] : SKIP
|
|
47
|
+
@error_uri = hash.key?('error_uri') ? hash['error_uri'] : SKIP
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# Provides a human-readable string representation of the object.
|
|
51
|
+
def to_s
|
|
52
|
+
class_name = self.class.name.split('::').last
|
|
53
|
+
"<#{class_name} error: #{@error}, error_description: #{@error_description}, error_uri:"\
|
|
54
|
+
" #{@error_uri}>"
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
58
|
+
def inspect
|
|
59
|
+
class_name = self.class.name.split('::').last
|
|
60
|
+
"<#{class_name} error: #{@error.inspect}, error_description: #{@error_description.inspect},"\
|
|
61
|
+
" error_uri: #{@error_uri.inspect}>"
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# tesla_fleet_management_api
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by
|
|
4
|
+
# APIMATIC v3.0 ( https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module TeslaFleetManagementApi
|
|
7
|
+
# Http response received.
|
|
8
|
+
class ApiResponse < CoreLibrary::ApiResponse
|
|
9
|
+
# The constructor
|
|
10
|
+
# @param [HttpResponse] http_response The original, raw response from the api.
|
|
11
|
+
# @param [Object] data The data field specified for the response.
|
|
12
|
+
# @param [Array<String>] errors Any errors returned by the server.
|
|
13
|
+
def initialize(http_response,
|
|
14
|
+
data: nil,
|
|
15
|
+
errors: nil)
|
|
16
|
+
super
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# tesla_fleet_management_api
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by
|
|
4
|
+
# APIMATIC v3.0 ( https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module TeslaFleetManagementApi
|
|
7
|
+
# Utility class for OAuth 2 authorization and token management.
|
|
8
|
+
class BearerAuth < CoreLibrary::HeaderAuth
|
|
9
|
+
include CoreLibrary
|
|
10
|
+
# Display error message on occurrence of authentication failure.
|
|
11
|
+
# @returns [String] The oAuth error message.
|
|
12
|
+
def error_message
|
|
13
|
+
'BearerAuth: access_token is undefined.'
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# Initialization constructor.
|
|
17
|
+
def initialize(bearer_auth_credentials)
|
|
18
|
+
auth_params = {}
|
|
19
|
+
@_access_token = bearer_auth_credentials.access_token unless
|
|
20
|
+
bearer_auth_credentials.nil? || bearer_auth_credentials.access_token.nil?
|
|
21
|
+
auth_params[:Authorization] = "Bearer #{@_access_token}" unless @_access_token.nil?
|
|
22
|
+
|
|
23
|
+
super auth_params
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# Data class for BearerAuthCredentials.
|
|
28
|
+
class BearerAuthCredentials
|
|
29
|
+
attr_reader :access_token
|
|
30
|
+
|
|
31
|
+
def initialize(access_token:)
|
|
32
|
+
raise ArgumentError, 'access_token cannot be nil' if access_token.nil?
|
|
33
|
+
|
|
34
|
+
@access_token = access_token
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def self.from_env
|
|
38
|
+
access_token = ENV['BEARER_AUTH_ACCESS_TOKEN']
|
|
39
|
+
all_nil = [
|
|
40
|
+
access_token
|
|
41
|
+
].all?(&:nil?)
|
|
42
|
+
return nil if all_nil
|
|
43
|
+
|
|
44
|
+
new(access_token: access_token)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def clone_with(access_token: nil)
|
|
48
|
+
access_token ||= self.access_token
|
|
49
|
+
|
|
50
|
+
BearerAuthCredentials.new(access_token: access_token)
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|