SendLocalList
Sent by the CSMS to update or replace the local authorization list on the Charging Station, enabling offline authorization.
Quick Reference
Required Fields
versionNumber integer Version number of the list being sent
updateType UpdateEnumType Differential (add/update/delete entries) or Full (replace entire list)
Optional Fields
localAuthorizationList array[AuthorizationData] List of authorization entries to add, update, or include in a full list
Example Payload
{
"versionNumber": 2,
"updateType": "Differential",
"localAuthorizationList": [
{
"idToken": {
"idToken": "AABBCCDD",
"type": "ISO14443"
},
"idTokenInfo": {
"status": "Accepted"
}
},
{
"idToken": {
"idToken": "DEADBEEF",
"type": "ISO14443"
},
"idTokenInfo": {
"status": "Blocked"
}
}
]
} Example Full Frame
[
2,
"msg-001",
"SendLocalList",
{
"versionNumber": 2,
"updateType": "Differential",
"localAuthorizationList": [
{
"idToken": {
"idToken": "AABBCCDD",
"type": "ISO14443"
},
"idTokenInfo": {
"status": "Accepted"
}
},
{
"idToken": {
"idToken": "DEADBEEF",
"type": "ISO14443"
},
"idTokenInfo": {
"status": "Blocked"
}
}
]
}
]
Format: [MessageType, MessageId, Action, Payload]
Overview
SendLocalList updates the Charging Station’s local authorization list, which allows it to authorize tokens without contacting the CSMS. This is critical for resilience during network outages.
When to Send
- When new RFID cards are issued
- When a card is revoked (send with
status: Blocked) - Periodically to keep the list in sync with the CSMS
Expected Response
status:Accepted,Failed, orVersionMismatch
Key Differences from OCPP 1.6J
| OCPP 1.6J | OCPP 2.0.1 |
|---|---|
idTag (string, max 20) | idToken object with idToken + type |
IdTagInfo in each entry | idTokenInfo with richer status set |
Usage Notes
Fullreplaces the entire list — use for initial provisioning or full resyncDifferentialadds/updates/removes individual entries — more efficient for small changes- To remove an entry in a
Differentialupdate, send the entry with noidTokenInfo versionNumbermust be greater than the current version
Testing Tips
- Send
Fulllist and verify all entries are available for offline authorization - Send
Differentialwith a blocked token and verify authorization is denied without CSMS contact - Test
VersionMismatchby sending a lower version number
Common Errors
TypeConstraintViolation
Cause: idToken sent as a plain string in the list entries
Solution: Each list entry uses idToken as an IdTokenType object (with idToken + type fields)
GenericError
Cause: versionNumber is lower than the current version
Solution: Ensure versionNumber is higher than the current version returned by GetLocalListVersion