3.8 Start Transaction

The StartTransaction message in OCPP 1.6J is sent by a charge point to the central system when a charging session begins. It includes details like the user’s ID tag, connector ID, timestamp, and initial meter reading. This message allows the central system to log the session, track energy usage, and ensure accurate billing or reporting for the user.

API Syntax

Description

Input Params

Return Value

SendStartTransactionRequest

Sends the StartTransaction request to the server. Creates an OCPP frame for the request and sends it using “sendframe”.

void

STARTTRANSACTIONERROR_T

Example:

void UpdateAndSendStartTransaction(char* IdTag, int meterStart, int connectorId, int reservationId)
{
UpdateStartTransactionRequestConnectorId(connectorId);
UpdateStartTransactionRequestIdTag(IdTag);
UpdateStartTransactionRequestMeterStart(meterStart);
UpdateStartTransactionRequestReservationId(reservationId);
(void)SendStartTransactionRequest();
}

API Syntax

Description

Input Params

Return Value

UpdateStartTransactionRequestConnectorId

Updates the connector ID in the StartTransaction request.

int connectorid

void

Example:

	
void UpdateAndSendStartTransaction(char* IdTag, int meterStart, int connectorId, int reservationId)
{
UpdateStartTransactionRequestConnectorId(connectorId);
UpdateStartTransactionRequestIdTag(IdTag);
UpdateStartTransactionRequestMeterStart(meterStart);
UpdateStartTransactionRequestReservationId(reservationId);
SendStartTransactionRequest();
}

API Syntax

Description

Input Params

Return Value

UpdateStartTransactionRequestIdTag

Updates the ID tag in the StartTransaction request.

const char *idTag

void

Example:

	    void UpdateAndSendStartTransaction(char* IdTag, int meterStart, int connectorId, int reservationId)
{
UpdateStartTransactionRequestConnectorId(connectorId);
UpdateStartTransactionRequestIdTag(IdTag);
UpdateStartTransactionRequestMeterStart(meterStart);
UpdateStartTransactionRequestReservationId(reservationId);
SendStartTransactionRequest();
}

API Syntax

Description

Input Params

Return Value

UpdateStartTransactionRequestMeterStart

Updates the meter start value in the StartTransaction request.

int meterstart

void

Example:

void UpdateAndSendStartTransaction(char* IdTag, int meterStart, int connectorId, int reservationId)
{
UpdateStartTransactionRequestConnectorId(connectorId);
UpdateStartTransactionRequestIdTag(IdTag);
UpdateStartTransactionRequestMeterStart(meterStart);
UpdateStartTransactionRequestReservationId(reservationId);
SendStartTransactionRequest();
}

Syntax

Description

Constants/Members

STARTTRANSACTION_REQUEST_T

Structure holds the parameters required to initiate a StartTransaction request.

char uuid[];

int connectorId;

idToken idTag[];

int meterStart;

char timeStamp[];

int reservationId;

STARTTRANSACTION_RESPONSE_T

Structure holds the information received in response to a StartTransaction request.

AUTHORIZATIONSTATUS_T enumState;

IDTAG_INFO_T idTagInfo;

int transactionId;

STARTTRANSACTIONERROR_T

Enumeration for StartTransaction error codes

STARTTRANSACTION_SUCCESS

STARTTRANSACTION_FAILED

STARTTRANSACTION_RESPONSE_SUCCESS,

STARTTRANSACTION_RESPONSE_FAILED