Expand Minimize Picture-in-picture Power Device Status Voice Recognition Skip Back Skip Forward Minus Plus Play Search
Internet Explorer alert
This browser is not recommended for use with smartdevicelink.com, and may not function properly. Upgrade to a different browser to guarantee support of all features.
close alert
To Top Created with Sketch. To Top
To Bottom Created with Sketch. To Bottom
HMI Documentation
OnSystemRequest

OnSystemRequest

Type
Notification
Sender
SDL
Purpose
A request from SDL to download data via a connected application.

HTTP flow

  • SDL sends the Policy Table Snapshot (PTS) as binary data via an OnSystemRequest mobile request from the system to the back-end. Both the url that the PTS will be forwarded to and the timeout must be taken from the Local Policy Table.
    • If no url is provided in the Local Policy Table, it is supposed that the mobile application will send the Policy Table Update data back to SDL.

RequestType defines the type of the requested data from a mobile device or the cloud. The HMI may request this data, but it is SDL's responsibility to block a SystemRequest in case the request intends to transfer a data type not allowed by the Policy Table.
requestSubType is filled for supporting OEM proprietary data exchanges.

The HMI is informed about requestTypes, requestSubType that are allowed by policies via OnAppPermissionChanged and OnAppRegistered.

Note

If the HMI sends OnSystemRequest with a request type disallowed by the Policy Table, SDL will ignore it.
In case the Policy Table contains some value for requestSubType param and the HMI sends OnSystemRequest with requestSubType=<not_in_PT>, SDL does not forward this notification to mobile app.

SyncP NOTE
1. It is SyncP's responsibility to encrypt and encode PTS file and provide it to SDL via OnSystemRequest HMI API (filename) parameter.
2. It is SyncP's responsibility to choose an application for sending PTU and start timer (for future retry strategy) after sending OnSystemRequest to SDL.

Must
  1. Send OnSystemRequest, if specific data is requested from the mobile device/cloud, or binary data needs to be sent to the mobile device.
  2. Send OnSystemRequest with requestType=OEM_SPECIFIC and requestSubType=VEHICLE_DATA_MAPPING to SDL to get OEM Network Mapping table.
  3. NOT send OnSystemRequest to SDL while delivering PTS to the policy server using the in-vehicle modem.
  4. Send OnSystemRequest to SDL (to forward it to a mobile app) in case HMI can't successfully retrieve PTU from the policy server using the in-vehicle modem.

Notification

Parameters

Name Type Mandatory Additional
requestType Common.RequestType true
requestSubType String false maxlength: 255
url String false minlength: 1
fileType Common.FileType false
offset Integer false minvalue: 0
maxvalue: 100000000000
length Integer false minvalue: 0
maxvalue: 100000000000
timeout Integer false minvalue: 0
maxvalue: 2000000000
fileName String true minlength: 1
maxlength: 255
appID Integer false

Sequence Diagrams

JSON Message Examples

Example Notification

{
  "jsonrpc" : "2.0",
  "method" : "BasicCommunication.OnSystemRequest",
  "params" :
  {
    "fileName":"/fs/images/ivsu_cache/EncodedPolicyTable.json",
     "fileType":"JSON",
     "length":0,
     "offset":0,
     "requestType":"PROPRIETARY",
     "timeout":1000,
     "url":"https://policies.smartdevicelink.org/api/1/policies"
    }
}
View on GitHub.com
Previous Section Next Section