Overview - Migration v2.2 to v2.3
Info: Stellantis Mobile SDK is not publicly available.
This page list the breaking changes introduced from v2.2 to v2.3 of of Stellantis Connected Vehicles SDK. The following APIs should be modified in your integration when updating the SDK. If you are looking for new features introduced in v2.3, check-out the changelog.
- Enabling the Bluetooth Service
- Selecting VINs
SendToNav - Set - pims.vehicle.service #
- This API now allows to work with all bluetooth services (except O2X), not only SendToNav.
- The “vins” object has been added as a new parameter.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
pims.set("pims.vehicle.service",
mapOf( /* parameters */
Pair("action", "start"),
Pair("service", "bluetooth"),
Pair("vins", mapOf(
mapOf(
Pair("vin", "VR1AB12C3D4567890"),
Pair("gdpr", true))
),
mapOf(
Pair("vin", "VR1AB12C3D4567891"),
Pair("gdpr", false)
)
)
)
) { message -> /* handle message */ }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
pims.set(api: "pims.vehicle.service",
parameters: [
"action": "start",
"service": "bluetooth",
"vins": [
[
"vin": "VR1AB12C3D4567890",
"gdpr": true
],
[
"vin": "VR1AB12C3D4567891",
"gdpr": false
]
]
]
) { (message) in /* handle message */ }
1
2
3
4
5
6
// representation of the `succeeded` dictionary object message as JSON
{
"transactionId": "953cfefb-bc72",
"status": "SUCCEEDED",
"result": null
}
false
TripNDrive - Subscribe - pims.vehicle.trips #
- This API doesn’t start TripNDrive service anymore. You should use set-pims.vehicle.service.
- The “vins” object parameter has been removed.
1
2
3
4
5
6
/* Subscribe, see unsubscribe below */
pims.subscribe("pims.vehicle.trips"
) { message -> /* handle message */ }
/* Unsubscribe */
pims.unsubscribe( "pims.vehicle.trips" /* no params */ )
1
2
3
4
5
6
/* Subscribe, see unsubscribe below */
pims.subscribe(api: "pims.vehicle.trips"
) { (message) in /* handle message */ }
/* Unsubscribe */
pims.unsubscribe( api: "pims.vehicle.trips" /* no params */ )
1
2
3
4
5
6
// representation of the `succeeded` dictionary object message as JSON
{
"transactionId": "953cfefb-bc72",
"status": "SUCCEEDED",
"result": { }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// representation of the `result` dictionary object message as JSON
{
"transactionId": "953cfefb-bc72",
"status": "RESULT",
"result": {
"type": "Current",
"trip": {
"alerts": [2,59,70], "category": "WORK",
"createdAt": "2021-03-30T08:18:20.143Z", "daysUntilNextMaintenance": 27,
"destination": { "altitude": 1034, "city": "Paris", "country": "France",
"date": "2020-11-02T02:50:12.208Z", "intersection": "Rue de Rennes, Boulevard Saint-Germain",
"latitude": 8.74301, "longitude": 8.74301, "mileage": 10762,
"postalCode": 75019, "quality": 1, "street": "Rue de Rennes", "streetNumber": "16 Bis" },
"distance": 42, "distanceToNextMaintenance": 596,
"end": { "altitude": 1034, "city": "Paris", "country": "France",
"date": "2020-11-02T02:50:12.208Z", "intersection": "Rue de Rennes, Boulevard Saint-Germain",
"latitude": 8.74301, "longitude": 8.74301, "mileage": 10762,
"postalCode": 75019, "quality": 1, "street": "Rue de Rennes", "streetNumber": "16 Bis" },
"fuelAutonomy": 150, "fuelConsumption": 3242500, "fuelLevel": 84,
"id": 71, "maintenancePassed": true, "mergedIds": [2, 59, 70], "otherEnergyAutonomy": 98,
"otherEnergyConsumption": 817, "otherEnergyDistance": 48, "otherEnergyLevel": 20,
"otherEnergyType": 1, "priceElectric": 0.85, "priceFuel": 1.27, "source": "CEA",
"start": { "altitude": 1034, "city": "Paris", "country": "France",
"date": "2020-11-02T02:50:12.208Z", "intersection": "Rue de Rennes, Boulevard Saint-Germain",
"latitude": 8.74301, "longitude": 8.74301, "mileage": 10762,
"postalCode": 75019, "quality": 1, "street": "Rue de Rennes", "streetNumber": "16 Bis" },
"travelTime": 748, "tripNumber": 7, "updatedAt": "2021-03-31T18:07:01.737Z",
"user": "uzumaqui.naruto@stellantis.com", "vin": "VR1AB12C3D45678909"
}
}
}
false
SendToNav/TripNDrive/Carkey - Set - pims.vehicle.vin #
- This API allows to select a vehicle before using another API.
1
2
3
4
5
6
pims.set("pims.vehicle.vin",
mapOf( /* parameters */
Pair("vin", "VR1AB12C3D45678909")
)
) { message -> /* handle message */ }
1
2
3
4
5
6
pims.set(api: "pims.vehicle.vin",
parameters: [
"vin": "VR1AB12C3D45678909"
]
) { (message) in /* handle message */ }
1
2
3
4
5
6
// representation of the `succeeded` dictionary object message as JSON
{
"transactionId": "953cfefb-bc72",
"status": "SUCCEEDED",
"result": null
}
false
TripNDrive - Get - pims.vehicle.price #
- This API now require first setting vin with set-pims.vehicle.vin.
- The “vin” parameter has been removed.
1
2
3
pims.get("pims.vehicle.price"
) { message -> /* handle message */ }
1
2
3
pims.get(api: "pims.vehicle.price"
) { (message) in /* handle message */ }
1
2
3
4
5
6
7
8
9
// representation of the `succeeded` dictionary object message as JSON
{
"transactionId": "953cfefb-bc72",
"status": "SUCCEEDED",
"result": {
"priceFuel": 1.27,
"priceElectric": 0.85
}
}
false
TripNDrive - Set - pims.vehicle.price #
- This API now require first setting vin with set-pims.vehicle.vin.
- The “vin” parameter has been removed.
1
2
3
4
5
6
7
pims.set("pims.vehicle.price",
mapOf( /* parameters */
Pair("priceFuel", 1.27),
Pair("priceElectric", 0.85)
)
) { message -> /* handle message */ }
1
2
3
4
5
6
7
pims.set(api: "pims.vehicle.price",
parameters: [
"priceFuel": 1.27,
"priceElectric": 0.85
]
) { (message) in /* handle message */ }
1
2
3
4
5
6
// representation of the `succeeded` dictionary object message as JSON
{
"transactionId": "953cfefb-bc72",
"status": "SUCCEEDED",
"result": { }
}
false
SendToNav - Get - pims.vehicle.privacy #
- This API now require first setting vin with set-pims.vehicle.vin.
- The “vin” parameter has been removed.
- This API has been transferred from SendToNav to BTConnectivity component.
1
2
3
pims.get("pims.vehicle.privacy"
) { message -> /* handle message */ }
1
2
3
pims.get(api: "pims.vehicle.privacy"
) { (message) in /* handle message */ }
1
2
3
4
5
6
7
8
// representation of the `succeeded` dictionary object message as JSON
{
"transactionId": "953cfefb-bc72",
"status": "SUCCEEDED",
"result": {
"privacy": "fullPrivate"
}
}
false
SendToNav - Set - pims.vehicle.destination #
- This API now require first setting VIN with set-pims.vehicle.vin.
- The “vin” parameter has been removed.
- These changes affects pims.vehicle.destination-extension & pims.vehicle.destination-coordinates.
1
2
3
4
5
6
7
8
pims.set("pims.vehicle.destination",
mapOf( /* parameters */
Pair("action", "extension"),
Pair("preserve", true),
Pair("extensionInformation", "https://goo.gl/maps/8VPNW6yTfHgPPqb16")
)
) { message -> /* handle message */ }
1
2
3
4
5
6
7
8
pims.set(api: "pims.vehicle.destination",
parameters: [
"action": "extension",
"preserve": true,
"extensionInformation": "https://goo.gl/maps/8VPNW6yTfHgPPqb16"
]
) { (message) in /* handle message */ }
1
2
3
4
5
6
7
8
// representation of the `succeeded` dictionary object message as JSON
{
"transactionId": "953cfefb-bc72",
"status": "SUCCEEDED",
"result": {
"status": "sent"
}
}
false
Carkey - Get - pims.vehicle.carkey #
- This API now require first setting vin with set-pims.vehicle.vin.
- The “vin” parameter has been removed.
1
2
3
pims.get("pims.vehicle.carkey"
) { message -> /* handle message */ }
1
2
3
pims.get(api: "pims.vehicle.carkey"
) { (message) in /* handle message */ }
1
2
3
4
5
6
7
8
9
10
// representation of the `succeeded` dictionary object message as JSON
{
"transactionId": "953cfefb-bc72",
"status": "SUCCEEDED",
"result": {
"isCarKeyVerified": "true",
"cvsStatus": "active",
"maxReactivationDate": "2021-07-29T22:25:09.898Z"
}
}
false