WebfleetConnect
Gem to consume WEBFLEET.connect API.
The WEBFLEET.connect API connects software applications with the Webfleet fleet management solution. Via WEBFLEET.connect you can enhance the value of all types of business solutions, including routing and scheduling optimization, ERP, Transport Management System (TMS), supply chain planning, asset management, and much more.
Check also the version for:
Installation
Add this line to your application's Gemfile:
gem 'webfleet_connect'
And then execute:
$ bundle install
Or install it yourself as:
$ gem install webfleet_connect
Usage
require 'webfleet_connect'
webfleet_connect = WebfleetConnect.create
response = webfleet_connect.show_object_report_extern
response.to_hash
# [{:objectno=>"858EU4", :objectname=>"YRT-MMD2439", :objectclassname=>"sales", ...
WebfleetConnect.create
returns a new WebfleetConnect::Session
object which has the capabilities to request info from the WEBFLEET.connect API.
The Webfleet credential are taken from the env variables WEBFLEET_CONNECT_ACCOUNT
, WEBFLEET_CONNECT_USERNAME
, WEBFLEET_CONNECT_PASSWORD
and WEBFLEET_CONNECT_APIKEY
(if you want to know more about env variables check this link).
If your system needs to work with multiple accounts or you need to specify the credentials dynamically for some other reason, you can do it this way:
webfleet_connect = WebfleetConnect.create(account: 'companyName', username: 'dev', password: 'VLm5PpiZST6U', apikey: 'ZSksD88s-F7Uf')
When you use one of the methods of this gem, like for example show_vehicle_report_extern
, this returns a WebfleetConnect::Response
object which you can do:
response = webfleet_connect.show_vehicle_report_extern
response.url # gets the url to fetch the informtion from WEBFLEET.connect
response.status_code # gets the status code of the request
response.to_s # returns the response message as plain text as is returned by WEBFLEET.connect
response.to_hash # returns the data as a ruby Array/Hash object
The methods available in this gem are the same that are documented in the WEBFLEET.connect docs page just changed from cammelCase to snake_case. See below the list of methods.
Params
In order to add params to a request is as easy as passing a hash of options in the request like:
response = webfleet_connect.show_vehicle_report_extern(filterstring: 'ECO', objectgroupname: 'Vehiculos', ungroupedonly: true)
The rangefrom_string
and rangeto_string
can accept Time
objects:
start_date = Time.now
end_date = start_date + (60 * 60 * 24)
response = webfleet_connect.show_event_report_extern(range_pattern: :ud, rangefrom_string: start_date, rangeto_string: end_date)
The range_pattern
can accept the values
:today
,
:yesterday
,
:two_days_ago
,
:three_days_ago
,
:four_days_ago
,
:five_days_ago
,
:six_days_ago
,
:current_week
,
:last_week
,
:two_weeks_ago
,
:three_weeks_ago
,
:floating_week
,
:last_floating_week
,
:two_floating_weeks_ago
,
:three_floating_weeks_ago
,
:current_month
,
:last_month
,
:two_months_ago
,
:three_months_ago
,
:user_defined_range
and
:ud
response = webfleet_connect.show_event_report_extern(range_pattern: :today)
Extra config
The WebfleetConnect::Session
object works with the default configuration:
lang: :en, format: :csv, useUTF8: false, useISO8601: false
but you can change the default configuration when you create the object:
credentials = {
account: 'companyName',
username: 'dev',
password: 'VLm5PpiZST6U',
apikey: 'ZSksD88s-F7Uf'
}
config = {
lang: :de,
format: :json,
useUTF8: true
}
params = credentials.merge config
webfleet_connect = WebfleetConnect.create(params)
Methods list
Mesage queues:
Objects:
- show_object_report_extern
- show_vehicle_report_extern
- show_nearest_vehicles
- show_contracts
- update_vehicle
- show_object_groups
- show_object_group_objects
- attach_object_to_group
- detach_object_from_group
- insert_object_group
- delete_object_group
- update_object_group
- switch_output
- show_wakeup_timers
- update_wakeup_timers
- get_object_features
- update_contract_info
- get_object_can_signals
- get_object_can_malfunctions
- get_electric_vehicle_data
- get_active_asset_couplings
Orders:
- send_order_extern
- send_destination_order_extern
- update_order_extern
- update_destination_order_extern
- insert_destination_order_extern
- cancel_order_extern
- assign_order_extern
- reassign_order_extern
- delete_order_extern
- clear_orders_extern
- show_order_report_extern
- show_order_waypoints
Messages:
- send_text_message_extern
- clear_text_messages_extern
- show_messages
- send_binary_message
- reset_binary_messages
- clear_binary_messages
Drivers:
- show_driver_report_extern
- insert_driver_extern
- update_driver_extern
- delete_driver_extern
- show_opti_drive_indicator
- show_driver_groups
- show_driver_group_drivers
- attach_driver_to_group
- detach_driver_from_group
- insert_driver_group
- delete_driver_group
- update_driver_group
- attach_driver_to_vehicle
- detach_driver_from_vehicle
- get_driver_rdt_rules
- update_driver_rdt_rules
Addresses:
- show_address_report_extern
- show_address_group_report_extern
- show_address_group_address_report_extern
- insert_address_extern
- updateAddressExtern
- delete_address_extern
- attach_address_to_group_extern
- detach_address_from_group_extern
- insert_address_group_extern
- delete_address_group_extern
Events:
- show_event_report_extern
- acknowledge_event_extern
- resolve_event_extern
- get_event_forward_configs
- get_event_forward_config_recipients
- insert_event_forward_config
- update_event_forward_config
- delete_event_forward_config
Trips and working times:
- show_trip_report_extern
- show_trip_summary_report_extern
- show_tracks
- update_logbook
- show_logbook
- show_logbook_history
- update_logbook_mode
- update_logbook_driver
- show_working_times
- show_stand_stills
- show_idle_exceptions
- get_object_kpis
- get_driver_kpis
- get_remaining_driving_times_eu
Miscellaneous reports:
- get_charger_connections
- show_io_report_extern
- show_acceleration_events
- show_speeding_events
- show_digital_input_state_mileage
- get_charger_connections
Geocoding and routing:
Configuration and security:
- show_settings
- create_session
- terminate_session
- show_account_order_states
- update_account_order_state
- show_account_order_automations
- update_account_order_automation
- get_account_status_messages
- get_status_messages
- set_vehicle_config
- get_vehicle_config
- set_status_messages
- set_account_status_messages
User management:
Vehicle maintenance:
- insert_maintenance_schedule
- update_maintenance_schedule
- delete_maintenance_schedule
- show_maintenance_schedules
- show_maintenance_tasks
- resolve_maintenance_task
Reporting:
- get_archived_report_list
- get_archived_report
- delete_archived_report
- get_report_list
- create_report
- send_report_via_mail
Areas:
- get_areas
- insert_area
- delete_area
- update_area
- get_area_points
- get_area_assignments
- insert_area_assignment
- delete_area_assignment
- get_area_schedules
- insert_area_schedule
- delete_area_schedule
LINK.connect:
- send_aux_device_data
- get_local_aux_device_config
- configure_local_aux_device
- get_remote_aux_device_config
- configure_remote_aux_device
- remove_remote_aux_device_config
- clear_aux_device_data_queue
- reset_aux_device_data
Plugins: