1
Configure Your Webhook for Charging Events
In the Smartcar Dashboard, create or edit a webhook integration. Under Triggers, select the following events:
- Charge.IsCharging
- Charge.IsChargingCableConnected
- Charge.StateOfCharge (included as a trigger)
- Charge.ChargingCurrent (included as a trigger)
- Charge.ActiveLimit
- Charge.Amperage
- Charge.Voltage
- Charge.Wattage
- Charge.EnergyAdded
- Charge.TimeToComplete
- TractionBattery.Range
- TractionBattery.NominalCapacity
- Location.PreciseLocation
2
Validate Webhook Events
Smartcar will send a verification request to your endpoint, which you must respond to with a 200 OK status code to complete the setup (see Webhook Verification guide).
Once verified, you will start to receive vehicle data for the vehicles you have subscribed to this webhook. For this guide, we chose not to auto subscribe vehicles, so let’s head over to the Smartcar Dashboard to manually subscribe a vehicle to your webhook.
Select a vehicle from your list of connected vehicles and click on the three dots action menu to the right of the row and click subscribe. Select your newly created webhook from the options and click subscribe.

Subscribe a vehicle to a webhook in the Smartcar Dashboard
eventId and an eventType field. The eventType will indicate the type of event that occurred, such as VEHICLE_STATE or VEHICLE_ERROR.
Your handler should gracefully handle both event types. For VEHICLE_STATE events, you will receive the updated vehicle data. For VEHICLE_ERROR events, you may want to log the error.
For VEHICLE_STATE events, you will receive the data in a data property of the payload. There will also be an array of signals under a triggers property that caused the event to be sent. Lastly, you will also receive a meta property with additional context about the event, such as the webhook ID, name, delivery ID, delivery timestamp, etc.
How to track charging sessions
When a vehicle starts charging, you will receive a webhook event with theeventType of VEHICLE_STATE and the Charge.IsCharging signal set to true. When the vehicle stops charging, you will receive another event with Charge.IsCharging set to false. You can use these events to track the start and end of each charging session.
Example event payload:

