GetTransactionStatus

Core CSMS->CS OCPP 2.0.1

Sent by the CSMS to check whether a specific transaction is still ongoing and whether any transaction-related messages are still pending delivery.

Quick Reference

Optional Fields

transactionId string(36)

ID of the transaction to check. If omitted, reports on any ongoing transactions.

Example Payload

{
  "transactionId": "txn-abc123"
}

Example Full Frame

[
  2,
  "msg-001",
  "GetTransactionStatus",
  {
    "transactionId": "txn-abc123"
  }
]

Format: [MessageType, MessageId, Action, Payload]

Overview

GetTransactionStatus lets the CSMS query the live status of a transaction — whether it is still active and whether any messages for it are queued but not yet sent.

Expected Response

  • ongoingIndicator: Boolean — true if the transaction is still in progress
  • messagesInQueue: Boolean — true if there are pending TransactionEvent messages not yet delivered

Usage Notes

  • Useful for reconciliation after a connectivity interruption
  • If messagesInQueue: true, wait for the Charging Station to deliver them before closing the transaction
  • Can be sent without transactionId to check if any transaction is ongoing

Testing Tips

  • Query during an active session and verify ongoingIndicator: true
  • Query after a session ends and verify ongoingIndicator: false
  • Test after a reconnect to check if offline messages are still queued

Common Errors

TypeConstraintViolation

Cause: transactionId is an integer

Solution: transactionId is a string in OCPP 2.0.1