HTTP flow
OnSystemRequest mobile request from the system to the backend. Both the "url" that the PTS will be forwarded to and the "timeout" must be taken from the Local Policy Table.RequestType defines the type of the requested data from a mobile device or the cloud. The HMI may request this data, but it's 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.
If the HMI sends OnSystemRequest with a request type disallowed by the policy table, SDL will ignore it.
In case PT 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's SyncP responsibility to encrypt and encode PTS file and provide it to SDL via OnSystemRequest HMI API ("filename") parameter.
2. It's SyncP responsibility to choose an application for sending PTU and start timer (for future retry strategy) after sending OnSystemRequest to SDL.
HMI must send OnSystemRequest, if specific data is requested from the mobile device/cloud, or binary data needs to be sent to the mobile device.
| Name | Type | Mandatory | Additional |
|---|---|---|---|
| requestType | Common.RequestType | true | |
| requestSubType | String | false | maxlength: 255 |
| url | String | false | minlength: 1 maxlength: 1000 |
| 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 | String | false | minlength: 1 maxlength: 50 |
{ "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" } }