Mobile SDK

iOS or Android

    API Reference - pims.vehicle.connection

    Info: Stellantis Mobile SDK for ex Groupe PSA brands (Citroën, DS, Peugeot, Opel and Vauxhall) is not publicly available for now.
    Available since: v2.0.X
    Component: TripNDrive
    Security: Authentication is required.
    Operations:

    This API will forward connection events when the Trip service will be enabled.

    Enabling the Trips is done using SUBSCRIBE pims.vehicle.trips . That’s why you should subscribe to pims.vehicle.connection before.

    Input Parameter
    No params
    Output Data
    Data name Description Type Unit/Values Example
    vin

    Vehicle’s VIN. It can be null if no VIN connected.

    String

    n/a

    VR1AB12C3D45678909
    protocol

    Field present if vin!=null

    Enum of Strings

    - CEA

    - Altran
    CEA
    model

    Field present if vin!=null

    Enum of Strings

    - SMEG

    - NAC

    - RCC

    - RCE

    - AIO_NAC

    - AIO_RCC

    - IVI
    NAC
    version
    Protocol version (SemVer format). Field present if vin!=null. Field has value if protocol=="CEA". With protocol=="Altran" value is empty ("")

    String

    n/a

    1.0.2
    privacy

    Field present if vin!=null. For Altran connections, value will be always "Unknown".

    Enum of Strings

    - Full

    - Geolocation

    - None

    - Unknown
    Full
    Error
    No errors
    Code Example
    1
    2
    3
    4
    5
    6
    7
    
    pims.get("pims.vehicle.connection"
      /* no params */
    ) { message -> when (message["status"] as? String) {
          "SUCCEEDED" -> { }                          // handle succeeded status
          "FAILED" ->    { }                          // handle failed status
      } }
    
    1
    2
    3
    4
    5
    6
    7
    
    pims.get(api: "pims.vehicle.connection"
      /* no params */
      ) { (message) in 
        if message["status"] == "SUCEEDED"    { }    // handle succeeded status
        else if message["status"] == "FAILED" { }    // handle failed status
      } 
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    // representation of the `succeeded` dictionary object message as JSON
    {
      "transactionId": "953cfefb-bc72",
      "status": "SUCCEEDED",
      "result": { 
      "vin": "VR1AB12C3D45678909",
      "protocol": "CEA",
      "model": "NAC",
      "version": "1.0.2",
      "privacy": "Full"
    } 
    }
    

    false

    This API will forward connection events when the Trip service will be enabled.

    Enabling the Trips is done using SUBSCRIBE pims.vehicle.trips . That’s why you should subscribe to pims.vehicle.connection before.

    Notification will be sent depending on nature of Head Unit:

    • CEA: Once CEA session is opened
    • Altran: Once authentication is done

    The unsubscribe api removes registration on connection change status. Any parameter required for this api.

    Input Parameter
    No params
    Output Data
    Data name Description Type Unit/Values Example
    vin

    Vehicle Identification Number

    String

    n/a

    VR1AB12C3D4567890
    status

    Connection status.

    Enum of Strings

    - Connected

    - Disconnected
    Connected
    protocol

    Field present if status == "Connected".

    Enum of Strings

    - CEA

    - Altran
    CEA
    model

    Field present if status == "Connected".

    Enum of Strings

    - SMEG

    - NAC

    - RCC

    - RCE

    - AIO_NAC

    - AIO_RCC

    - IVI
    NAC
    version

    Protocol version (SemVer format). Field present if status == "Connected". Field has value if protocol=="CEA". With protocol=="Altran" value is empty ("").

    String

    n/a

    1.0.2
    privacy

    Field present if status == "Connected". For Altran connections, value will be always "Unknown".

    Enum of Strings

    - Full

    - Geolocation

    - None

    - Unknown
    Full
    Error
    Error Code Error Label
    2001

    Facade not initialized

    Code Example
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    /* Subscribe, see unsubscribe below */
    pims.subscribe("pims.vehicle.connection"
      /* no params */
    ) { message -> when (message["status"] as? String) {
          "SUCCEEDED" -> { }                          // handle succeeded status
          "FAILED" ->    { }                          // handle failed status
          "RESULT" ->    {
            if(message["error"] != null) { }            // handle error event code
            else { }                                 // handle result event code
          }
      } }
    
    /* Unsubscribe */
    pims.unsubscribe( "pims.vehicle.connection" /* no params */ )
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    /* Subscribe, see unsubscribe below */
    pims.subscribe(api: "pims.vehicle.connection"
      /* no params */
      ) { (message) in 
        if message["status"] == "SUCEEDED"    { }    // handle succeeded status
        else if message["status"] == "FAILED" { }    // handle failed status
        else if status == "RESULT" {
          if !message["error"].isEmpty { }            // handle error event code
          else { }                                    // handle result event code
        }
      } 
    
    /* Unsubscribe */
    pims.unsubscribe( api: "pims.vehicle.connection" /* no params */ )
    
    1
    2
    3
    4
    5
    6
    
    // representation of the `succeeded` dictionary object message as JSON
    {
      "transactionId": "953cfefb-bc72",
      "status": "SUCCEEDED",
      "result": null
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    // representation of the `result` dictionary object message as JSON
    {
      "transactionId": "953cfefb-bc72",
      "status": "RESULT",
      "result": { 
        "": "",
        "status": "Connected",
        "protocol": "CEA",
        "model": "NAC",
        "version": "1.0.2",
        "privacy": "Full"
      } 
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    // representation of the `failed` dictionary objects messages as JSON
    
    /* -------- STATUS FAILED: 2001 -------- */
    {
      "transactionId": "953cfefb-bc72",
      "status": "FAILED",
      "error": {
        "code": 2001,
        "label": "Facade not initialized"
      }
    }