Skip to content

Latest commit

 

History

History
4080 lines (3874 loc) · 107 KB

README.adoc

File metadata and controls

4080 lines (3874 loc) · 107 KB

API Documentation

API v1.1

Message Format

AAAABCCCCCCCCDDD…​DDD(EEE…​EEE)

A

hexencoded message length (hex byte count)

B

1 following data is hexencoded, 0 following data is raw

C

message header, one byte per attribute

MP_DispatcherHeaderModule

DEFINITIONS
AUTOMATIC TAGS ::=
BEGIN
MP_DispatcherHeader ::= SEQUENCE
{
  dispatcherBodyEncoding INTEGER(0..2),
  dispatcherMessageLength INTEGER(0..255),
  protocolVersion INTEGER(0..255),
  securityContext INTEGER(0..255)
}

END
D

message body, encoding defined by message header, usually PER

MP_DispatcherBodyModule

DEFINITIONS
AUTOMATIC TAGS ::=
BEGIN
MP_DispatcherBody ::= SEQUENCE
{
  uid IA5String(SIZE(50)) OPTIONAL,
  token IA5String(SIZE(40)) OPTIONAL,
  applicationID IA5String(SIZE(3)),
  vin IA5String(SIZE(17)) OPTIONAL,
  eventCreationTime INTEGER(0..4294967295),
  eventID INTEGER(0..281474976710655) OPTIONAL,
  messageID INTEGER(0..255),
  messageCounter MessageCounter OPTIONAL,
  ackRequired BOOLEAN OPTIONAL,
  statelessDispatcherMessage BOOLEAN OPTIONAL,
  crqmRequest BOOLEAN OPTIONAL,
  basicPosition BasicPosition OPTIONAL,
  networkInfo NetworkInfo OPTIONAL,
  simInfo NumericString(SIZE(19)) OPTIONAL,
  hmiLanguage LanguageType OPTIONAL,
  iccID NumericString(SIZE(20)),
  applicationDataLength INTEGER(0..4294967295),
  applicationDataEncoding DataEncodingType OPTIONAL,
  applicationDataProtocolVersion INTEGER(0..65535),
  testFlag INTEGER(1..3) OPTIONAL,
  result INTEGER(0..65535) OPTIONAL,
  errorMessage OCTET STRING(SIZE(1..1024)) OPTIONAL
}
MessageCounter ::= SEQUENCE
{
  uplinkCounter INTEGER(0..255),
  downlinkCounter INTEGER(0..255)
}
BasicPosition ::= SEQUENCE
{
  latitude INTEGER(-90000000..90000000),
  longitude INTEGER(-180000000..180000000)
}
NetworkInfo ::= SEQUENCE
{
  mccNetwork NumericString(SIZE(3)),
  mncNetwork NumericString(SIZE(3)),
  mccSim NumericString(SIZE(3)),
  mncSim NumericString(SIZE(3)),
  signalStrength INTEGER(0..99)
}
LanguageType ::= ENUMERATED
{
  simplifiedChinese(0),
  english(1),
  spanish(2),
  arabic(3),
  hindi(4)
}
DataEncodingType ::= ENUMERATED
{
  perUnaligned(0),
  der(1),
  ber(2)
}

END
E

optional application data, encoding defined by message body, usually PER

ApplicationDataModule

DEFINITIONS
AUTOMATIC TAGS ::=
BEGIN
AlarmSwitchReq ::= SEQUENCE
{
  pin IA5String(SIZE(32)),
  alarmSwitchList SEQUENCE SIZE(1..16) OF AlarmSwitch,
  description OCTET STRING(SIZE(0..500)) OPTIONAL
}
MPUserInfoResp ::= SEQUENCE
{
  nickName OCTET STRING(SIZE(1..50)) OPTIONAL,
  address OCTET STRING(SIZE(1..500)) OPTIONAL,
  mobilePhone IA5String(SIZE(1..19)) OPTIONAL,
  emergencyName OCTET STRING(SIZE(1..50)) OPTIONAL,
  emergencyMobile IA5String(SIZE(1..19)) OPTIONAL,
  userPhoto IA5String(SIZE(1..128)) OPTIONAL,
  gender OCTET STRING(SIZE(1)) OPTIONAL,
  birthday IA5String(SIZE(8)) OPTIONAL,
  languageType LanguageType OPTIONAL,
  realName OCTET STRING(SIZE(1..150)) OPTIONAL,
  theSecondLevelCountryCode IA5String(SIZE(1..100)) OPTIONAL,
  theThirdLevelCountryCode IA5String(SIZE(1..100)) OPTIONAL,
  theSecondLevelCountryName OCTET STRING(SIZE(1..200)) OPTIONAL,
  theThirdLevelCountryName OCTET STRING(SIZE(1..200)) OPTIONAL,
  email IA5String(SIZE(0..50)) OPTIONAL
}
MP_UserLoggingInReq ::= SEQUENCE
{
  password IA5String(SIZE(6..30)),
  deviceId IA5String(SIZE(1..200)) OPTIONAL
}
MP_UserLoggingInResp ::= SEQUENCE
{
  token IA5String(SIZE(40)) OPTIONAL,
  refreshToken IA5String(SIZE(40)) OPTIONAL,
  tokenExpiration Timestamp OPTIONAL,
  vinList SEQUENCE SIZE(1..256) OF VinInfo OPTIONAL,
  userPhoto IA5String(SIZE(1..128)) OPTIONAL,
  userName IA5String(SIZE(8..12)),
  languageType LanguageType OPTIONAL
}
APPUpgradeInfoReq ::= SEQUENCE
{
  appType APPType,
  appVersion IA5String(SIZE(1..50))
}
APPUpgradeInfoResp ::= SEQUENCE
{
  hasNewVersion BOOLEAN,
  appVersion IA5String(SIZE(1..50)) OPTIONAL,
  forcedUpdate BOOLEAN OPTIONAL,
  updateUrl IA5String(SIZE(1..200)) OPTIONAL,
  updateInfoEn OCTET STRING(SIZE(1..500)) OPTIONAL,
  updateInfoTh OCTET STRING(SIZE(1..500)) OPTIONAL
}
MPAppAttributeResp ::= SEQUENCE
{
  dataAppAttribute IA5String(SIZE(1..65535)) OPTIONAL
}
AdvertiseResp ::= SEQUENCE
{
  advertiseVersion INTEGER(0..281474976710655) OPTIONAL,
  advertises SEQUENCE SIZE(0..255) OF Advertise OPTIONAL
}
AbortSendMessageReq ::= SEQUENCE
{
  messages SEQUENCE SIZE(1..256) OF Message OPTIONAL,
  messageId INTEGER(0..281474976710655) OPTIONAL,
  actionType IA5String(SIZE(1..20)) OPTIONAL
}
MessageListReq ::= SEQUENCE
{
  startEndNumber StartEndNumber,
  messageGroup IA5String(SIZE(1..20)) OPTIONAL
}
MessageListResp ::= SEQUENCE
{
  recordsNumber INTEGER(0..281474976710655),
  messages SEQUENCE SIZE(1..256) OF Message OPTIONAL
}
GetUnreadMessageCountResp ::= SEQUENCE
{
  totalNumber INTEGER(0..281474976710655),
  newsNumber INTEGER(0..281474976710655),
  commandNumber INTEGER(0..281474976710655),
  alarmNumber INTEGER(0..281474976710655)
}
SetNotificationCountReq ::= SEQUENCE
{
  notificationCount INTEGER(0..255)
}
PINVerificationReq ::= SEQUENCE
{
  pin IA5String(SIZE(32))
}
AlarmSwitch ::= SEQUENCE
{
  alarmSettingType MP_AlarmSettingType,
  alarmSwitch BOOLEAN,
  functionSwitch BOOLEAN
}
LanguageType ::= ENUMERATED
{
  thai(0),
  english(1),
  china(2),
  de(3),
  fr(4),
  es(5),
  nl(6),
  nn(7),
  da(8),
  sv(9),
  it(10),
  pt(11),
  pl(12),
  el(13),
  fi(14),
  arabic(15),
  hindi(16)
}
Timestamp ::= SEQUENCE
{
  seconds INTEGER(0..4294967295)
}
VinInfo ::= SEQUENCE
{
  vin IA5String(SIZE(17)),
  name OCTET STRING(SIZE(1..128)) OPTIONAL,
  series IA5String(SIZE(1..10)),
  brandName OCTET STRING(SIZE(1..24)),
  modelName OCTET STRING(SIZE(1..100)),
  vehiclePhoto IA5String(SIZE(1..128)) OPTIONAL,
  isAcivate BOOLEAN,
  isCurrentVehicle INTEGER(0..10) OPTIONAL,
  modelYear IA5String(SIZE(4)) OPTIONAL,
  colorName OCTET STRING(SIZE(1..50)) OPTIONAL,
  modelConfigurationJsonStr IA5String(SIZE(1..1024)) OPTIONAL,
  bindTime Timestamp OPTIONAL,
  tboxSimNo IA5String(SIZE(19)) OPTIONAL
}
APPType ::= ENUMERATED
{
  ios(0),
  android(1)
}
Advertise ::= SEQUENCE
{
  advertiseType IA5String(SIZE(3)) OPTIONAL,
  title OCTET STRING(SIZE(1..128)) OPTIONAL,
  photoUrl IA5String(SIZE(1..255)) OPTIONAL,
  detailsUrl IA5String(SIZE(1..255)) OPTIONAL,
  startTime Timestamp OPTIONAL,
  endTime Timestamp OPTIONAL
}
Message ::= SEQUENCE
{
  messageId INTEGER(0..281474976710655),
  messageType IA5String(SIZE(3)),
  title OCTET STRING(SIZE(1..128)),
  messageTime Timestamp,
  sender OCTET STRING(SIZE(1..64)),
  contentId SEQUENCE SIZE(1..256) OF ContentId OPTIONAL,
  content OCTET STRING(SIZE(1..2048)) OPTIONAL,
  readStatus INTEGER(-128..128) OPTIONAL
}
StartEndNumber ::= SEQUENCE
{
  startNumber INTEGER(0..281474976710655),
  endNumber INTEGER(0..281474976710655)
}
Message ::= SEQUENCE
{
  messageId INTEGER(0..281474976710655),
  messageType IA5String(SIZE(3)),
  title OCTET STRING(SIZE(1..128)),
  messageTime Timestamp,
  sender OCTET STRING(SIZE(1..64)),
  contentId SEQUENCE SIZE(1..256) OF ContentId OPTIONAL,
  content OCTET STRING(SIZE(1..2048)) OPTIONAL,
  readStatus INTEGER(-128..128) OPTIONAL,
  vin IA5String(SIZE(17)) OPTIONAL
}
MP_AlarmSettingType ::= ENUMERATED
{
  abnormal(0),
  moving(1),
  region(2),
  engineStart(3),
  startVehicleStatus(4),
  offCar(5),
  speeding(6)
}
Timestamp ::= SEQUENCE
{
  seconds INTEGER(0..4294967295)
}
ContentId ::= SEQUENCE
{
  contentId INTEGER(0..281474976710655)
}
ContentId ::= SEQUENCE
{
  contentId INTEGER(0..281474976710655),
  description OCTET STRING(SIZE(1..255)) OPTIONAL
}

END

Message Types

App Version

Request

0065111002A00082C6B11AB19B209000808011A2B3C4D0D4C3B2A1911A2B3C4D091A2B3C4D08000000300402888C57315CD80
{
  "applicationData":{
    "@ASN1Type":"APPUpgradeInfoReq",
    "appType":"android",
    "appVersion":"1.1.6"
  },
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":6,
    "applicationDataProtocolVersion":513,
    "applicationID":"5D5",
    "basicPosition":null,
    "basicPositionPresent":false,
    "crqmRequest":null,
    "crqmRequestPresent":false,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1664500000,
    "eventID":null,
    "eventIDPresent":false,
    "hmiLanguage":null,
    "hmiLanguagePresent":false,
    "iccID":"12345678901234567890",
    "messageCounter":{
      "@ASN1Type":"MessageCounter",
      "downlinkCounter":0,
      "uplinkCounter":1
    },
    "messageCounterPresent":true,
    "messageID":1,
    "networkInfo":null,
    "networkInfoPresent":false,
    "result":null,
    "resultPresent":false,
    "simInfo":"1234567890987654321",
    "simInfoPresent":true,
    "statelessDispatcherMessage":null,
    "statelessDispatcherMessagePresent":false,
    "testFlag":2,
    "testFlagPresent":true,
    "token":null,
    "tokenPresent":false,
    "uid":null,
    "uidPresent":false,
    "vin":null,
    "vinPresent":false
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":42,
    "protocolVersion":17,
    "securityContext":0
  }
}

Response

00A5111004F00482EB162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C586B11AB19B209001008091A2B3C4D0D4C3B2A1911A2B3C4D091A2B3C4D080000000804028000040
{
  "applicationData":{
    "@ASN1Type":"APPUpgradeInfoResp",
    "appVersion":null,
    "appVersionPresent":false,
    "forcedUpdate":false,
    "forcedUpdatePresent":true,
    "hasNewVersion":false,
    "updateInfoEn":null,
    "updateInfoEnPresent":false,
    "updateInfoTh":null,
    "updateInfoThPresent":false,
    "updateUrl":null,
    "updateUrlPresent":false
  },
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":1,
    "applicationDataProtocolVersion":513,
    "applicationID":"5D5",
    "basicPosition":null,
    "basicPositionPresent":false,
    "crqmRequest":null,
    "crqmRequestPresent":false,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1664500000,
    "eventID":null,
    "eventIDPresent":false,
    "hmiLanguage":null,
    "hmiLanguagePresent":false,
    "iccID":"12345678901234567890",
    "messageCounter":{
      "@ASN1Type":"MessageCounter",
      "downlinkCounter":1,
      "uplinkCounter":1
    },
    "messageCounterPresent":true,
    "messageID":2,
    "networkInfo":null,
    "networkInfoPresent":false,
    "result":0,
    "resultPresent":true,
    "simInfo":"1234567890987654321",
    "simInfoPresent":true,
    "statelessDispatcherMessage":null,
    "statelessDispatcherMessagePresent":false,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "tokenPresent":true,
    "uid":null,
    "uidPresent":false,
    "vin":null,
    "vinPresent":false
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":79,
    "protocolVersion":17,
    "securityContext":0
  }
}

Unknown

Request

0059111002A00082C6B11B319B209000808011A2B3C4D0D4C3B2A1911A2B3C4D091A2B3C4D080000000004028
{
  "applicationData":null,
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":0,
    "applicationDataProtocolVersion":513,
    "applicationID":"5D6",
    "basicPosition":null,
    "basicPositionPresent":false,
    "crqmRequest":null,
    "crqmRequestPresent":false,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1664500000,
    "eventID":null,
    "eventIDPresent":false,
    "hmiLanguage":null,
    "hmiLanguagePresent":false,
    "iccID":"12345678901234567890",
    "messageCounter":{
      "@ASN1Type":"MessageCounter",
      "downlinkCounter":0,
      "uplinkCounter":1
    },
    "messageCounterPresent":true,
    "messageID":1,
    "networkInfo":null,
    "networkInfoPresent":false,
    "result":null,
    "resultPresent":false,
    "simInfo":"1234567890987654321",
    "simInfoPresent":true,
    "statelessDispatcherMessage":null,
    "statelessDispatcherMessagePresent":false,
    "testFlag":2,
    "testFlagPresent":true,
    "token":null,
    "tokenPresent":false,
    "uid":null,
    "uidPresent":false,
    "vin":null,
    "vinPresent":false
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":42,
    "protocolVersion":17,
    "securityContext":0
  }
}

Response

00BD111004F00482EB162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C586B11B319B209001008091A2B3C4D0D4C3B2A1911A2B3C4D091A2B3C4D08000000680402800008005E3C74346FDD95D3164D9B8
{
  "applicationData":{
    "@ASN1Type":"MPAppAttributeResp",
    "dataAppAttribute":"ccPhone:1267",
    "dataAppAttributePresent":true
  },
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":13,
    "applicationDataProtocolVersion":513,
    "applicationID":"5D6",
    "basicPosition":null,
    "basicPositionPresent":false,
    "crqmRequest":null,
    "crqmRequestPresent":false,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1664500000,
    "eventID":null,
    "eventIDPresent":false,
    "hmiLanguage":null,
    "hmiLanguagePresent":false,
    "iccID":"12345678901234567890",
    "messageCounter":{
      "@ASN1Type":"MessageCounter",
      "downlinkCounter":1,
      "uplinkCounter":1
    },
    "messageCounterPresent":true,
    "messageID":2,
    "networkInfo":null,
    "networkInfoPresent":false,
    "result":0,
    "resultPresent":true,
    "simInfo":"1234567890987654321",
    "simInfoPresent":true,
    "statelessDispatcherMessage":null,
    "statelessDispatcherMessagePresent":false,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "tokenPresent":true,
    "uid":null,
    "uidPresent":false,
    "vin":null,
    "vinPresent":false
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":79,
    "protocolVersion":17,
    "securityContext":0
  }
}

Unknown

Request

0059111002A00082C6B11BB19B209000808011A2B3C4D0D4C3B2A1911A2B3C4D091A2B3C4D080000000004028
{
  "applicationData":null,
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":0,
    "applicationDataProtocolVersion":513,
    "applicationID":"5D7",
    "basicPosition":null,
    "basicPositionPresent":false,
    "crqmRequest":null,
    "crqmRequestPresent":false,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1664500000,
    "eventID":null,
    "eventIDPresent":false,
    "hmiLanguage":null,
    "hmiLanguagePresent":false,
    "iccID":"12345678901234567890",
    "messageCounter":{
      "@ASN1Type":"MessageCounter",
      "downlinkCounter":0,
      "uplinkCounter":1
    },
    "messageCounterPresent":true,
    "messageID":1,
    "networkInfo":null,
    "networkInfoPresent":false,
    "result":null,
    "resultPresent":false,
    "simInfo":"1234567890987654321",
    "simInfoPresent":true,
    "statelessDispatcherMessage":null,
    "statelessDispatcherMessagePresent":false,
    "testFlag":2,
    "testFlagPresent":true,
    "token":null,
    "tokenPresent":false,
    "uid":null,
    "uidPresent":false,
    "vin":null,
    "vinPresent":false
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":42,
    "protocolVersion":17,
    "securityContext":0
  }
}

Response

00A3111004F00482EB162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C586B11BB19B209001008091A2B3C4D0D4C3B2A1911A2B3C4D091A2B3C4D0800000000040280000
{
  "applicationData":null,
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":0,
    "applicationDataProtocolVersion":513,
    "applicationID":"5D7",
    "basicPosition":null,
    "basicPositionPresent":false,
    "crqmRequest":null,
    "crqmRequestPresent":false,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1664500000,
    "eventID":null,
    "eventIDPresent":false,
    "hmiLanguage":null,
    "hmiLanguagePresent":false,
    "iccID":"12345678901234567890",
    "messageCounter":{
      "@ASN1Type":"MessageCounter",
      "downlinkCounter":1,
      "uplinkCounter":1
    },
    "messageCounterPresent":true,
    "messageID":2,
    "networkInfo":null,
    "networkInfoPresent":false,
    "result":0,
    "resultPresent":true,
    "simInfo":"1234567890987654321",
    "simInfoPresent":true,
    "statelessDispatcherMessage":null,
    "statelessDispatcherMessagePresent":false,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "tokenPresent":true,
    "uid":null,
    "uidPresent":false,
    "vin":null,
    "vinPresent":false
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":79,
    "protocolVersion":17,
    "securityContext":0
  }
}

VerifyPinCode

Request

014D111008800E82C60C183060C183060C183060C183060C183060C183060C183060C183060C183072C183060C183060E5CB972E5CB97361CB9B0E56B9B162C2D7362C585B61CD872B6C3972C1CB960E6C587361CB973619B16762C58B0E5CB072E6C5860E5CB972E58E536F800404008D159E2688D159E26848D159E26848D159E26840000007002014072E5CD86162C5872E5CB97361CD872E5CB972E5CB9B161CB9B162C30
{
  "applicationData":{
    "@ASN1Type":"PINVerificationReq",
    "pin":"999X0XXX99999X9X99999999XX99XXX0"
  },
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":28,
    "applicationDataProtocolVersion":513,
    "applicationID":"313",
    "basicPosition":null,
    "basicPositionPresent":false,
    "crqmRequest":null,
    "crqmRequestPresent":false,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1670700000,
    "eventID":null,
    "eventIDPresent":false,
    "hmiLanguage":null,
    "hmiLanguagePresent":false,
    "iccID":"12345678901234567890",
    "messageCounter":{
      "@ASN1Type":"MessageCounter",
      "downlinkCounter":0,
      "uplinkCounter":1
    },
    "messageCounterPresent":true,
    "messageID":1,
    "networkInfo":null,
    "networkInfoPresent":false,
    "result":null,
    "resultPresent":false,
    "simInfo":"1234567891234567890",
    "simInfoPresent":true,
    "statelessDispatcherMessage":null,
    "statelessDispatcherMessagePresent":false,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"999X99X9-9XXX-9XXX-X9X9-X9909909XX9X999X",
    "tokenPresent":true,
    "uid":"00000000000000000000000000000000000090000000099999",
    "uidPresent":true,
    "vin":"XXXX99099XX099999",
    "vinPresent":true
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":136,
    "protocolVersion":17,
    "securityContext":0
  }
}

pin is the MD5 of the 4 digit pin code suffixed with 00: md5sum(pin+"00")

Response

0119111008A00E82E60C183060C183060C183060C183060C183060C183060C183060C183060C183072C183060C183060E5CB972E5CB97361CB9B0E56B9B162C2D7362C585B61CD872B6C3972C1CB960E6C587361CB973619B16762C58B0E5CB072E6C5860E5CB972E58E536F800804048D159E2688D159E26848D159E26848D159E2684000000000201400000
{
  "applicationData":null,
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":0,
    "applicationDataProtocolVersion":513,
    "applicationID":"313",
    "basicPosition":null,
    "basicPositionPresent":false,
    "crqmRequest":null,
    "crqmRequestPresent":false,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1670700000,
    "eventID":null,
    "eventIDPresent":false,
    "hmiLanguage":null,
    "hmiLanguagePresent":false,
    "iccID":"12345678901234567890",
    "messageCounter":{
      "@ASN1Type":"MessageCounter",
      "downlinkCounter":1,
      "uplinkCounter":1
    },
    "messageCounterPresent":true,
    "messageID":2,
    "networkInfo":null,
    "networkInfoPresent":false,
    "result":0,
    "resultPresent":true,
    "simInfo":"1234567891234567890",
    "simInfoPresent":true,
    "statelessDispatcherMessage":null,
    "statelessDispatcherMessagePresent":false,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"999X99X9-9XXX-9XXX-X9X9-X9909909XX9X999X",
    "tokenPresent":true,
    "uid":"00000000000000000000000000000000000090000000099999",
    "uidPresent":true,
    "vin":"XXXX99099XX099999",
    "vinPresent":true
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":138,
    "protocolVersion":17,
    "securityContext":0
  }
}

Login

Request

01F5111005600882CB162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B161AB062C66C8240020200468ACF1343530ECA864468ACF1342468ACF1342000001440100A08952A54A952A54AABAC30B162C586162C58B161858B162C30B162C587562C5860C2C58B162FD8B162C58B0C1858B162C58B162C58BF62C586162C58B162C58B0B6C306161858B161830B162C30B162C58B162C586162C58B162C58617EFD8B162C586162C58B162C30B162C30B161830B162C58B162C58B162C58B162C306161858B162C58B162C58B161858B162C58B162C586162C58B08D1A3CBD796FE1971E1E4
{
  "applicationData":{
    "@ASN1Type":"MP_UserLoggingInReq",
    "deviceId":"X0XXXX0XXXXX0XXXX0XXXX:XXX00XXXX_XXXXXX00XXXXXXXXX_XXX0XXXXXXXX-X00X0XXX00XXX0XXXXXXXX0XXXXXXX0__XXXXX0XXXXXX0XXX0XX00XXXXXXXXXXXXXXX00X0XXXXXXXXXXX0XXXXXXXXX0XXXX###europecar",
    "deviceIdPresent":true,
    "password":"********"
  },
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":162,
    "applicationDataProtocolVersion":513,
    "applicationID":"501",
    "basicPosition":null,
    "basicPositionPresent":false,
    "crqmRequest":null,
    "crqmRequestPresent":false,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1664500000,
    "eventID":null,
    "eventIDPresent":false,
    "hmiLanguage":null,
    "hmiLanguagePresent":false,
    "iccID":"12345678901234567890",
    "messageCounter":{
      "@ASN1Type":"MessageCounter",
      "downlinkCounter":0,
      "uplinkCounter":1
    },
    "messageCounterPresent":true,
    "messageID":1,
    "networkInfo":null,
    "networkInfoPresent":false,
    "result":null,
    "resultPresent":false,
    "simInfo":"1234567890987654321",
    "simInfoPresent":true,
    "statelessDispatcherMessage":null,
    "statelessDispatcherMessagePresent":false,
    "testFlag":2,
    "testFlagPresent":true,
    "token":null,
    "tokenPresent":false,
    "uid":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "uidPresent":true,
    "vin":null,
    "vinPresent":false
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":86,
    "protocolVersion":17,
    "securityContext":0
  }
}

Response

0139111009A00C82FB162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B161AB062C66C8240040202468ACF1343530ECA864468ACF1342468ACF1342000000000100A75460EAA34329030B1B1B7BAB73A1034B9903737BA103932B3B4B9BA32B932B2170
{
  "applicationData":null,
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":0,
    "applicationDataProtocolVersion":513,
    "applicationID":"501",
    "basicPosition":null,
    "basicPositionPresent":false,
    "crqmRequest":null,
    "crqmRequestPresent":false,
    "errorMessage":"VGhlIGFjY291bnQgaXMgbm90IHJlZ2lzdGVyZWQu",
    "@errorMessageUTF8":"The account is not registered.",
    "errorMessagePresent":true,
    "eventCreationTime":1664500000,
    "eventID":null,
    "eventIDPresent":false,
    "hmiLanguage":null,
    "hmiLanguagePresent":false,
    "iccID":"12345678901234567890",
    "messageCounter":{
      "@ASN1Type":"MessageCounter",
      "downlinkCounter":1,
      "uplinkCounter":1
    },
    "messageCounterPresent":true,
    "messageID":2,
    "networkInfo":null,
    "networkInfoPresent":false,
    "result":15011,
    "resultPresent":true,
    "simInfo":"1234567890987654321",
    "simInfoPresent":true,
    "statelessDispatcherMessage":null,
    "statelessDispatcherMessagePresent":false,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "tokenPresent":true,
    "uid":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "uidPresent":true,
    "vin":null,
    "vinPresent":false
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":154,
    "protocolVersion":17,
    "securityContext":0
  }
}

The error message is a byte array, containing the UTF-8 String "The account is not registered."

{
  "applicationData":null,
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":0,
    "applicationDataProtocolVersion":513,
    "applicationID":"501",
    "basicPosition":null,
    "basicPositionPresent":false,
    "crqmRequest":null,
    "crqmRequestPresent":false,
    "errorMessage":"U29ycnksIHRoZSBhY2NvdW50IGhhcyBiZWVuIGxvY2tlZCwgcGxlYXNlIHRyeSBhZ2FpbiB0b21vcnJvdyBvciB5b3UgbWF5IHJlc2V0IHBhc3N3b3JkIGJ5IGNsaWNraW5nIOKAnGZvcmdldCBwYXNzd29yZOKAnWlmIHlvdSBmb3JnZXQgaXQu",
    "@errorMessageUTF8":"Sorry, the account has been locked, please try again tomorrow or you may reset password by clicking “forget password”if you forget it.",
    "errorMessagePresent":true,
    "eventCreationTime":1675200000,
    "eventID":9999,
    "eventIDPresent":true,
    "hmiLanguage":null,
    "hmiLanguagePresent":false,
    "iccID":"12345678901234567890",
    "messageCounter":{
      "@ASN1Type":"MessageCounter",
      "downlinkCounter":1,
      "uplinkCounter":1
    },
    "messageCounterPresent":true,
    "messageID":2,
    "networkInfo":null,
    "networkInfoPresent":false,
    "result":15033,
    "resultPresent":true,
    "simInfo":"1234567890987654321",
    "simInfoPresent":true,
    "statelessDispatcherMessage":null,
    "statelessDispatcherMessagePresent":false,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"09X09XX999X990X99X99XXX9X9099999X9XX099X",
    "tokenPresent":true,
    "uid":"00000000000000000000000000000000000#XX@XXXXXXXX.XX",
    "uidPresent":true,
    "vin":null,
    "vinPresent":false
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":268,
    "protocolVersion":17,
    "securityContext":0
  }
}

The error message is a byte array, containing the UTF-8 String "Sorry, the account has been locked, please try again tomorrow or you may reset password by clicking “forget password”if you forget it."

0915111007B00C82E60C183060C183060C183060C183060C183060C183060C183060C183060C183072C183060C183060E5CB972E6C39B161CD8B0C1CD860E5CB07362C397361CB97361CD8B16183972E5CD872E6C5872E5AB062C68B06C0040202468ACF1343530ECA864468ACF1342468ACF13420000081A0100A00000F6C39B161CD8B0E56B9B0E5CAD72C18395B62C5872B5CD872E6C3960E5CD860E6C3972E6C39B161CD8B0E56B9B0E5CAD72C18395B62C5872B5CD872E6C3960E5CD860E6C3972E58DB4BE8000FAC58B161CB960E5CD8B0C1CB972E5CAC5A0CA2506614D47169A8E6A408AD8CAC6E8E4D2C6164C19312D0931050D2F0A814115054933FADD876E575534F2CA83872CBCF9F5E59506DDFBB4F4DFCB4EECE839F9E7D32ED598F7E4CAEA5316EB3B61D9D72BA62EF761DB95D52CB9FAECC3C9061D3CB161CFCD663DF932BAA2C182CED87675CAE98BBDD876E5751B96FDDD16F3CB87A20C3A7962C39F9ACC7BF265754583159DB0ECEB95D3177BB0EDCAEA0E9E58B0E741CFBE9E98F42CC7BF265754583959DB0ECEB95D3177BB0EDCAEA9F5DC8296FDF99663DF932BAA6CDAACED87675CAE983BDD876E5754B2EDDFD32A0C7BF774E5BF62CC7BF265754DB3159DB0ECEB95D3177BB0EDCAEA0E9E4831EFDD934F4D3BF769DD9D663DF932BAA8C58ACED87675CAE98BBDD876E57517665C7D3969C68286FEF97920A7D32E5E5A7767598F7E4CAEA2D0A6B3B61D9D72BA62EF761DB95D53CB8FAF2D3D3CA0C3B32F2E8B31EFC995D5382D9A2CED87675CAE983162C58B160C183060C183060C183062C183060C183160C18B062C183060C183062C18B060C183060C183060C183060C183060C183162C1DEEC3B72BA85BF76EEBD1053E987A75E6B31EFC995D429F3A755A8B3B61D9D72BA62EF761DB95D44DFBF920A7D30F4EBCD663DF932BA893E7D259DB0ECEB95D3162C58BBDD876E5750B7EFE8829F4C3D3AF3598F7E4CAEA14F9F51676C3B3AE574C5DEEC3B72BA8BBB3E9DD95053E987A75E6B31EFC995D459D1E4CE8AB3B61D9D72BA62EF761DB95D45D9971F4E5A71A0AD97469C7B32ACC7BF2657516B2CED87675CAE983BDD876E575232E1E997253CB87A2CC7BF26575232E1E997253CB87A2CED87675CAE983BDD876E5752F2F941437F3D3D34EFDCB31EFC995D4B8B6684FA6B3B61D9D72BA62EF761DB95D45DD97967F2839F4C3D32ACC7BF2657516745A51ECACED87675CAE983BDD876E5750B0F4E997979415B7ECE9873E5598F7E4CAEA141A9522D2B2B3B61D9D72BA62EF761DB95D49DDD32F2D3BF920A9976F0CBCB0F4EBCB2ACC7BF26575267548B3682CED87675CAE98BBDD876E57517C74CBCB4EFE482A65DBC32F2C3D3AF2CAB31EFC995D45B1522CDA0B3B61D9D72BA62EF761DB95D57D3BB26FEE829F4C3D3AF3598F7E4CAEABC99D127D759DB0ECEB95D3060C183BDD876E575332E6E8B6969CFA3A2089CB4F6D3BB3ACC7BF265753294459DB0ECEB95D3077BB0EDCAEA16CEB97A6FDFD34209797CACC7BF265750AA4B8B65676C3B3AE574C1DEEC3B72BA8587A74CBCBCA0A9E7865598F7E4CAEA154F3C32ACED87675CAE9931913580262C99B46AD9BB872C060
{
  "applicationData":{
    "@ASN1Type":"MP_UserLoggingInResp",
    "languageType":"de",
    "languageTypePresent":true,
    "refreshToken":"X9XX9XX9-9X99-9009-XXX9-9X99X9099X09X999",
    "refreshTokenPresent":true,
    "token":"X9XX9XX9-9X99-9009-XXX9-9X99X9099X09X999",
    "tokenExpiration":{
      "@ASN1Type":"Timestamp",
      "seconds":1668100000
    },
    "tokenExpirationPresent":true,
    "tokenPresent":true,
    "userName":"1234567890",
    "userPhoto":null,
    "userPhotoPresent":false,
    "vinList":[
      {
        "@ASN1Type":"VinInfo",
        "bindTime":{
          "@ASN1Type":"Timestamp",
          "seconds":1663200000
        },
        "bindTimePresent":true,
        "brandName":"TUc=",
        "@brandNameUTF8":"MG",
        "colorName":"QkxBQ0vCoFBFQVJM",
        "@colorNameUTF8":"BLACK PEARL",
        "colorNamePresent":true,
        "isAcivate":false,
        "isCurrentVehicle":1,
        "isCurrentVehiclePresent":true,
        "modelConfigurationJsonStr":"name:Tire pressure monitoring system,code:J17,value:1;name:Regular airbags,code:Q00,value:1;name:Front-seat airbags,code:Q01,value:1;name:Airbag switch,code:Q09,value:1;name:Sun Roof,code:S35,value:0;name:Remote control,code:S61,value:1;name:Air conditioning,code:T11,value:1;name:Electric Power Steering,code:EPS,value:1;name:Security alert,code:SA64,value:0111110000000000001000000100101000000010100000000000000000000110;name:Bonnut Status,code:BONNUT,value:1;name:Door Status,code:DOOR,value:1111;name:Boot Status,code:BOOT,value:1;name:Engine Status,code:ENGINE,value:1;name:Electric Vehicle,code:EV,value:0;name:HeatedSeat,code:HeatedSeat,value:0;name:Key Position,code:KEYPOS,value:1;name:Energy state,code:ENERGY,value:0;name:Battery Voltage,code:BATTERY,value:1;name:Interior Temperature,code:INTEMP,value:1;name:Exterior Temperature,code:EXTEMP,value:1;name:Window Status,code:WINDOW,value:0000;name:Left-Right Driving,code:LRD,value:0;name:Bluetooth Key,code:BTKEY,value:0;name:Battery Type,code:BType,value:2",
        "modelConfigurationJsonStrPresent":true,
        "modelName":"TUc1IEVsZWN0cmlj",
        "@modelNameUTF8":"MG5 Electric",
        "modelYear":"2021",
        "modelYearPresent":true,
        "name":null,
        "namePresent":false,
        "series":"EP2DP3",
        "tboxSimNo":null,
        "tboxSimNoPresent":false,
        "vehiclePhoto":null,
        "vehiclePhotoPresent":false,
        "vin":"XXXX99099XX099999"
      }
    ],
    "vinListPresent":true
  },
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":1037,
    "applicationDataProtocolVersion":513,
    "applicationID":"501",
    "basicPosition":null,
    "basicPositionPresent":false,
    "crqmRequest":null,
    "crqmRequestPresent":false,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1665500000,
    "eventID":null,
    "eventIDPresent":false,
    "hmiLanguage":null,
    "hmiLanguagePresent":false,
    "iccID":"12345678901234567890",
    "messageCounter":{
      "@ASN1Type":"MessageCounter",
      "downlinkCounter":1,
      "uplinkCounter":1
    },
    "messageCounterPresent":true,
    "messageID":2,
    "networkInfo":null,
    "networkInfoPresent":false,
    "result":0,
    "resultPresent":true,
    "simInfo":"1234567890987654321",
    "simInfoPresent":true,
    "statelessDispatcherMessage":null,
    "statelessDispatcherMessagePresent":false,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"X9XX9XX09X09909XX99X999X9XXX09999X99XX99",
    "tokenPresent":true,
    "uid":"00000000000000000000000000000000000090000000099999",
    "uidPresent":true,
    "vin":null,
    "vinPresent":false
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":123,
    "protocolVersion":17,
    "securityContext":0
  }
}

Known values for the modelConfigurationJsonStr.

Name Tire Airbag FAirbag AirbagS Sunroof Remote control AC EPS SA64 BONNUT DOOR BOOT ENGINE EV HeatedSeat KEYPOS ENERGY BATTERY INTEMP EXTEMP WINDOW LRD BTKEY Battery

MG5 SR Luxury

1

1

1

1

0

1

1

1

0111110000000000001000000100101000000010100000000000000000000110

1

1111

1

1

0

0

1

0

1

1

1

0000

0

0

2

MG ZS SR Luxury

1

1

0

0

3

1

1

1

0111110000000000001000000100101000000010100000000000000000000110

1

1111

1

1

0

0

1

1

1

1

1

0000

0

1

2

MG4 Standard

1

1

1

1

0

1

1

1

0111110000000000001000000100101000000010100000000000000000000110

1

1111

1

1

0

0

0

1

1

1

1

0000

0

1

2

MG4 Comfort

1

1

1

1

0

1

1

1

0111110000000000001000000100101000000010100000000000000000000110

1

1111

1

1

0

0

0

1

1

1

1

0000

0

1

1

MG4 Luxury

1

1

1

1

0

1

1

1

0111110000000000001000000100101000000010100000000000000000000110

1

1111

1

1

0

1

0

1

1

1

1

0000

0

1

1

Code

J17

Q00

Q01

Q09

S35

S61

T11

EPS

SA64

BONNUT

DOOR

BOOT

ENGINE

EV

HeatedSeat

KEYPOS

ENERGY

BATTERY

INTEMP

EXTEMP

WINDOW

LRD

BTKEY

BType

Get Userinfo

Request

00F7111007900C82C60C183060C183060C183060C183060C183060C183060C183060C183060C183072C183060C183060E5CB972E5CD8B161CB9B0C16B9B0E5CAD7362C585B61CB972B6C58B0E5CB9B0E5CD87361CB0B161AB06CC6E9A180020200468ACF134468ACF1342468ACF1342468ACF1342000000000100A0
{
  "applicationData":null,
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":0,
    "applicationDataProtocolVersion":513,
    "applicationID":"506",
    "basicPosition":null,
    "basicPositionPresent":false,
    "crqmRequest":null,
    "crqmRequestPresent":false,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1668600000,
    "eventID":null,
    "eventIDPresent":false,
    "hmiLanguage":null,
    "hmiLanguagePresent":false,
    "iccID":"12345678901234567890",
    "messageCounter":{
      "@ASN1Type":"MessageCounter",
      "downlinkCounter":0,
      "uplinkCounter":1
    },
    "messageCounterPresent":true,
    "messageID":1,
    "networkInfo":null,
    "networkInfoPresent":false,
    "result":null,
    "resultPresent":false,
    "simInfo":"1234567891234567890",
    "simInfoPresent":true,
    "statelessDispatcherMessage":null,
    "statelessDispatcherMessagePresent":false,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"9XXX99X0-9X99-9XXX-X999-XXX999X99X9X90XX",
    "tokenPresent":true,
    "uid":"00000000000000000000000000000000000090000000099999",
    "uidPresent":true,
    "vin":null,
    "vinPresent":false
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":121,
    "protocolVersion":17,
    "securityContext":0
  }
}

Response

0125111007B00C82E60C183060C183060C183060C183060C183060C183060C183060C183060C183072C183060C183060E5CB972E5CD8B161CB9B0C16B9B0E5CAD7362C585B61CB972B6C58B0E5CB9B0E5CD87361CB0B161AB06CC6E9A180040202468ACF134468ACF1342468ACF1342468ACF13420000002A0100A000000082352C58B162C588162C58B162C58B161758B160
{
  "applicationData":{
    "@ASN1Type":"MPUserInfoResp",
    "address":null,
    "addressPresent":false,
    "birthday":null,
    "birthdayPresent":false,
    "email":"XXXXXX@XXXXXXXXX.XXX",
    "emailPresent":true,
    "emergencyMobile":null,
    "emergencyMobilePresent":false,
    "emergencyName":null,
    "emergencyNamePresent":false,
    "gender":null,
    "genderPresent":false,
    "languageType":"de",
    "languageTypePresent":true,
    "mobilePhone":null,
    "mobilePhonePresent":false,
    "nickName":null,
    "nickNamePresent":false,
    "realName":null,
    "realNamePresent":false,
    "theSecondLevelCountryCode":null,
    "theSecondLevelCountryCodePresent":false,
    "theSecondLevelCountryName":null,
    "theSecondLevelCountryNamePresent":false,
    "theThirdLevelCountryCode":null,
    "theThirdLevelCountryCodePresent":false,
    "theThirdLevelCountryName":null,
    "theThirdLevelCountryNamePresent":false,
    "userPhoto":null,
    "userPhotoPresent":false
  },
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":21,
    "applicationDataProtocolVersion":513,
    "applicationID":"506",
    "basicPosition":null,
    "basicPositionPresent":false,
    "crqmRequest":null,
    "crqmRequestPresent":false,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1668600000,
    "eventID":null,
    "eventIDPresent":false,
    "hmiLanguage":null,
    "hmiLanguagePresent":false,
    "iccID":"12345678901234567890",
    "messageCounter":{
      "@ASN1Type":"MessageCounter",
      "downlinkCounter":1,
      "uplinkCounter":1
    },
    "messageCounterPresent":true,
    "messageID":2,
    "networkInfo":null,
    "networkInfoPresent":false,
    "result":0,
    "resultPresent":true,
    "simInfo":"1234567891234567890",
    "simInfoPresent":true,
    "statelessDispatcherMessage":null,
    "statelessDispatcherMessagePresent":false,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"9XXX99X0-9X99-9XXX-X999-XXX999X99X9X90XX",
    "tokenPresent":true,
    "uid":"00000000000000000000000000000000000090000000099999",
    "uidPresent":true,
    "vin":null,
    "vinPresent":false
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":123,
    "protocolVersion":17,
    "securityContext":0
  }
}

Set CarAlarm

Request

pin is hardcoded to md5sum("123456")

0151111008800E82C60C183060C183060C183060C183060C183060C183060C183060C183060C183072C183060C183060E5CB972E5CD8B161CB9B0C16B9B0E5CAD7362C585B61CB972B6C58B0E5CB9B0E5CD87361CB0B161AB26362C58B0E5CB072E6C5860E5CB972E58DD343000404008D159E2688D159E26848D159E26848D159E2684000000780201405872C2C58B0E5CB97362C397362C58B0E5CD860E5CD872C2C3972E6C03C0
{
  "applicationData":{
    "@ASN1Type":"AlarmSwitchReq",
    "alarmSwitchList":[
      {
        "@ASN1Type":"AlarmSwitch",
        "alarmSettingType":"engineStart",
        "alarmSwitch":true,
        "functionSwitch":true
      }
    ],
    "description":null,
    "descriptionPresent":false,
    "pin":"X90XXX9999XX99XXXX99X099X90X999X"
  },
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":30,
    "applicationDataProtocolVersion":513,
    "applicationID":"521",
    "basicPosition":null,
    "basicPositionPresent":false,
    "crqmRequest":null,
    "crqmRequestPresent":false,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1668600000,
    "eventID":null,
    "eventIDPresent":false,
    "hmiLanguage":null,
    "hmiLanguagePresent":false,
    "iccID":"12345678901234567890",
    "messageCounter":{
      "@ASN1Type":"MessageCounter",
      "downlinkCounter":0,
      "uplinkCounter":1
    },
    "messageCounterPresent":true,
    "messageID":1,
    "networkInfo":null,
    "networkInfoPresent":false,
    "result":null,
    "resultPresent":false,
    "simInfo":"1234567891234567890",
    "simInfoPresent":true,
    "statelessDispatcherMessage":null,
    "statelessDispatcherMessagePresent":false,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"9XXX99X0-9X99-9XXX-X999-XXX999X99X9X90XX",
    "tokenPresent":true,
    "uid":"00000000000000000000000000000000000090000000099999",
    "uidPresent":true,
    "vin":"XXXX99099XX099999",
    "vinPresent":true
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":136,
    "protocolVersion":17,
    "securityContext":0
  }
}

Response

0119111008A00E82E60C183060C183060C183060C183060C183060C183060C183060C183060C183072C183060C183060E5CB972E5CD8B161CB9B0C16B9B0E5CAD7362C585B61CB972B6C58B0E5CB9B0E5CD87361CB0B161AB26362C58B0E5CB072E6C5860E5CB972E58DD343000804048D159E2688D159E26848D159E26848D159E2684000000000201400000
{
  "applicationData":null,
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":0,
    "applicationDataProtocolVersion":513,
    "applicationID":"521",
    "basicPosition":null,
    "basicPositionPresent":false,
    "crqmRequest":null,
    "crqmRequestPresent":false,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1668600000,
    "eventID":null,
    "eventIDPresent":false,
    "hmiLanguage":null,
    "hmiLanguagePresent":false,
    "iccID":"12345678901234567890",
    "messageCounter":{
      "@ASN1Type":"MessageCounter",
      "downlinkCounter":1,
      "uplinkCounter":1
    },
    "messageCounterPresent":true,
    "messageID":2,
    "networkInfo":null,
    "networkInfoPresent":false,
    "result":0,
    "resultPresent":true,
    "simInfo":"1234567891234567890",
    "simInfoPresent":true,
    "statelessDispatcherMessage":null,
    "statelessDispatcherMessagePresent":false,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"9XXX99X0-9X99-9XXX-X999-XXX999X99X9X90XX",
    "tokenPresent":true,
    "uid":"00000000000000000000000000000000000090000000099999",
    "uidPresent":true,
    "vin":"XXXX99099XX099999",
    "vinPresent":true
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":138,
    "protocolVersion":17,
    "securityContext":0
  }
}

Get Messages

Request

011B112007900C82C60C183060C183060C183060C183060C183060C183060C183060C183060C183072C183060C183060E5CB972E5CB9B0E5CB973616B96162C2D72E6C395AE5CD872B5CD8B0E6C586161CD87362C587361AB362C6A67E00020200468ACF134468ACF1342468ACF1342468ACF1342000000240100A080000000000080000000000A120CC834A680
{
  "applicationData":{
    "@ASN1Type":"MessageListReq",
    "messageGroup":"ALARM",
    "messageGroupPresent":true,
    "startEndNumber":{
      "@ASN1Type":"StartEndNumber",
      "endNumber":20,
      "startNumber":1
    }
  },
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":18,
    "applicationDataProtocolVersion":513,
    "applicationID":"531",
    "basicPosition":null,
    "basicPositionPresent":false,
    "crqmRequest":null,
    "crqmRequestPresent":false,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1666400000,
    "eventID":null,
    "eventIDPresent":false,
    "hmiLanguage":null,
    "hmiLanguagePresent":false,
    "iccID":"12345678901234567890",
    "messageCounter":{
      "@ASN1Type":"MessageCounter",
      "downlinkCounter":0,
      "uplinkCounter":1
    },
    "messageCounterPresent":true,
    "messageID":1,
    "networkInfo":null,
    "networkInfoPresent":false,
    "result":null,
    "resultPresent":false,
    "simInfo":"1234567891234567890",
    "simInfoPresent":true,
    "statelessDispatcherMessage":null,
    "statelessDispatcherMessagePresent":false,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"99X9999X-90XX-99X9-99X9-9XX9XX0X9X9XXX9X",
    "tokenPresent":true,
    "uid":"00000000000000000000000000000000000090000000099999",
    "uidPresent":true,
    "vin":null,
    "vinPresent":false
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":121,
    "protocolVersion":18,
    "securityContext":0
  }
}

Response

022F112007B00C82E60C183060C183060C183060C183060C183060C183060C183060C183060C183072C183060C183060E5CB972E5CB9B0E5CB973616B96162C2D72E6C395AE5CD872B5CD8B0E6C586161CD87362C587361AB362C6A67E00040202468ACF134468ACF1342468ACF1342468ACF1342000001340100A000008000000000008038000000A31A0B364CC4A6B7BA37B939BA30B93A31A99F8006A8849EB018D1185CC811985A1C9E995D59C80A0A8A8A9616160A481CDD185C9D195D08185B480C8C8B4C4C0B4C8C0C8C880C4CCE8D4C8E8C0DC811D3550ACC0C8E8C0C0B08189A5D1D19481E9D5C8812D95B9B9D1B9A5CDB985A1B594818995CDD30E91D1A59D95B8B90162C58B0E5CB072E6C5860E5CB972E40
{
  "applicationData":{
    "@ASN1Type":"MessageListResp",
    "messages":[
      {
        "@ASN1Type":"Message",
        "content":"RGFzIEZhaHJ6ZXVnICgqKipYWFgpIHN0YXJ0ZXQgYW0gMjItMTAtMjAyMiAxMzo1MjowNyBHTVQrMDI6MDAsIGJpdHRlIHp1ciBLZW5udG5pc25haG1lIGJlc3TDpHRpZ2VuLg==",
        "@contentUTF8":"Das Fahrzeug (***XXX) startet am 22-10-2022 13:52:07 GMT+02:00, bitte zur Kenntnisnahme bestätigen.",
        "contentId":null,
        "contentIdPresent":false,
        "contentPresent":true,
        "messageId":1336129,
        "messageTime":{
          "@ASN1Type":"Timestamp",
          "seconds":1666400000
        },
        "messageType":"323",
        "readStatus":0,
        "readStatusPresent":true,
        "sender":"VEJPWA==",
        "@senderUTF8":"TBOX",
        "title":"TW90b3JzdGFydA==",
        "@titleUTF8":"Motorstart",
        "vin":"XXXX99099XX099999",
        "vinPresent":true
      }
    ],
    "messagesPresent":true,
    "recordsNumber":1
  },
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":154,
    "applicationDataProtocolVersion":513,
    "applicationID":"531",
    "basicPosition":null,
    "basicPositionPresent":false,
    "crqmRequest":null,
    "crqmRequestPresent":false,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1666400000,
    "eventID":null,
    "eventIDPresent":false,
    "hmiLanguage":null,
    "hmiLanguagePresent":false,
    "iccID":"12345678901234567890",
    "messageCounter":{
      "@ASN1Type":"MessageCounter",
      "downlinkCounter":1,
      "uplinkCounter":1
    },
    "messageCounterPresent":true,
    "messageID":2,
    "networkInfo":null,
    "networkInfoPresent":false,
    "result":0,
    "resultPresent":true,
    "simInfo":"1234567891234567890",
    "simInfoPresent":true,
    "statelessDispatcherMessage":null,
    "statelessDispatcherMessagePresent":false,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"99X9999X-90XX-99X9-99X9-9XX9XX0X9X9XXX9X",
    "tokenPresent":true,
    "uid":"00000000000000000000000000000000000090000000099999",
    "uidPresent":true,
    "vin":null,
    "vinPresent":false
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":123,
    "protocolVersion":18,
    "securityContext":0
  }
}

Get Unread Message Count

Request

00F7111007900C82C60C183060C183060C183060C183060C183060C183060C183060C183060C183072C183060C183060E5CB972E5CB9B0E5CB973616B96162C2D72E6C395AE5CD872B5CD8B0E6C586161CD87362C587361AB366C6A67E00020200468ACF134468ACF1342468ACF1342468ACF1342000000000100A0
{
  "applicationData":null,
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":0,
    "applicationDataProtocolVersion":513,
    "applicationID":"533",
    "basicPosition":null,
    "basicPositionPresent":false,
    "crqmRequest":null,
    "crqmRequestPresent":false,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1666400000,
    "eventID":null,
    "eventIDPresent":false,
    "hmiLanguage":null,
    "hmiLanguagePresent":false,
    "iccID":"12345678901234567890",
    "messageCounter":{
      "@ASN1Type":"MessageCounter",
      "downlinkCounter":0,
      "uplinkCounter":1
    },
    "messageCounterPresent":true,
    "messageID":1,
    "networkInfo":null,
    "networkInfoPresent":false,
    "result":null,
    "resultPresent":false,
    "simInfo":"1234567891234567890",
    "simInfoPresent":true,
    "statelessDispatcherMessage":null,
    "statelessDispatcherMessagePresent":false,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"99X9999X-90XX-99X9-99X9-9XX9XX0X9X9XXX9X",
    "tokenPresent":true,
    "uid":"00000000000000000000000000000000000090000000099999",
    "uidPresent":true,
    "vin":null,
    "vinPresent":false
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":121,
    "protocolVersion":17,
    "securityContext":0
  }
}

Response

012B111007B00C82E60C183060C183060C183060C183060C183060C183060C183060C183060C183072C183060C183060E5CB972E5CB9B0E5CB973616B96162C2D72E6C395AE5CD872B5CD8B0E6C586161CD87362C587361AB366C6A67E00040202468ACF134468ACF1342468ACF1342468ACF1342000000300100A00000000000000001000000000000000000000000000000000001
{
  "applicationData":{
    "@ASN1Type":"GetUnreadMessageCountResp",
    "alarmNumber":1,
    "commandNumber":0,
    "newsNumber":0,
    "totalNumber":1
  },
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":24,
    "applicationDataProtocolVersion":513,
    "applicationID":"533",
    "basicPosition":null,
    "basicPositionPresent":false,
    "crqmRequest":null,
    "crqmRequestPresent":false,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1666400000,
    "eventID":null,
    "eventIDPresent":false,
    "hmiLanguage":null,
    "hmiLanguagePresent":false,
    "iccID":"12345678901234567890",
    "messageCounter":{
      "@ASN1Type":"MessageCounter",
      "downlinkCounter":1,
      "uplinkCounter":1
    },
    "messageCounterPresent":true,
    "messageID":2,
    "networkInfo":null,
    "networkInfoPresent":false,
    "result":0,
    "resultPresent":true,
    "simInfo":"1234567891234567890",
    "simInfoPresent":true,
    "statelessDispatcherMessage":null,
    "statelessDispatcherMessagePresent":false,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"99X9999X-90XX-99X9-99X9-9XX9XX0X9X9XXX9X",
    "tokenPresent":true,
    "uid":"00000000000000000000000000000000000090000000099999",
    "uidPresent":true,
    "vin":null,
    "vinPresent":false
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":123,
    "protocolVersion":17,
    "securityContext":0
  }
}

Set Notification Count

Request

00F9111007900C82C60C183060C183060C183060C183060C183060C183060C183060C183060C183072C183060C183060E5CB972E5CB9B0E5CB973616B96162C2D72E6C395AE5CD872B5CD8B0E6C586161CD87362C587361AB36AC6A67E00020200468ACF134468ACF1342468ACF1342468ACF1342000000020100A000
{
  "applicationData":{
    "@ASN1Type":"SetNotificationCountReq",
    "notificationCount":0
  },
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":1,
    "applicationDataProtocolVersion":513,
    "applicationID":"535",
    "basicPosition":null,
    "basicPositionPresent":false,
    "crqmRequest":null,
    "crqmRequestPresent":false,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1666400000,
    "eventID":null,
    "eventIDPresent":false,
    "hmiLanguage":null,
    "hmiLanguagePresent":false,
    "iccID":"12345678901234567890",
    "messageCounter":{
      "@ASN1Type":"MessageCounter",
      "downlinkCounter":0,
      "uplinkCounter":1
    },
    "messageCounterPresent":true,
    "messageID":1,
    "networkInfo":null,
    "networkInfoPresent":false,
    "result":null,
    "resultPresent":false,
    "simInfo":"1234567891234567890",
    "simInfoPresent":true,
    "statelessDispatcherMessage":null,
    "statelessDispatcherMessagePresent":false,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"99X9999X-90XX-99X9-99X9-9XX9XX0X9X9XXX9X",
    "tokenPresent":true,
    "uid":"00000000000000000000000000000000000090000000099999",
    "uidPresent":true,
    "vin":null,
    "vinPresent":false
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":121,
    "protocolVersion":17,
    "securityContext":0
  }
}

Response

00FB111007B00C82E60C183060C183060C183060C183060C183060C183060C183060C183060C183072C183060C183060E5CB972E5CB9B0E5CB973616B96162C2D72E6C395AE5CD872B5CD8B0E6C586161CD87362C587361AB36AC6A67E00040202468ACF134468ACF1342468ACF1342468ACF1342000000000100A00000
{
  "applicationData":null,
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":0,
    "applicationDataProtocolVersion":513,
    "applicationID":"535",
    "basicPosition":null,
    "basicPositionPresent":false,
    "crqmRequest":null,
    "crqmRequestPresent":false,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1666400000,
    "eventID":null,
    "eventIDPresent":false,
    "hmiLanguage":null,
    "hmiLanguagePresent":false,
    "iccID":"12345678901234567890",
    "messageCounter":{
      "@ASN1Type":"MessageCounter",
      "downlinkCounter":1,
      "uplinkCounter":1
    },
    "messageCounterPresent":true,
    "messageID":2,
    "networkInfo":null,
    "networkInfoPresent":false,
    "result":0,
    "resultPresent":true,
    "simInfo":"1234567891234567890",
    "simInfoPresent":true,
    "statelessDispatcherMessage":null,
    "statelessDispatcherMessagePresent":false,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"99X9999X-90XX-99X9-99X9-9XX9XX0X9X9XXX9X",
    "tokenPresent":true,
    "uid":"00000000000000000000000000000000000090000000099999",
    "uidPresent":true,
    "vin":null,
    "vinPresent":false
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":123,
    "protocolVersion":17,
    "securityContext":0
  }
}

DeleteMessage

Request

if a messageId is set, actionType can be DELETE to delete this message or READ, to mark it read.

if no messageId is set actionType can be DELETE_ALARM to delete all alarm messages

0111111007900C82C60C183060C183060C183060C183060C183060C183060C183060C183060C183072C183060C183060E5CB972E5CD8B161CB9B0C16B9B0E5CAD7362C585B61CB972B6C58B0E5CB9B0E5CD87361CB0B161B316AC6E9A180020200468ACF134468ACF1342468ACF1342468ACF13420000001A0100A0600000035CC7A58916645A9140
{
  "applicationData":{
    "@ASN1Type":"AbortSendMessageReq",
    "actionType":"DELETE",
    "actionTypePresent":true,
    "messageId":1762877,
    "messageIdPresent":true,
    "messages":null,
    "messagesPresent":false
  },
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":13,
    "applicationDataProtocolVersion":513,
    "applicationID":"615",
    "basicPosition":null,
    "basicPositionPresent":false,
    "crqmRequest":null,
    "crqmRequestPresent":false,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1668600000,
    "eventID":null,
    "eventIDPresent":false,
    "hmiLanguage":null,
    "hmiLanguagePresent":false,
    "iccID":"12345678901234567890",
    "messageCounter":{
      "@ASN1Type":"MessageCounter",
      "downlinkCounter":0,
      "uplinkCounter":1
    },
    "messageCounterPresent":true,
    "messageID":1,
    "networkInfo":null,
    "networkInfoPresent":false,
    "result":null,
    "resultPresent":false,
    "simInfo":"1234567891234567890",
    "simInfoPresent":true,
    "statelessDispatcherMessage":null,
    "statelessDispatcherMessagePresent":false,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"9XXX99X0-9X99-9XXX-X999-XXX999X99X9X90XX",
    "tokenPresent":true,
    "uid":"00000000000000000000000000000000000090000000099999",
    "uidPresent":true,
    "vin":null,
    "vinPresent":false
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":121,
    "protocolVersion":17,
    "securityContext":0
  }
}

Response

00FB111007B00C82E60C183060C183060C183060C183060C183060C183060C183060C183060C183072C183060C183060E5CB972E5CD8B161CB9B0C16B9B0E5CAD7362C585B61CB972B6C58B0E5CB9B0E5CD87361CB0B161B316AC6E9A180040202468ACF134468ACF1342468ACF1342468ACF1342000000000100A00000
{
  "applicationData":null,
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":0,
    "applicationDataProtocolVersion":513,
    "applicationID":"615",
    "basicPosition":null,
    "basicPositionPresent":false,
    "crqmRequest":null,
    "crqmRequestPresent":false,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1668600000,
    "eventID":null,
    "eventIDPresent":false,
    "hmiLanguage":null,
    "hmiLanguagePresent":false,
    "iccID":"12345678901234567890",
    "messageCounter":{
      "@ASN1Type":"MessageCounter",
      "downlinkCounter":1,
      "uplinkCounter":1
    },
    "messageCounterPresent":true,
    "messageID":2,
    "networkInfo":null,
    "networkInfoPresent":false,
    "result":0,
    "resultPresent":true,
    "simInfo":"1234567891234567890",
    "simInfoPresent":true,
    "statelessDispatcherMessage":null,
    "statelessDispatcherMessagePresent":false,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"9XXX99X0-9X99-9XXX-X999-XXX999X99X9X90XX",
    "tokenPresent":true,
    "uid":"00000000000000000000000000000000000090000000099999",
    "uidPresent":true,
    "vin":null,
    "vinPresent":false
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":123,
    "protocolVersion":17,
    "securityContext":0
  }
}

API v2.1

Message Format

ABBBBCCCCCCDDD…​DDD(EEE…​EEE)

A

1 following data is hexencoded, 0 following data is raw

B

hexencoded message length (raw byte count)

C

message header, one byte per attribute

MP_DispatcherHeaderModule

DEFINITIONS
AUTOMATIC TAGS ::=
BEGIN
MP_DispatcherHeader ::= SEQUENCE
{
  dispatcherBodyEncoding INTEGER(0..2),
  dispatcherMessageLength INTEGER(0..255),
  protocolVersion INTEGER(0..255)
}

END
D

message body, encoding defined by message header, usually PER

MP_DispatcherBodyModule

DEFINITIONS
AUTOMATIC TAGS ::=
BEGIN
MP_DispatcherBody ::= SEQUENCE
{
  uid IA5String(SIZE(50)) OPTIONAL,
  token IA5String(SIZE(40)) OPTIONAL,
  applicationID IA5String(SIZE(3)),
  vin IA5String(SIZE(17)) OPTIONAL,
  messageID INTEGER(0..255),
  eventCreationTime INTEGER(0..2147483647),
  eventID INTEGER(0..2147483647) OPTIONAL,
  ulMessageCounter INTEGER(0..65535) OPTIONAL,
  dlMessageCounter INTEGER(0..65535) OPTIONAL,
  ackMessageCounter INTEGER(0..65535) OPTIONAL,
  ackRequired BOOLEAN OPTIONAL,
  applicationDataLength INTEGER(0..65535) OPTIONAL,
  applicationDataEncoding DataEncodingType OPTIONAL,
  applicationDataProtocolVersion INTEGER(0..65535) OPTIONAL,
  testFlag INTEGER(1..3) OPTIONAL,
  result INTEGER(0..65535) OPTIONAL,
  errorMessage OCTET STRING(SIZE(1..1024)) OPTIONAL
}
DataEncodingType ::= ENUMERATED
{
  perUnaligned(0),
  der(1),
  ber(2)
}

END
E

optional application data, encoding defined by message body, usually PER

ApplicationDataModule

DEFINITIONS
AUTOMATIC TAGS ::=
BEGIN
MP_SecurityAlarmResp ::= SEQUENCE
{
  securityAlarms SEQUENCE SIZE(1..256) OF SecurityAlarm OPTIONAL
}
OTA_RVMVehicleStatusReq ::= SEQUENCE
{
  vehStatusReqType INTEGER(0..255)
}
OTA_RVMVehicleStatusResp25857 ::= SEQUENCE
{
  statusTime INTEGER(0..2147483647),
  gpsPosition RvsPosition(1),
  basicVehicleStatus RvsBasicStatus25857(1),
  extendedVehicleStatus RvsExtStatus(1) OPTIONAL
}
OTA_RVCReq ::= SEQUENCE
{
  rvcReqType OCTET STRING(SIZE(1)),
  rvcParams SEQUENCE SIZE(1..10) OF RvcReqParam OPTIONAL
}
OTA_RVCStatus25857 ::= SEQUENCE
{
  rvcReqType OCTET STRING(SIZE(1)),
  rvcReqSts OCTET STRING(SIZE(1)),
  failureType INTEGER(0..255) OPTIONAL,
  gpsPosition RvsPosition(1),
  basicVehicleStatus RvsBasicStatus25857(1)
}
SecurityAlarm ::= SEQUENCE
{
  title OCTET STRING(SIZE(1..128)) OPTIONAL,
  content OCTET STRING(SIZE(1..2048)) OPTIONAL,
  messageType IA5String(SIZE(3)),
  vin IA5String(SIZE(17)),
  alertId INTEGER(0..65535),
  alertTime INTEGER(0..2147483647) OPTIONAL,
  latitude INTEGER(-90000000..90000000),
  longitude INTEGER(-180000000..180000000)
}
RvsPosition ::= SEQUENCE
{
  wayPoint RvsWayPoint,
  timestamp4Short Timestamp4Short,
  gpsStatus GPSStatus
}
RvsBasicStatus25857 ::= SEQUENCE
{
  driverDoor BOOLEAN,
  passengerDoor BOOLEAN,
  rearLeftDoor BOOLEAN,
  rearRightDoor BOOLEAN,
  bootStatus BOOLEAN,
  bonnetStatus BOOLEAN,
  lockStatus BOOLEAN,
  driverWindow BOOLEAN OPTIONAL,
  passengerWindow BOOLEAN OPTIONAL,
  rearLeftWindow BOOLEAN OPTIONAL,
  rearRightWindow BOOLEAN OPTIONAL,
  sunroofStatus BOOLEAN OPTIONAL,
  frontRrightTyrePressure INTEGER(0..255) OPTIONAL,
  frontLeftTyrePressure INTEGER(0..255) OPTIONAL,
  rearRightTyrePressure INTEGER(0..255) OPTIONAL,
  rearLeftTyrePressure INTEGER(0..255) OPTIONAL,
  wheelTyreMonitorStatus  INTEGER(0..255) OPTIONAL,
  sideLightStatus BOOLEAN,
  dippedBeamStatus BOOLEAN,
  mainBeamStatus BOOLEAN,
  vehicleAlarmStatus INTEGER(0..255) OPTIONAL,
  engineStatus INTEGER(0..255),
  powerMode INTEGER(0..255),
  lastKeySeen INTEGER(0..65535),
  currentjourneyDistance INTEGER(0..65535),
  currentJourneyID INTEGER(0..2147483647),
  interiorTemperature INTEGER(-128..127),
  exteriorTemperature INTEGER(-128..127),
  fuelLevelPrc INTEGER(0..255),
  fuelRange INTEGER(0..65535),
  remoteClimateStatus INTEGER(0..255),
  frontLeftSeatHeatLevel INTEGER(0..255) OPTIONAL,
  frontRightSeatHeatLevel INTEGER(0..255) OPTIONAL,
  canBusActive BOOLEAN,
  timeOfLastCANBUSActivity INTEGER(0..2147483647),
  clstrDspdFuelLvlSgmt INTEGER(0..255),
  mileage INTEGER(0..2147483647),
  batteryVoltage INTEGER(0..65535),
  handBrake BOOLEAN,
  vehElecRngDsp INTEGER(0..255),
  fuelRangeElec INTEGER(0..65535) OPTIONAL,
  rmtHtdRrWndSt INTEGER(0..255),
  extendedData1 INTEGER(0..2147483647) OPTIONAL,
  extendedData2 INTEGER(0..2147483647) OPTIONAL
}
RvsExtStatus ::= SEQUENCE
{
  vehicleAlerts SEQUENCE SIZE(0..64) OF VehicleAlertInfo
}
RvcReqParam ::= SEQUENCE
{
  paramId INTEGER(0..65535),
  paramValue OCTET STRING(SIZE(1..255))
}
RvsWayPoint ::= SEQUENCE
{
  position RvsWGS84Point,
  heading INTEGER(0..359),
  speed INTEGER(-1000..4500),
  hdop INTEGER(0..1000),
  satellites INTEGER(0..16)
}
Timestamp4Short ::= SEQUENCE
{
  seconds INTEGER(0..2147483647)
}
GPSStatus ::= ENUMERATED
{
  noGpsSignal(0),
  timeFix(1),
  fix2D(2),
  fix3D(3)
}
VehicleAlertInfo ::= SEQUENCE
{
  id INTEGER(0..255),
  value INTEGER(0..255)
}
RvsWGS84Point ::= SEQUENCE
{
  latitude INTEGER(-90000000..90000000),
  longitude INTEGER(-180000000..180000000),
  altitude INTEGER(-100..8900)
}

END

Message Types

Unknown

Request

1008621730000000000000000000000000000000000F0F2C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C586B0A258B162C58B162C58B162C58B162C5801C67BC48000009C3C0000650140
{
  "applicationData":null,
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackMessageCounter":null,
    "ackMessageCounterPresent":false,
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":0,
    "applicationDataLengthPresent":true,
    "applicationDataProtocolVersion":25857,
    "applicationDataProtocolVersionPresent":true,
    "applicationID":"5BD",
    "dlMessageCounter":null,
    "dlMessageCounterPresent":false,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1665000000,
    "eventID":9999,
    "eventIDPresent":true,
    "messageID":1,
    "result":null,
    "resultPresent":false,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "tokenPresent":true,
    "uid":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "uidPresent":true,
    "ulMessageCounter":null,
    "ulMessageCounterPresent":false,
    "vin":"XXXXXXXXXXXXXXXXX",
    "vinPresent":true
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":115,
    "protocolVersion":33
  },
  "reserved":"AAAAAAAAAAAAAAAAAAAAAA=="
}

Response

1008821750000000000000000000000000000000000F0FAC58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C586B0A258B162C58B162C58B162C58B162C5802C67BC48000009C3C00006501400000
{
  "applicationData":null,
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackMessageCounter":null,
    "ackMessageCounterPresent":false,
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":0,
    "applicationDataLengthPresent":true,
    "applicationDataProtocolVersion":25857,
    "applicationDataProtocolVersionPresent":true,
    "applicationID":"5BD",
    "dlMessageCounter":null,
    "dlMessageCounterPresent":false,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1665000000,
    "eventID":9999,
    "eventIDPresent":true,
    "messageID":2,
    "result":0,
    "resultPresent":true,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "tokenPresent":true,
    "uid":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "uidPresent":true,
    "ulMessageCounter":null,
    "ulMessageCounterPresent":false,
    "vin":"XXXXXXXXXXXXXXXXX",
    "vinPresent":true
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":117,
    "protocolVersion":33
  },
  "reserved":"AAAAAAAAAAAAAAAAAAAAAA=="
}

Vehicle Control Commands

Request

1009E21790000000000000000000000000000000000FFF183060C183060C183060C183060C183060C183060C183060C183060C183060C1CB060C183060C183972E5CB97361CB9B0E5CD85B62C39B0B5CB9B1616B9B16182D72E5CD8B161CB97362C5872C1CB96AC5858B162C3972C1CB9B16183972E5CB901C6F2C94000009C3C00000000000000243280A0801800080008001000080018000807F80000
{
  "applicationData":{
    "@ASN1Type":"OTA_RVCReq",
    "rvcParams":[
      {
        "@ASN1Type":"RvcReqParam",
        "paramId":1,
        "paramValue":"AQ==",
        "@paramValueUTF8":"\u0001"
      },
      {
        "@ASN1Type":"RvcReqParam",
        "paramId":2,
        "paramValue":"AQ==",
        "@paramValueUTF8":"\u0001"
      },
      {
        "@ASN1Type":"RvcReqParam",
        "paramId":3,
        "paramValue":"AQ==",
        "@paramValueUTF8":"\u0001"
      },
      {
        "@ASN1Type":"RvcReqParam",
        "paramId":255,
        "paramValue":"AA==",
        "@paramValueUTF8":"\u0000"
      }
    ],
    "rvcParamsPresent":true,
    "rvcReqType":"AA==",
    "@rvcReqTypeUTF8":"\u0000"
  },
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackMessageCounter":0,
    "ackMessageCounterPresent":true,
    "ackRequired":false,
    "ackRequiredPresent":true,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":18,
    "applicationDataLengthPresent":true,
    "applicationDataProtocolVersion":25857,
    "applicationDataProtocolVersionPresent":true,
    "applicationID":"510",
    "dlMessageCounter":0,
    "dlMessageCounterPresent":true,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1668900000,
    "eventID":9999,
    "eventIDPresent":true,
    "messageID":1,
    "result":null,
    "resultPresent":false,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"9X99X99X-XX9X-99XX-9XX0-999XXX999XXX9099",
    "tokenPresent":true,
    "uid":"00000000000000000000000000000000000090000000099999",
    "uidPresent":true,
    "ulMessageCounter":0,
    "ulMessageCounterPresent":true,
    "vin":"XXXX99099XX099999",
    "vinPresent":true
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":121,
    "protocolVersion":33
  },
  "reserved":"AAAAAAAAAAAAAAAAAAAAAA=="
}

Control Command Parameter

Command rcvReqType rcvParams

Lock Vehicle

0x01

No parameters

Unlock vehicle

0x02

4

5

6

7

255

0x00

0x00

0x00

0x03

0x00

Start A/C

0x06

19

20

255

0x02

0x08

0x00

Parameter 20 (Temperature) depends on car model (See com.saic.cmp.business.home_page.air_conditioner.View.AirConditionerAdapter) 0x08 is 22° in MG5

Stop A/C

0x06

19

20

255

0x00

0x00

0x00

Stops A/C

Start A/C Blowing

0x06

19

20

22

255

0x01

0x00

0x01

0x00

Stop A/C Blowing

0x06

19

20

22

255

0x00

0x00

0x00

0x00

Start Front defrost

0x06

19

20

22

255

0x05

0x08

0x01

0x00

Parameter 20 (Temperature) depends on car model (See com.saic.cmp.business.home_page.air_conditioner.View.AirConditionerAdapter) 0x08 is 22° in MG5

Stop Front defrost

0x06

19

20

22

255

0x00

0x08

0x00

0x00

Parameter 20 (Temperature) depends on car model (See com.saic.cmp.business.home_page.air_conditioner.View.AirConditionerAdapter) 0x08 is 22° in MG5

Start Rear Window Heat

0x20

23

255

0x01

0x00

Stop Rear Window Heat

0x20

23

255

0x00

0x00

Response

1008E217B0000000000000000000000000000000000FFF983060C183060C183060C183060C183060C183060C183060C183060C183060C1CB060C183060C183972E5CB97361CB9B0E5CD85B62C39B0B5CB9B1616B9B16182D72E5CD8B161CB97362C5872C1CB96AC5858B162C3972C1CB9B16183972E5CB903C6F2C94000009C3C00000004000000003280A00000
{
  "applicationData":null,
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackMessageCounter":0,
    "ackMessageCounterPresent":true,
    "ackRequired":false,
    "ackRequiredPresent":true,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":0,
    "applicationDataLengthPresent":true,
    "applicationDataProtocolVersion":25857,
    "applicationDataProtocolVersionPresent":true,
    "applicationID":"510",
    "dlMessageCounter":1,
    "dlMessageCounterPresent":true,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1668900000,
    "eventID":9999,
    "eventIDPresent":true,
    "messageID":3,
    "result":0,
    "resultPresent":true,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"9X99X99X-XX9X-99XX-9XX0-999XXX999XXX9099",
    "tokenPresent":true,
    "uid":"00000000000000000000000000000000000090000000099999",
    "uidPresent":true,
    "ulMessageCounter":0,
    "ulMessageCounterPresent":true,
    "vin":"XXXX99099XX099999",
    "vinPresent":true
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":123,
    "protocolVersion":33
  },
  "reserved":"AAAAAAAAAAAAAAAAAAAAAA=="
}

Vehicle Status

Request

1008721730000000000000000000000000000000000F0F2C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C586AC58D8B162C58B162C58B162C58B162C5801C67BC48000009C3C000465014002
{
  "applicationData":{
    "@ASN1Type":"OTA_RVMVehicleStatusReq",
    "vehStatusReqType":2
  },
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackMessageCounter":null,
    "ackMessageCounterPresent":false,
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":1,
    "applicationDataLengthPresent":true,
    "applicationDataProtocolVersion":25857,
    "applicationDataProtocolVersionPresent":true,
    "applicationID":"511",
    "dlMessageCounter":null,
    "dlMessageCounterPresent":false,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1665000000,
    "eventID":9999,
    "eventIDPresent":true,
    "messageID":1,
    "result":null,
    "resultPresent":false,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "tokenPresent":true,
    "uid":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "uidPresent":true,
    "ulMessageCounter":null,
    "ulMessageCounterPresent":false,
    "vin":"XXXXXXXXXXXXXXXXX",
    "vinPresent":true
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":115,
    "protocolVersion":33
  },
  "reserved":"AAAAAAAAAAAAAAAAAAAAAA=="
}
  • vehStatusReqType: 1: only basic data 2: include extendedData

Response

100C721B40000000000000000000000000000000000F0FEC58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C586AC58D8B162C58B162C58B162C58B162C5802C67BC48000009C3C00006501400103D5468652072656D6F746520636F6E74726F6C20696E737472756374696F6E206661696C65642C20706C656173652074727920616761696E206C617465722E0
{
  "applicationData":null,
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackMessageCounter":null,
    "ackMessageCounterPresent":false,
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":0,
    "applicationDataLengthPresent":true,
    "applicationDataProtocolVersion":25857,
    "applicationDataProtocolVersionPresent":true,
    "applicationID":"511",
    "dlMessageCounter":null,
    "dlMessageCounterPresent":false,
    "errorMessage":"VGhlIHJlbW90ZSBjb250cm9sIGluc3RydWN0aW9uIGZhaWxlZCwgcGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4=",
    "@errorMessageUTF8":"The remote control instruction failed, please try again later.",
    "errorMessagePresent":true,
    "eventCreationTime":1665000000,
    "eventID":9999,
    "eventIDPresent":true,
    "messageID":2,
    "result":4,
    "resultPresent":true,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "tokenPresent":true,
    "uid":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "uidPresent":true,
    "ulMessageCounter":null,
    "ulMessageCounterPresent":false,
    "vin":"XXXXXXXXXXXXXXXXX",
    "vinPresent":true
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":180,
    "protocolVersion":33
  },
  "reserved":"AAAAAAAAAAAAAAAAAAAAAA=="
}

Error message: The remote control instruction failed, please try again later.

1014F21750000000000000000000000000000000000F0FAC58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C58B162C586AC58D8B162C58B162C58B162C58B162C5802C67BC48000009C3C031C6501400000E33E5D1786A8A8059BDA2003B2001F4012AC67BC4817FF38101A999999000020000270F003C0000024200000012FC01C67CBA2C0000012DE001F80012FC00000001500000000400100020003000400050006000700080009000A000B000C000D000E000F0010001100120013001400150016001700180019001A001B001C001D001E001F0020002100220023002400250026002700280029002A002B002C002D002E002F0030003100320033003400350036003700380039003A003B003C003D003E003F004000
{
  "applicationData":{
    "@ASN1Type":"OTA_RVMVehicleStatusResp25857",
    "basicVehicleStatus":{
      "@ASN1Type":"RvsBasicStatus25857",
      "batteryVoltage":126,
      "bonnetStatus":false,
      "bootStatus":false,
      "canBusActive":true,
      "clstrDspdFuelLvlSgmt":0,
      "currentjourneyDistance":60,
      "currentJourneyID":289,
      "dippedBeamStatus":false,
      "driverDoor":false,
      "driverWindow":false,
      "driverWindowPresent":true,
      "engineStatus":0,
      "extendedData1":84,
      "extendedData1Present":true,
      "extendedData2":0,
      "extendedData2Present":true,
      "exteriorTemperature":-128,
      "frontLeftSeatHeatLevel":null,
      "frontLeftSeatHeatLevelPresent":false,
      "frontLeftTyrePressure":51,
      "frontLeftTyrePressurePresent":true,
      "frontRightSeatHeatLevel":null,
      "frontRightSeatHeatLevelPresent":false,
      "frontRrightTyrePressure":53,
      "frontRrightTyrePressurePresent":true,
      "fuelLevelPrc":0,
      "fuelRange":2430,
      "fuelRangeElec":2430,
      "fuelRangeElecPresent":true,
      "handBrake":false,
      "interiorTemperature":-128,
      "lastKeySeen":9999,
      "lockStatus":true,
      "mainBeamStatus":false,
      "mileage":19320,
      "passengerDoor":false,
      "passengerWindow":false,
      "passengerWindowPresent":true,
      "powerMode":0,
      "rearLeftDoor":false,
      "rearLeftTyrePressure":50,
      "rearLeftTyrePressurePresent":true,
      "rearLeftWindow":false,
      "rearLeftWindowPresent":true,
      "rearRightDoor":false,
      "rearRightTyrePressure":51,
      "rearRightTyrePressurePresent":true,
      "rearRightWindow":false,
      "rearRightWindowPresent":true,
      "remoteClimateStatus":0,
      "rmtHtdRrWndSt":0,
      "sideLightStatus":false,
      "sunroofStatus":false,
      "sunroofStatusPresent":true,
      "timeOfLastCANBUSActivity":1665031446,
      "vehElecRngDsp":0,
      "vehicleAlarmStatus":2,
      "vehicleAlarmStatusPresent":true,
      "wheelTyreMonitorStatus":0,
      "wheelTyreMonitorStatusPresent":true
    },
    "extendedVehicleStatus":{
      "@ASN1Type":"RvsExtStatus",
      "vehicleAlerts":[
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":1,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":2,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":3,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":4,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":5,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":6,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":7,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":8,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":9,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":10,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":11,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":12,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":13,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":14,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":15,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":16,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":17,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":18,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":19,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":20,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":21,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":22,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":23,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":24,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":25,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":26,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":27,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":28,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":29,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":30,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":31,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":32,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":33,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":34,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":35,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":36,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":37,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":38,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":39,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":40,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":41,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":42,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":43,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":44,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":45,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":46,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":47,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":48,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":49,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":50,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":51,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":52,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":53,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":54,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":55,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":56,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":57,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":58,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":59,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":60,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":61,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":62,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":63,
          "value":0
        },
        {
          "@ASN1Type":"VehicleAlertInfo",
          "id":64,
          "value":0
        }
      ]
    },
    "extendedVehicleStatusPresent":true,
    "gpsPosition":{
      "@ASN1Type":"RvsPosition",
      "gpsStatus":"fix2D",
      "timestamp4Short":{
        "@ASN1Type":"Timestamp4Short",
        "seconds":1665000000
      },
      "wayPoint":{
        "@ASN1Type":"RvsWayPoint",
        "hdop":9,
        "heading":0,
        "position":{
          "@ASN1Type":"RvsWGS84Point",
          "altitude":373,
          "latitude":51200000,
          "longitude":8200000
        },
        "satellites":10,
        "speed":0
      }
    },
    "statusTime":1665031447
  },
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackMessageCounter":null,
    "ackMessageCounterPresent":false,
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":199,
    "applicationDataLengthPresent":true,
    "applicationDataProtocolVersion":25857,
    "applicationDataProtocolVersionPresent":true,
    "applicationID":"511",
    "dlMessageCounter":null,
    "dlMessageCounterPresent":false,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1665000000,
    "eventID":9999,
    "eventIDPresent":true,
    "messageID":2,
    "result":0,
    "resultPresent":true,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "tokenPresent":true,
    "uid":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "uidPresent":true,
    "ulMessageCounter":null,
    "ulMessageCounterPresent":false,
    "vin":"XXXXXXXXXXXXXXXXX",
    "vinPresent":true
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":117,
    "protocolVersion":33
  },
  "reserved":"AAAAAAAAAAAAAAAAAAAAAA=="
}
  • extendedData1: SOC

  • extendedData2: 0: not charging, 1: charging

API v3.0

Message Format

ABBBBCCCCCCDDD…​DDD(EEE…​EEE)

A

1 following data is hexencoded, 0 following data is raw

B

hexencoded message length (raw byte count)

C

message header, one byte per attribute

MP_DispatcherHeaderModule

DEFINITIONS
AUTOMATIC TAGS ::=
BEGIN
MP_DispatcherHeader ::= SEQUENCE
{
  dispatcherBodyEncoding INTEGER(0..2),
  dispatcherMessageLength INTEGER(0..255),
  protocolVersion INTEGER(0..255)
}

END
D

message body, encoding defined by message header, usually PER

MP_DispatcherBodyModule

DEFINITIONS
AUTOMATIC TAGS ::=
BEGIN
MP_DispatcherBody ::= SEQUENCE
{
  uid IA5String(SIZE(50)) OPTIONAL,
  token IA5String(SIZE(40)) OPTIONAL,
  applicationID IA5String(SIZE(3)),
  vin IA5String(SIZE(17)) OPTIONAL,
  messageID INTEGER(0..255),
  eventCreationTime INTEGER(0..2147483647),
  eventID INTEGER(0..2147483647) OPTIONAL,
  ulMessageCounter INTEGER(0..65535) OPTIONAL,
  dlMessageCounter INTEGER(0..65535) OPTIONAL,
  ackMessageCounter INTEGER(0..65535) OPTIONAL,
  ackRequired BOOLEAN OPTIONAL,
  applicationDataLength INTEGER(0..65535) OPTIONAL,
  applicationDataEncoding DataEncodingType OPTIONAL,
  applicationDataProtocolVersion INTEGER(0..65535) OPTIONAL,
  testFlag INTEGER(1..3) OPTIONAL,
  result INTEGER(0..65535) OPTIONAL,
  errorMessage OCTET STRING(SIZE(1..1024)) OPTIONAL
}
DataEncodingType ::= ENUMERATED
{
  perUnaligned(0),
  der(1),
  ber(2)
}

END
E

optional application data, encoding defined by message body, usually PER

ApplicationDataModule

DEFINITIONS
AUTOMATIC TAGS ::=
BEGIN
OTAChrgMangDataResp ::= SEQUENCE
{
  bmsReserCtrlDspCmd INTEGER(0..255),
  bmsReserStHourDspCmd INTEGER(0..255),
  bmsReserStMintueDspCmd INTEGER(0..255),
  bmsReserSpHourDspCmd INTEGER(0..255),
  bmsReserSpMintueDspCmd INTEGER(0..255),
  bmsOnBdChrgTrgtSOCDspCmd INTEGER(0..255),
  bmsEstdElecRng INTEGER(0..65535),
  bmsAltngChrgCrntDspCmd INTEGER(0..255),
  bmsChrgCtrlDspCmd INTEGER(0..255),
  chrgngRmnngTime INTEGER(0..65535),
  chrgngRmnngTimeV INTEGER(0..255),
  bmsChrgOtptCrntReq INTEGER(0..65535),
  bmsChrgOtptCrntReqV INTEGER(0..255) OPTIONAL,
  bmsPackCrnt INTEGER(0..65535),
  bmsPackCrntV INTEGER(0..255) OPTIONAL,
  bmsPackVol INTEGER(0..65535),
  bmsPackSOCDsp INTEGER(0..65535),
  bmsChrgSts INTEGER(0..255),
  bmsChrgSpRsn INTEGER(0..255),
  clstrElecRngToEPT INTEGER(0..65535),
  bmsPTCHeatReqDspCmd INTEGER(0..255),
  bmsPTCHeatResp INTEGER(0..255) OPTIONAL,
  ccuEleccLckCtrlDspCmd INTEGER(0..255) OPTIONAL,
  bmsPTCHeatSpRsn INTEGER(0..255) OPTIONAL,
  bmsDsChrgSpRsn INTEGER(0..255) OPTIONAL,
  disChrgngRmnngTime INTEGER(0..65535) OPTIONAL,
  disChrgngRmnngTimeV INTEGER(0..255) OPTIONAL,
  imcuVehElecRng INTEGER(0..65535) OPTIONAL,
  imcuVehElecRngV INTEGER(0..255) OPTIONAL,
  imcuChrgngEstdElecRng INTEGER(0..65535) OPTIONAL,
  imcuChrgngEstdElecRngV INTEGER(0..255) OPTIONAL,
  imcuDschrgngEstdElecRng INTEGER(0..65535) OPTIONAL,
  imcuDschrgngEstdElecRngV INTEGER(0..255) OPTIONAL,
  chrgngSpdngTime INTEGER(0..65535) OPTIONAL,
  chrgngSpdngTimeV INTEGER(0..255) OPTIONAL,
  chrgngAddedElecRng INTEGER(0..65535) OPTIONAL,
  chrgngAddedElecRngV INTEGER(0..255) OPTIONAL,
  onBdChrgrAltrCrntInptCrnt INTEGER(0..255) OPTIONAL,
  onBdChrgrAltrCrntInptVol INTEGER(0..255) OPTIONAL,
  ccuOnbdChrgrPlugOn INTEGER(0..255) OPTIONAL,
  ccuOffBdChrgrPlugOn INTEGER(0..255) OPTIONAL,
  chrgngDoorPosSts INTEGER(0..255) OPTIONAL,
  chrgngDoorOpenCnd INTEGER(0..255) OPTIONAL,
  chargeStatus RvsChargingStatus(1),
  bmsAdpPubChrgSttnDspCmd INTEGER(0..255)
}
RvsChargingStatus ::= SEQUENCE
{
  realtimePower INTEGER(0..65535),
  chargingGunState BOOLEAN,
  fuelRangeElec INTEGER(0..65535),
  chargingType INTEGER(0..255),
  startTime INTEGER(0..2147483647) OPTIONAL,
  endTime INTEGER(0..2147483647) OPTIONAL,
  chargingPileID IA5String(SIZE(0..64)) OPTIONAL,
  chargingPileSupplier IA5String(SIZE(0..64)) OPTIONAL,
  workingCurrent INTEGER(0..65535) OPTIONAL,
  workingVoltage INTEGER(0..65535) OPTIONAL,
  mileageSinceLastCharge INTEGER(0..65535) OPTIONAL,
  powerUsageSinceLastCharge INTEGER(0..65535) OPTIONAL,
  mileageOfDay INTEGER(0..65535) OPTIONAL,
  powerUsageOfDay INTEGER(0..65535) OPTIONAL,
  staticEnergyConsumption INTEGER(0..65535) OPTIONAL,
  chargingElectricityPhase INTEGER(0..255) OPTIONAL,
  chargingDuration INTEGER(0..2147483647) OPTIONAL,
  lastChargeEndingPower INTEGER(0..65535) OPTIONAL,
  totalBatteryCapacity INTEGER(0..65535) OPTIONAL,
  fotaLowestVoltage INTEGER(0..255) OPTIONAL,
  mileage INTEGER(0..2147483647),
  extendedData1 INTEGER(0..2147483647) OPTIONAL,
  extendedData2 INTEGER(0..2147483647) OPTIONAL,
  extendedData3 IA5String(SIZE(0..1024)) OPTIONAL,
  extendedData4 IA5String(SIZE(0..1024)) OPTIONAL
}
OTAChrgCtrlReq ::= SEQUENCE
{
    chrgCtrlReq INTEGER(0..255),
    tboxV2XReq INTEGER(0..255),
    tboxEleccLckCtrlReq INTEGER(0..255)
}
OTAChrgCtrlStsResp ::= SEQUENCE
{
    chrgCtrlDspCmd INTEGER(0..255),
    chrgCtrlResp INTEGER(0..255),
    bmsDsChrgCtrlDspCmd INTEGER(0..255) OPTIONAL,
    bmsDsChrgCtrlResp INTEGER(0..255) OPTIONAL,
    ccuEleccLckCtrlDspCmd INTEGER(0..255) OPTIONAL,
    ccuEleccLckCtrlResp INTEGER(0..255) OPTIONAL,
    rvcReqSts OCTET STRING(SIZE(1)) OPTIONAL
}
OTAChrgRsvanReq ::= SEQUENCE
{
    rsvanStHour INTEGER(0..255),
    rsvanStMintu INTEGER(0..255),
    rsvanSpHour INTEGER(0..255),
    rsvanSpMintu INTEGER(0..255),
    tboxReserCtrlReq INTEGER(0..255),
    tboxAdpPubChrgSttnReq INTEGER(0..255)
}
OTAChrgRsvanResp ::= SEQUENCE
{
    rvcReqSts OCTET STRING(SIZE(1)),
    bmsReserCtrlDspCmd INTEGER(0..255),
    bmsReserStHourDspCmd INTEGER(0..255),
    bmsReserStMintueDspCmd INTEGER(0..255),
    bmsReserSpHourDspCmd INTEGER(0..255),
    bmsReserSpMintueDspCmd INTEGER(0..255),
    bmsAdpPubChrgSttnDspCmd INTEGER(0..255),
    bmsReserChrgCtrlResp INTEGER(0..255) OPTIONAL
}
OTAChrgSetngReq ::= SEQUENCE
{
    onBdChrgTrgtSOCReq INTEGER(0..255),
    altngChrgCrntReq INTEGER(0..255),
    tboxV2XSpSOCReq INTEGER(0..255)
}
OTAChrgSetngResp ::= SEQUENCE
{
    rvcReqSts OCTET STRING(SIZE(1)),
    bmsOnBdChrgTrgtSOCDspCmd INTEGER(0..255),
    bmsChrgTrgtSOCResp INTEGER(0..255),
    bmsEstdElecRng INTEGER(0..65535),
    bmsAltngChrgCrntDspCmd INTEGER(0..255),
    bmsPackCrnt INTEGER(0..65535),
    bmsAltngChrgCrntResp INTEGER(0..255),
    imcuDschrgTrgtSOCDspCmd INTEGER(0..255) OPTIONAL,
    imcuDschrgTrgtSOCResp INTEGER(0..255) OPTIONAL
}
OTAChrgHeatReq ::= SEQUENCE
{
    ptcHeatReq INTEGER(0..255)
}
OTAChrgHeatResp ::= SEQUENCE
{
    ptcHeatReqDspCmd INTEGER(0..255),
    ptcHeatResp INTEGER(0..255),
    rvcReqSts OCTET STRING(SIZE(1))
}
END

Message Types

Vehicle Charging Status

To get the charging status, send a messeage with eventId=0 to the API endpoint. You will get a message back with en eventId>0, result=0 and no application data. Send the message again with the eventId you just got, and you will get the filled application data. (You maybe need to repeat this, until you get a valid answer)

Request

1008630730000000000000000000000000000000000F0F183060C183060C183060C183060C183060C183060C183060C183060C183060C1CB060C183060C183972E5CB97361CB972E5CB95AC2C39B0B5CB073616B972E5CAD72E6C5872E6C39B0E6C5872E5CB96AC5B58B162C3972C1CB9B16183972E5CB905C67BC48000009C3C0000030040
{
  "applicationData":null,
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackMessageCounter":null,
    "ackMessageCounterPresent":false,
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":0,
    "applicationDataLengthPresent":true,
    "applicationDataProtocolVersion":768,
    "applicationDataProtocolVersionPresent":true,
    "applicationID":"516",
    "dlMessageCounter":null,
    "dlMessageCounterPresent":false,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1665000000,
    "eventID":9999,
    "eventIDPresent":true,
    "messageID":5,
    "result":null,
    "resultPresent":false,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"9X999999-0X9X-909X-9999-99XX99X9X9XX9999",
    "tokenPresent":true,
    "uid":"00000000000000000000000000000000000090000000099999",
    "uidPresent":true,
    "ulMessageCounter":null,
    "ulMessageCounterPresent":false,
    "vin":"XXXX99099XX099999",
    "vinPresent":true
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":115,
    "protocolVersion":48
  },
  "reserved":"AAAAAAAAAAAAAAAAAAAAAA=="
}

Response

1008830750000000000000000000000000000000000F0F983060C183060C183060C183060C183060C183060C183060C183060C183060C1CB060C183060C183972E5CB97361CB972E5CB95AC2C39B0B5CB073616B972E5CAD72E6C5872E6C39B0E6C5872E5CB96AC5B58B162C3972C1CB9B16183972E5CB906C67BC48000009C3C00000300400000
{
  "applicationData":null,
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackMessageCounter":null,
    "ackMessageCounterPresent":false,
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":0,
    "applicationDataLengthPresent":true,
    "applicationDataProtocolVersion":768,
    "applicationDataProtocolVersionPresent":true,
    "applicationID":"516",
    "dlMessageCounter":null,
    "dlMessageCounterPresent":false,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1665000000,
    "eventID":9999,
    "eventIDPresent":true,
    "messageID":6,
    "result":0,
    "resultPresent":true,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"9X999999-0X9X-909X-9999-99XX99X9X9XX9999",
    "tokenPresent":true,
    "uid":"00000000000000000000000000000000000090000000099999",
    "uidPresent":true,
    "ulMessageCounter":null,
    "ulMessageCounterPresent":false,
    "vin":"XXXX99099XX099999",
    "vinPresent":true
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":117,
    "protocolVersion":48
  },
  "reserved":"AAAAAAAAAAAAAAAAAAAAAA=="
}

Request

1008630730000000000000000000000000000000000F0F183060C183060C183060C183060C183060C183060C183060C183060C183060C1CB060C183060C183972E5CB97361CB972E5CB95AC2C39B0B5CB073616B972E5CAD72E6C5872E6C39B0E6C5872E5CB96AC5B58B162C3972C1CB9B16183972E5CB905C67BC48000009C3C0000030040
{
  "applicationData":null,
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackMessageCounter":null,
    "ackMessageCounterPresent":false,
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":0,
    "applicationDataLengthPresent":true,
    "applicationDataProtocolVersion":768,
    "applicationDataProtocolVersionPresent":true,
    "applicationID":"516",
    "dlMessageCounter":null,
    "dlMessageCounterPresent":false,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1665000000,
    "eventID":9999,
    "eventIDPresent":true,
    "messageID":5,
    "result":null,
    "resultPresent":false,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"9X999999-0X9X-909X-9999-99XX99X9X9XX9999",
    "tokenPresent":true,
    "uid":"00000000000000000000000000000000000090000000099999",
    "uidPresent":true,
    "ulMessageCounter":null,
    "ulMessageCounterPresent":false,
    "vin":"XXXX99099XX099999",
    "vinPresent":true
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":115,
    "protocolVersion":48
  },
  "reserved":"AAAAAAAAAAAAAAAAAAAAAA=="
}

Response

100CF30750000000000000000000000000000000000F0F983060C183060C183060C183060C183060C183060C183060C183060C183060C1CB060C183060C183972E5CB97361CB972E5CB95AC2C39B0B5CB073616B972E5CAD72E6C5872E6C39B0E6C5872E5CB96AC5B58B162C3972C1CB9B16183972E5CB906C67BC48000009C3C011C03004000000800000000000000070122000203FF0103FF4E2006420349000000F30000CFCE0026204BF00633D509CC67AFD5C9C400C8400F0002A000000000000000009DC0B5400025BC0000
{
  "applicationData":{
    "@ASN1Type":"OTAChrgMangDataResp",
    "bmsAdpPubChrgSttnDspCmd":0,
    "bmsAltngChrgCrntDspCmd":0,
    "bmsChrgCtrlDspCmd":2,
    "bmsChrgOtptCrntReq":1023,
    "bmsChrgOtptCrntReqV":null,
    "bmsChrgOtptCrntReqVPresent":false,
    "bmsChrgSpRsn":0,
    "bmsChrgSts":0,
    "bmsDsChrgSpRsn":null,
    "bmsDsChrgSpRsnPresent":false,
    "bmsEstdElecRng":290,
    "bmsOnBdChrgTrgtSOCDspCmd":7,
    "bmsPackCrnt":20000,
    "bmsPackCrntV":null,
    "bmsPackCrntVPresent":false,
    "bmsPackSOCDsp":841,
    "bmsPackVol":1602,
    "bmsPTCHeatReqDspCmd":0,
    "bmsPTCHeatResp":null,
    "bmsPTCHeatRespPresent":false,
    "bmsPTCHeatSpRsn":0,
    "bmsPTCHeatSpRsnPresent":true,
    "bmsReserCtrlDspCmd":0,
    "bmsReserSpHourDspCmd":0,
    "bmsReserSpMintueDspCmd":0,
    "bmsReserStHourDspCmd":0,
    "bmsReserStMintueDspCmd":0,
    "ccuEleccLckCtrlDspCmd":null,
    "ccuEleccLckCtrlDspCmdPresent":false,
    "ccuOffBdChrgrPlugOn":null,
    "ccuOffBdChrgrPlugOnPresent":false,
    "ccuOnbdChrgrPlugOn":null,
    "ccuOnbdChrgrPlugOnPresent":false,
    "chargeStatus":{
      "@ASN1Type":"RvsChargingStatus",
      "chargingDuration":0,
      "chargingDurationPresent":true,
      "chargingElectricityPhase":null,
      "chargingElectricityPhasePresent":false,
      "chargingGunState":false,
      "chargingPileID":null,
      "chargingPileIDPresent":false,
      "chargingPileSupplier":null,
      "chargingPileSupplierPresent":false,
      "chargingType":0,
      "endTime":1664974510,
      "endTimePresent":true,
      "extendedData1":null,
      "extendedData1Present":false,
      "extendedData2":null,
      "extendedData2Present":false,
      "extendedData3":null,
      "extendedData3Present":false,
      "extendedData4":null,
      "extendedData4Present":false,
      "fotaLowestVoltage":null,
      "fotaLowestVoltagePresent":false,
      "fuelRangeElec":2430,
      "lastChargeEndingPower":631,
      "lastChargeEndingPowerPresent":true,
      "mileage":19320,
      "mileageOfDay":0,
      "mileageOfDayPresent":true,
      "mileageSinceLastCharge":120,
      "mileageSinceLastChargePresent":true,
      "powerUsageOfDay":0,
      "powerUsageOfDayPresent":true,
      "powerUsageSinceLastCharge":21,
      "powerUsageSinceLastChargePresent":true,
      "realtimePower":610,
      "startTime":1664962716,
      "startTimePresent":true,
      "staticEnergyConsumption":null,
      "staticEnergyConsumptionPresent":false,
      "totalBatteryCapacity":725,
      "totalBatteryCapacityPresent":true,
      "workingCurrent":20000,
      "workingCurrentPresent":true,
      "workingVoltage":1602,
      "workingVoltagePresent":true
    },
    "chrgngAddedElecRng":null,
    "chrgngAddedElecRngPresent":false,
    "chrgngAddedElecRngV":null,
    "chrgngAddedElecRngVPresent":false,
    "chrgngDoorOpenCnd":null,
    "chrgngDoorOpenCndPresent":false,
    "chrgngDoorPosSts":null,
    "chrgngDoorPosStsPresent":false,
    "chrgngRmnngTime":1023,
    "chrgngRmnngTimeV":1,
    "chrgngSpdngTime":null,
    "chrgngSpdngTimePresent":false,
    "chrgngSpdngTimeV":null,
    "chrgngSpdngTimeVPresent":false,
    "clstrElecRngToEPT":243,
    "disChrgngRmnngTime":null,
    "disChrgngRmnngTimePresent":false,
    "disChrgngRmnngTimeV":null,
    "disChrgngRmnngTimeVPresent":false,
    "imcuChrgngEstdElecRng":null,
    "imcuChrgngEstdElecRngPresent":false,
    "imcuChrgngEstdElecRngV":null,
    "imcuChrgngEstdElecRngVPresent":false,
    "imcuDschrgngEstdElecRng":null,
    "imcuDschrgngEstdElecRngPresent":false,
    "imcuDschrgngEstdElecRngV":null,
    "imcuDschrgngEstdElecRngVPresent":false,
    "imcuVehElecRng":null,
    "imcuVehElecRngPresent":false,
    "imcuVehElecRngV":null,
    "imcuVehElecRngVPresent":false,
    "onBdChrgrAltrCrntInptCrnt":null,
    "onBdChrgrAltrCrntInptCrntPresent":false,
    "onBdChrgrAltrCrntInptVol":null,
    "onBdChrgrAltrCrntInptVolPresent":false
  },
  "body":{
    "@ASN1Type":"MP_DispatcherBody",
    "ackMessageCounter":null,
    "ackMessageCounterPresent":false,
    "ackRequired":null,
    "ackRequiredPresent":false,
    "applicationDataEncoding":"perUnaligned",
    "applicationDataEncodingPresent":true,
    "applicationDataLength":71,
    "applicationDataLengthPresent":true,
    "applicationDataProtocolVersion":768,
    "applicationDataProtocolVersionPresent":true,
    "applicationID":"516",
    "dlMessageCounter":null,
    "dlMessageCounterPresent":false,
    "errorMessage":null,
    "errorMessagePresent":false,
    "eventCreationTime":1665000000,
    "eventID":9999,
    "eventIDPresent":true,
    "messageID":6,
    "result":0,
    "resultPresent":true,
    "testFlag":2,
    "testFlagPresent":true,
    "token":"9X999999-0X9X-909X-9999-99XX99X9X9XX9999",
    "tokenPresent":true,
    "uid":"00000000000000000000000000000000000090000000099999",
    "uidPresent":true,
    "ulMessageCounter":null,
    "ulMessageCounterPresent":false,
    "vin":"XXXX99099XX099999",
    "vinPresent":true
  },
  "header":{
    "@ASN1Type":"MP_DispatcherHeader",
    "dispatcherBodyEncoding":0,
    "dispatcherMessageLength":117,
    "protocolVersion":48
  },
  "reserved":"AAAAAAAAAAAAAAAAAAAAAA=="
}
  • current power usage (kW): (bmsPackCrnt * 0.05 - 1000.0) * (bmsPackVol * 0.25) / 1000.0

  • negative values denote recuperation/charging