Authorize
Core CP->CSMS
Sent by the Charge Point to authorize an identifier (RFID tag, credit card, etc.) before starting a transaction.
Quick Reference
Required Fields
idTag string(20) The identifier to be authorized (e.g., RFID tag)
Example Payload
{
"idTag": "AABBCCDD"
} Example Full Frame
[
2,
"msg-001",
"Authorize",
{
"idTag": "AABBCCDD"
}
]
Format: [MessageType, MessageId, Action, Payload]
Overview
The Authorize message is used to validate an identifier (typically an RFID tag) with the Central System before allowing a charging session to start. This is a critical security and billing verification step.
When to Send
- When a user presents an RFID tag to start charging
- Before sending StartTransaction (if authorization is required)
- Optionally before StopTransaction to verify the stopping user
Expected Response
The CSMS responds with an IdTagInfo object containing:
status:Accepted,Blocked,Expired,Invalid, orConcurrentTxexpiryDate(optional): When the authorization expiresparentIdTag(optional): Group identifier for the tag
Usage Notes
- Authorization can be skipped if the Charge Point has a local authorization list
- The idTag must be exactly as read from the RFID reader (case-sensitive)
- Some CSMSs support multiple identifier formats (RFID, credit card, app-based)
Best Practices
- Local authorization cache - Cache positive authorizations to allow offline charging
- Handle expiry dates - Check
expiryDatein responses and cache them - User feedback - Provide immediate visual/audio feedback based on authorization status
- Timeout handling - If authorization times out, decide whether to allow or deny charging
Testing Tips
- Test with valid idTag to verify
Acceptedresponse - Test with unknown idTag to verify
Invalidresponse - Test with blocked idTag to verify
Blockedresponse - Test offline mode with cached authorizations
Common Errors
PropertyConstraintViolation
Cause: idTag exceeds 20 characters
Solution: Ensure idTag is max 20 characters
TypeConstraintViolation
Cause: Missing required field idTag
Solution: Always include idTag in the payload