XML_EventNotificationAlert_ANPR

XML message about ANPR results

<EventNotificationAlert version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema"><!--required, xs:object, ANPR result-->
  <ipAddress><!--required, xs:string, IPv4 address of the device that triggers the alarm--></ipAddress>
  <ipv6Address><!--optional, xs:string, IPv6 address of the device that triggers the alarm--></ipv6Address>
  <portNo><!--optional, xs:integer, port No. of the device that triggers the alarm--></portNo>
  <protocol><!--required, xs:string, transmission communication protocol type: HTTP, HTTPS, EHome. The value should be HTTP when ISAPI protocol is transmitted via EZVIZ protocol. The value should be EHome when ISAPI protocol is transmitted via ISUP--></protocol>
  <macAddress><!--optional, xs:string, MAC address--></macAddress>
  <dynChannelID><!--optional, xs:string, digital channel No.--></dynChannelID>
  <channelID><!--optional, xs:string, channel (video channel) number of the device that triggers the alarm--></channelID>
  <releatedChannelList><!--optional, xs:string, list of channels linked with the alarm (the same alarm source). These channels, which are used to display live view or playback when the platform receives alarms, and that whose number is the value of <channelID> are in the same camera. Multiple channel No. should be separated by commas--></releatedChannelList>
  <dateTime>
    <!--required, xs:datetime, alarm triggering time, e.g., 2017-04-22T15:39:01+08:00-->
  </dateTime>
  <activePostCount><!--required, xs:integer, times that the same alarm has been uploaded--></activePostCount>
  <eventType><!--required, xs:string, event types, here it should be "ANPR"--></eventType>
  <eventState><!--required, xs:string, continuous event's status: active (valid event), inactive (invalid event)--></eventState>
  <eventDescription><!--required, xs:string, event description--></eventDescription>
  <channelName><!--optional, xs:string, channel name--></channelName>
  <deviceID><!--optional, xs:string, device ID, which should be returned when the alarm is uploaded via ISUP--></deviceID>
  <ANPR><!--optional, xs:object, ANPR alarm information. This node is valid only when the value of <eventType> is ANPR-->
    <region><!--optional, xs:string, region. For details, refer to Region Code--></region>
    <country><!--optional, xs:string, country/region. For details, refer to Country/Region Code--></country>
    <area><!--optional, xs:string, regions in United Arab Emirates: FJR (Al Fujayrah), AD (Abu Dhabi,), unknown, UMW (Umm Al Qaiwain), other, AM (Ajman), RAK (Ras Al Khaimah), DB (Dubai), SJ (Sharjah)--></area>
    <licensePlate><!--required, xs:string, license plate number: "noPlate" (vehicle without license plate), "unknown" (no license plate recognized), "XXXXXX" (recognized license plate number). The maximum string size is 32 bytes--></licensePlate>
    <line><!--required, xs:integer, recognized lane number--></line>
    <direction><!--optional, xs:string, license plate recognition direction: "reverse", "forward", "unknown"--></direction>
    <confidenceLevel><!--required, xs:integer, confidence level, which ranges from 0 to 100--></confidenceLevel>
    <plateType><!--optional, xs:string, license plate type: "unknown", "92TypeCivil"-92 civil vehicle, "92FarmVehicle"-civil vehicle two-line license plate, "arm"-police vehicle, "upDownMilitay"-military vehicle (up/down format), "92TypeArm"-92 armed police vehicle, "leftRightMilitay"-military vehicle (left/right format), "02TypePersonalized"-02 personalized vehicle, "yellowTwoLine"-yellow two-line license plate, "04NewMilitay"-04 new military vehicle, "embassy"-embassy car, "oneLineArm"-new armed police vehicle with one-line structure, "twoLineArm"-new armed police vehicle with two-line structure, "yellow1225FarmVehicle"-yellow agricultural vehicle with 1225 structure, "green1325FarmVehicle"-green agricultural vehicle with 1325 structure, "yellow1325FarmVehicle"-yellow agricultural vehicle with 1325 structure, "motorola"-motorcycle, "newEnergy"-new energy vehicle license plate, "civilAviation"-civil aviation license plate, "coach"-driver-training car, "tempTravl"-temporary license plate car, "trailer", "consulate"-consulate car, "hongKongMacao"-vehicle entering and exiting Hong Kong and Macao, "tempEntry"-temporary entry car, "emergency"-emergency license plate, "oneLineArmHeadquarters"-armed police headquarter license plate (one-line), "twoLineArmHeadquarters"-armed police headquarter license plate (two-line)--></plateType>
    <plateColor>
      <!--optional, xs:string, license plate color: "black", "blue", "golden", "orange", "red", "yellow", "white", "unknow", "other", "newEnergyYellowGreen" (new energy green and yellow), "civilAviationBlack" (civil aviation black), "civilAviationGreen" (civil aviation green), "green", "mixedColor" (mixed color), "newEnergyGreen" (new energy green)-->
    </plateColor>
    <licenseBright>
      <!--optional, xs:integer, license plate brightness, which ranges from 0 to 255-->
    </licenseBright>
    <Rect><!--optional, coordinates of the license plate thumbnail in the matched picture. The origin is the upper-left corner of the screen-->
      <height><!--required, xs:float, height, value range: [0.000,1.000]--></height>
      <width><!--required, xs:float, width, value range: [0.000,1.000]--></width>
      <x><!--required, xs:float, X-coordinate of the upper-left point, value range: [0.000,1.000]--></x>
      <y><!--required, xs:float, Y-coordinate of the upper-left point, value range: [0.000,1.000]--></y>
    </Rect>
    <pilotsafebelt>
      <!--optional, xs:string, whether the driver is wearing safety belt: "unknown, yes, no"-->
    </pilotsafebelt>
    <vicepilotsafebelt>
      <!--optional, xs:string, whether the co-driver is wearing safety belt: "unknown, yes, no"-->
    </vicepilotsafebelt>
    <pilotsunvisor>
      <!--optional, xs:string, whether the driver room's sun visor is open: "unknown, yes, no"-->
    </pilotsunvisor>
    <vicepilotsunvisor>
      <!--required, xs:string, whether the co-driver room's sun visor is open: "unknown, yes, no"-->
    </vicepilotsunvisor>
    <envprosign><!--optional, xs:string, whether it is a yellow-label vehicle: "unknown,yes,no"--></envprosign>
    <dangmark>
      <!--optional, xs:string, whether it is dangerous goods vehicle: "unknown, yes, no"-->
    </dangmark>
    <uphone>
      <!--optional, xs:string, whether the driver is making call: "unknown, yes, no"-->
    </uphone>
    <pendant>
      <!--optional, xs:string, whether there is window hangings detected: "unknown, yes, no"-->
    </pendant>
    <tissueBox>
      <!--optional, xs:string, whether there is tissue box detected: "unknown, yes, no"-->
    </tissueBox>
    <frontChild>
      <!--optional, xs:string, whether the co-driver is with baby in arm: "unknown, yes, no"-->
    </frontChild>
    <label>
      <!--optional, xs:string, whether there is label detected: "unknown, yes, no"-->
    </label>
    <decoration>
      <!--optional, xs:string, whether there is decoration detected: "unknown, yes, no"-->
    </decoration>
    <smoking>
      <!--optional, xs:string, whether there is smoking detected: "unknown, yes, no"-->
    </smoking>
    <perfumeBox>
      <!--optional, xs:string, whether there is perfume box detected: "unknown, yes, no"-->
    </perfumeBox>
    <pdvs>
      <!--optional, xs:string, whether there is a person sticking out of sunroof: "unknown, yes, no"-->
    </pdvs>
    <helmet>
      <!--optional, xs:string, whether there is helmet detected: "unknown, yes, no"-->
    </helmet>
    <twoWheelVehicle>
      <!--optional, xs:string, whether there is two-wheel detected: "unknown, yes, no"-->
    </twoWheelVehicle>
    <threeWheelVehicle>
      <!--optional, xs:string, whether there is three-wheel detected: "unknown, yes, no"-->
    </threeWheelVehicle>
    <blackness>
      <!--optional, xs:integer, Ringelmann emittance, which is used for smoke detection-->
    </blackness>
    <plateCharBelieve>
      <!--optional, xs:string, confidence of the license plate's character, value range: [0,100.00]. The value is accurate to two decimal places. For example, if the confidence of characters in the license plate "ZA12345" is 20, 30, 40, 50, 60, and 70, it indicates that the possibility that the first character recognized is "Z" is 20%, the possibility that the second character recognized is "A" is 30%, and so forth-->
    </plateCharBelieve>
    <speedLimit>
      <!--optional, xs:integer, maximum speed limit, this node is valid only when overspeeding occurred-->
    </speedLimit>
    <illegalInfo>
      <!--optional, traffic violation information of the vehicle-->
      <illegalCode>
        <!--required, xs:string, violation code-->
      </illegalCode>
      <illegalName>
        <!--required, xs:string, violation name-->
      </illegalName>
      <illegalDescription>
        <!--optional, xs:string, violation description-->
      </illegalDescription>
    </illegalInfo>
    <vehicleType>
      <!--optional, xs:string, vehicle type: "SUVMPV" (SUV/MPV), "buggy" (small-sized truck), "bus", "concreteMixer" (concrete mixer), "containerTruck" (container truck), "coupe", "crane", "hatchback", "largeBus" (large-sized bus), "lightTruck" (light truck), "mediumBus" (middle-sized bus), "mediumHeavyTruck" (medium and heavy truck), "miniCar" (mini sedan (transformed to "vehicle")), "minibus", "minitruck", "motorVehicle" (motor vehicle (transformed to "vehicle")), "nonmotorVehicle" (non-motor vehicle (transformed to "threeWheelVehicle")), "oilTankTruck" (oil tank truck), "pedestrian", "pickupTruck" (pickup truck (transformed to "buggy")), "platformTrailer" (platform trailer), "saloon", "slagTruck" (dump truck), "smallCar" (small sedan (transformed to "vehicle")), "threeWheelVehicle" (tricycle), "truck", "twoWheelVehicle" (two wheeler), "unknown", "van", "vehicle" (sedan)-->
    </vehicleType>
    <postPicFileName>
      <!--optional, xs:string, name of the picture selected as the checkpoint picture when illegal action occurs, "none" refers to not selecting any picture-->
    </postPicFileName>
    <featurePicFileName>
      <!--optional, xs:string, name of the picture selected as the close-up picture when running the red light in the intersection violation system is detected, "none" refers to not selecting any picture-->
    </featurePicFileName>
    <detectDir>
      <!--optional, xs:integer, detection direction: 1-upward, 2-downward, 3-bidirectional, 4-westward, 5-northward, 6-eastward, 7-southward, 8-other-->
    </detectDir>
    <detectType>
      <!--optional, xs:integer, detection type: 1-inductive loop trigger, 2-video trigger, 3-multiple-frame recognition, 4-radar trigger-->
    </detectType>
    <barrierGateCtrlType>
      <!--optional, xs:integer, whether the barrier gate is opened: 0-opened, 1-not opened-->
    </barrierGateCtrlType>
    <alarmDataType>
      <!--optional, xs:integer, 0-real-time data, 1-history data-->
    </alarmDataType>
    <dwIllegalTime>
      <!--optional, xs:integer, violation duration, which is the time difference between the capture time of the last picture and that of the first picture, unit: millisecond-->
    </dwIllegalTime>
    <vehicleInfo><!--optional, xs:object, vehicle information-->
      <index>
        <!--required, xs:integer, vehicle No.-->
      </index>
      <vehicleType>
        <!--optional, xs:integer, vehicle type: 0-other vehicle, 1-small-sized vehicle, 2-large-sized vehicle, 3-pedestrian trigger, 4-two wheeler trigger, 5-tricycle trigger, 6-motor vehicle trigger-->
      </vehicleType>
      <colorDepth>
        <!--required, xs:integer, shade of the vehicle color: 0-deep color, 1-light color-->
      </colorDepth>
      <color>
        <!--required, xs:string, vehicle color: "unknown", "white", "silver"-silvery, "gray", "blacks"-black, "red", "deepBlue"-dark blue, "blue", "yellow", "green", "brown", "pink", "purple", "deepGray"-dark gray, "cyan", "orange"-->
      </color>
      <speed>
        <!--required, xs:integer, vehicle speed, unit: km/h-->
      </speed>
      <length>
        <!--required, xs:integer, length of the former vehicle, unit: decimeter-->
      </length>
      <vehicleLogoRecog>
        <!--required, xs:integer, vehicle parent brand-->
      </vehicleLogoRecog>
      <vehileSubLogoRecog>
        <!--optional, xs:integer, vehicle sub-brand-->
      </vehileSubLogoRecog>
      <vehileModel>
        <!--optional, xs:integer, time to market of the vehicle sub-brand-->
      </vehileModel>
      <vehicleTypeByWeight>
        <!--optional, xs:integer, 1-class one vehicle (buses with seven or less seats, trucks with capacity of 2 tons or less), 2-class two vehicle (buses with 8 to 19 seats, trucks with capacity of 2 to 5 (included) tons), 3-class three vehicle (buses with 20 to 39 seats, trucks with capacity of 5 to 10 (included) tons), 4-class four vehicle (buses with 40 or more seats, trucks with capacity of 10 to 15 (included) tons), 5-class five vehicle (trucks with capacity of more than 15 tons), 6-class six vehicle (trucks with capacity of more than 15 tons)-->
      </vehicleTypeByWeight>
      <CarWindowFeature><!--optional, xs:object, window feature, which is configured by the node <CarWindowFeature> in the message of /ISAPI/ITC/carFeatureParam-->
        <tempPlate><!--optional, xs:string, whether there is a temporary license plate: unknown, yes, no-->unknown</tempPlate>
        <passCard><!--optional, xs:string, whether there is a vehicle pass: unknown, yes, no-->unknown</passCard>
        <carCard><!--optional, xs:string, whether there is a card (business card, leaflet, etc.)-->unknown</carCard>
      </CarWindowFeature>
      <CarBodyFeature><!--optional, xs:object, vehicle body attribute, which is configured by the node <CarBodyFeature> in the message of /ISAPI/ITC/carFeatureParam-->
        <sparetire><!--optional, xs:string, whether there is a spare tire: unknown, yes, no-->unknown</sparetire>
        <rack><!--optional, xs:string, whether there is a roof rack: unknown, yes, no-->unknown</rack>
        <sunRoof><!--optional, xs:string, whether there is a sunroof: unknown, yes, no-->unknown</sunRoof>
        <words><!--optional, xs:string, whether there are characters painted on the vehicle: unknown, yes, no-->unknown</words>
        <slagTruckCoverPlate><!--optional, xs:string, whether there is a cover on the dump truck: unknown, yes, no-->unknown</slagTruckCoverPlate>
      </CarBodyFeature>
      <vehicleUseType><!--optional, xs:string, vehicle type: taxi, ambulance, bus, schoolBus, coach, unknown. The vehicle type can be configured by the node <vehicleUseEnable> in the message of /ISAPI/ITC/carFeatureParam-->taxi</vehicleUseType>
    </vehicleInfo>
    <EntranceInfo><!--optional, xs:object, entrance and exit information-->
      <parkingID>
        <!--optional, xs:string, parking space No.-->
      </parkingID>
      <gateID>
        <!--optional, xs:string, entrance and exit No.-->
      </gateID>
      <direction>
        <!--optional, xs:string, entering and exiting direction-->
      </direction>
      <cardNo>
        <!--optional, xs:string, card No.-->
      </cardNo>
      <parkType>
        <!--optional, xs:string, parking type: "permanent", "temporary"-->
      </parkType>
    </EntranceInfo>
    <pictureInfoList><!--required, xs:object, picture list. Up to 8 pictures can be supported-->
      <pictureInfo><!--required, xs:object, picture information-->
        <fileName>
          <!--required, xs:string, picture name, which must correspond to the picture name transmitted with the alarm message-->
        </fileName>
        <type>
          <!--required, xs:string, picture type: "detectionPicture, licensePlatePicture, pilotPicture, copilotPicture, compositePicture, plateBinaryPicture, nonMotorPicture, pedestrianDetectionPicture, pedestrianPicture"-->
        </type>
        <dataType>
          <!--required, xs:integer, data type: 0-upload data, 1-upload URL-->
        </dataType>
        <picRecogMode>
          <!--optional, xs:integer, 0-front license plate recognition, 1-rear license plate recognition-->
        </picRecogMode>
        <redLightTime>
          <!--optional, xs:integer, red light time elapsed, unit: second-->
        </redLightTime>
        <vehicleHead>
          <!--optional, xs:integer, "unknown", "forward"-front license plate recognition, "back"-rear license plate recognition-->
        </vehicleHead>
        <absTime>
          <!--optional, xs:time, absolute time, format: yyyyMMddHHmmssxxx, e.g.: 20090810235959999, the last three number is time in millisecond-->
        </absTime>
        <plateRect>
          <!--dependent, the normalized value is the current image size in percentage multiplying 1000 and it is accurate to three decimal places. This node is valid only when <type> is "detectionPicture"-->
          <X>
            <!--required, xs:integer, X-coordinate of the upper-left corner of the boundary frame-->
          </X>
          <Y>
            <!--required, xs:integer, Y-coordinate of the upper-left corner of the boundary frame-->
          </Y>
          <width>
            <!--required, xs:integer, width of the boundary frame-->
          </width>
          <height>
            <!--required, xs:integer, height of the boundary frame-->
          </height>
        </plateRect>
        <vehicelRect>
          <!--dependent, the normalized value is the current image size in percentage multiplying 1000. This node is valid only when <type> is "detectionPicture"-->
          <X><!--required, xs:integer, X-coordinate of the upper-left point of the boundary frame-->
          </X>
          <Y><!--required, xs:integer, Y-coordinate of the upper-left point of the boundary frame-->
          </Y>
          <width>
            <!--required, xs:integer, width of the boundary frame-->
          </width>
          <height>
            <!--required, xs:integer, height of the boundary frame-->
          </height>
        </vehicelRect>
        <pictureURL>
          <!--dependent, xs:string, picture URL, which is valid only when <dataType> is "URL"-->
        </pictureURL>
        <pId><!--optional, xs:string, the maximum string size is 32 bytes. Recommended generation rule: device serial number+time since the device started+random number-->null</pId>
      </pictureInfo>
    </pictureInfoList>
    <hasMoreData>
      <!--optional, xs:boolean, whether there is more data. This node is used to report the license plate information first, and then report XML message with picture data; the XM message with picture data and license plate information are linked by UUID-->
    </hasMoreData>
    <listType><!--optional, xs:string, list type: white (allowlist), black (blocklist), temporary (temporary list)-->white</listType>
    <originalLicensePlate>
      <!--optional, xs:string, original license plate number, When the license plate number is a minor language, return the original license plate number-->
    </originalLicensePlate>  
    <CRIndex>
      <!--optional, xs:integer, country/region index. For details, refer to Country/Region Code-->
    </CRIndex>
    <VehicelGPSInfo><!--optional, GPS information of the vehicle-->
      <longitudeType><!--required, xs:string, longitude, "E,W"--></longitudeType>
      <latitudeType><!--required, xs:string, latitude, "S,N"--></latitudeType>
      <Longitude><!--required, longitude information-->
        <degree><!--required, xs:integer--></degree>
	<minute><!--required, xs:integer--></minute>
	<sec><!--required, xs:float, accurate to 6 decimal places--></sec>
      </Longitude>
      <Latitude><!--required, latitude information-->
	<degree><!--required, xs:integer--></degree>
	<minute><!--required, xs:integer,--></minute>
	<sec><!--required, xs:float, accurate to 6 decimal places--></sec>
      </Latitude>
    </VehicelGPSInfo>
    <vehiclePositionControl><!--optional, xs:string, arming type: "vehicleMonitor"-intelligent arming of vehicle (PUT /ISAPI/Traffic/channels/<ID>/vehicleMonitor/<taskID>/startTask), "manualVehicleMonitor"-manual arming of vehicle (PUT /ISAPI/Traffic/channels/<ID>/manualVehicleMonitor), "dailyVehicleMonitor"-daily arming of vehicle (you can check whether this arming type is supported via the node isSupportDailyVehicleMonitor in the capability message returned by /ISAPI/Traffic/channels/<ID>/vehicleDetect/capabilities; when daily arming of vehicle is enabled, both alarm of ANPR and intelligent arming of vehicle will be uploaded; if this node is not returned, it is normal vehicle detection--></vehiclePositionControl>
    <vehicleMonitorTaskID><!--optional, xs:string, task ID of intelligent arming of vehicle, the maximum size is 64 bytes, this node is returned when the value of vehiclePositionControl is "vehicleMonitor"--></vehicleMonitorTaskID>
    <vehicleListName><!--optional, xs:string, name of the list that the vehicle belongs to, the maximum size is 128 bytes--></vehicleListName>  
    <vehicleThermometryEnabled><!--optional, xs:boolean, whether to enable vehicle temperature measurement-->true</vehicleThermometryEnabled>
    <currTemperature><!--optional, xs:float, temperature-->36.5</currTemperature>
    <thermometryUnit><!--optional, xs:string, temperature unit: celsius, fahrenheit, kelvin-->celsius</thermometryUnit>
    <plateCategory><!--optional, xs:string, additional license plate information, the maximum string size is 8 bytes. This node is only used for license plates of the Middle East-->test</plateCategory>
    <plateSize><!--optional, xs:int, license plate size: 0 (unknown), 1 (long), 2 (short, which is used for license plates of the Middle East)-->1</plateSize>
  </ANPR>
  <UUID>
    <!--optional, xs:string, common ID, which is used to link the same capture across multiple servers-->
  </UUID>
  <picNum>
    <!--optional, xs:integer, number of pictures-->
  </picNum>
  <monitoringSiteID>
    <!--optional, xs:string, camera No.-->
  </monitoringSiteID>
  <ePlateUUID>
    <!--optional, xs:string, electronic license plate ID. If this node is configured with a value, it indicates that an electronic license plate is linked-->
  </ePlateUUID>
  <isDataRetransmission><!--optional, xs:boolean, data retransmission mark--></isDataRetransmission>
  <SceneInfo><!--optional, scene information-->
    <scenesID><!--optional, xs:string, scene ID, value range: [1,16]--></scenesID>
    <sceneName><!--optional, xs:string, scene name, the maximum size is 32 bytes--></sceneName>
    <PTZPos><!--optional, PTZ information-->
      <elevation><!--optional, xs:integer, value range: [-900,2700]--></elevation>
      <azimuth><!--optional, xs:integer, value range: [0,3600]--></azimuth>
      <absoluteZoom><!--optional, xs:integer, value range: [0,1000]--></absoluteZoom>
    </PTZPos>
  </SceneInfo>
  <monitorDescription><!--optional, xs:string, camera information--></monitorDescription>
  <DeviceGPSInfo>
    <!--optional, xs:object, GPS location information of the device-->
    <longitudeType>
      <!--required, xs:string, longitude type: E, W-->E
    </longitudeType>
    <latitudeType>
      <!--required, xs:string, latitude type: S, N-->S
    </latitudeType>
    <Longitude>
      <!--required, object, longitude-->
      <degree>
        <!--required, int, degree-->60
      </degree>
      <minute>
        <!--required, int, minute, value range: [0,59]-->59
      </minute>
      <sec>
        <!--required, float, second, value range: [0,59.999999]-->59.000000
      </sec>
    </Longitude>
    <Latitude>
      <!--required, object, latitude-->
      <degree>
        <!--required, int, degree-->60
      </degree>
      <minute>
        <!--required, int, minute, value range: [0,59]-->59
      </minute>
      <sec>
        <!--required, float, second, value range: [0,59.999999], the value is accurate to six decimal places-->59.000000
      </sec>
    </Latitude>
  </DeviceGPSInfo>
  <pilotStandardSafebelt>
    <!--optional, enum, whether the driver is buckled well: unknown, yes, no-->yes
  </pilotStandardSafebelt>
  <vicepilotStandardSafebelt>
    <!--optional, enum, whether the front passenger is buckled well: unknown, yes, no-->yes
  </vicepilotStandardSafebelt>
  <trafficLightSnap>
    <!--optional, enum, whether the picture is captured at the traffic light: yes, no-->yes
  </trafficLightSnap>
  <sequence>
    <!--optional, int, vehicle capture number by the burst triggered by the network, value range: [1,4294967295]. The burst control command will be applied after triggered by the network. Related URI: /ISAPI/Traffic/startRecognition. Related API of Device Network SDK: NET_DVR_ContinuousShoot-->0
  </sequence>
  <relaLaneDirectionType>
    <!--optional, int, linked lane direction: 0 (other), 1 (from east to west), 2 (from west to east), 3 (from south to north), 4 (from north to south) ,5 (from southeast to northwest), 6 (from northwest to southeast), 7 (from northeast to southwest), 8 (from southwest to northeast)-->1
  </relaLaneDirectionType>
  <carDirectionType>
    <!--optional, int, vehicle moving direction on the lane: 0 (downward), 1 (upward)-->1
  </carDirectionType>
  <targetID>
    <!--optional, string, vehicle target ID, value range:[1,64]. The device should ensure that it is unique. It corresponds to dwMatchNo in the Device Network SDK-->test
  </targetID>
  <isSecondCamera>
    <!--optional, bool, whether the picture is captured by the second camera-->false
  </isSecondCamera>
  <dataAnalysisType>
    <!--optional, int, data analysis type: 0 (data not analyzed), 1 (data already analyzed)-->1
  </dataAnalysisType>
  <RecordInfo>
    <!--optional, object, vehicle video information-->
    <fileName>
      <!--required, string, video file name: record.mp4 (vehicle video). When the video is transmitted in binary format, the value of this node must be the same as that of Content-ID-->record.mp4
    </fileName>
    <dataType>
      <!--required, int, data type: 0 (binary data), 1 (URL)-->0
    </dataType>
    <URL>
      <!--optional, string, URL. This node is valid when the value of <dataType> is URL-->null
    </URL>
  </RecordInfo>
  <VehicleWeightInfo>
    <!--optional, object, vehicle weight information-->
    <isOverWeight>
      <!--optional, bool, whether the vehicle is overweight-->false
    </isOverWeight>
    <axleNum>
      <!--optional, int, number of axles, value range:[1,10]-->4
    </axleNum>
    <overWeight>
      <!--optional, float, weight over the limit, value range: [0.000,100.000], unit: ton. The value is accurate to three decimal places-->4.502
    </overWeight>
    <weight>
      <!--optional, float, vehicle weight, value range: [0.000,100.000], unit: ton. The value is accurate to three decimal places-->4.502
    </weight>
    <limitWeight>
      <!--optional, float, weight limit, value range: [0.000,100.000], unit: ton. The value is accurate to three decimal places-->4.502
    </limitWeight>
    <axleLen>
      <!--optional, float, wheelbase, value range:[0.00,100.00], unit: ton. The value is accurate to two decimal places-->4.502
    </axleLen>
    <devDescInfo>
      <!--optional, string, device description, the maximum string size is 64 bytes-->null
    </devDescInfo>
    <AxleInfoList>
      <!--optional, object, list of the axle information. The number of elements in the list is the same as the value of <axleNum>-->
      <AxleInfo>
        <!--optional, object, information of an axle-->
        <axleWeight>
          <!--optional, float, axle weight, value range:[0.00,10000.00], unit: kg-->100.00
        </axleWeight>
        <axleDistance>
          <!--optional, int, axle distance, value range:[0,100000], unit: mm. It is the distance between the current axle and the next axle-->30000
        </axleDistance>
      </AxleInfo>
    </AxleInfoList>
    <length>
      <!--optional, int, vehicle length, value range:[1,1000000], unit: cm-->4000
    </length>
    <width>
      <!--optional, int, vehicle width, value range:[1,1000000], unit: cm-->4000
    </width>
    <height>
      <!--optional, int, vehicle height, value range:[1,1000000], unit: cm-->4000
    </height>
    <tiresNum>
      <!--optional, int, number of tires, value range:[1,20]-->4
    </tiresNum>
    <approvedPassengers>
      <!--optional, int, maximum number of passengers allowed, value range:[1,100]-->7
    </approvedPassengers>
  </VehicleWeightInfo>
  <isNotSlowZebraCrossing>
    <!--optional, bool, whether the vehicle did not slow down at zebra crossing-->false
  </isNotSlowZebraCrossing>
  <isTurnRightStop>
    <!--optional, bool, whether the vehicle did not stop before turning right-->false
  </isTurnRightStop>
  <PlateInfoList>
    <!--optional, object, license plate information (only used for Hong Kong/Macau license plates)-->
    <PlateInfo>
      <!--optional, object, information of a license plate-->
      <plateRect>
        <!--optional, object, coordinate of the license plate area. This node is valid when the value of <type> is detectionPicture. The value is normalized and equal to the size in percentage of the current image multiplying 1000. The origin is the upper-left corner of the screen-->
        <X>
          <!--required, int, X-coordinate of the upper-left corner of the boundary frame, value range: [0,1000]-->1000
        </X>
        <Y>
          <!--required, int, Y-coordinate of the upper-left corner of the boundary frame, value range: [0,1000]-->1000
        </Y>
        <width>
          <!--required, int, width of the boundary frame, value range:[0,1000]-->1000
        </width>
        <height>
          <!--required, int, height of the boundary frame, value range:[0,1000]-->1000
        </height>
      </plateRect>
      <plateColor>
        <!--required, enum, license plate color: black, blue, golden, orange, red, yellow, white, unknow, other, newEnergyYellowGreen (new energy green and yellow), civilAviationBlack (civil aviation black), civilAviationGreen (civil aviation green), green, mixedColor (mixed color), newEnergyGreen (new energy green)-->black
      </plateColor>
      <licensePlate>
        <!--required, string, license plate number: noPlate (vehicle without license plate), unknown (no license plate recognized), XXXXXX (recognized license plate number)-->A283KY77
      </licensePlate>
      <confidenceLevel>
        <!--required, int, confidence level, value range:[0,100]-->50
      </confidenceLevel>
    </PlateInfo>
  </PlateInfoList>
  <deviceUUID>
    <!--optional, string, device number, the maximum string size is 32 bytes. It is the device's serial number by default and can be edited by the node <deviceID> in the message of /ISAPI/System/deviceInfo-->12345
  </deviceUUID>
</EventNotificationAlert>