Skip to content
Documentation Menu

Data Transfer (Charging Station → CSMS)

Source: OCPP 2.0.1 Part 2 — Specification (Edition 2, 2022-12-15) — Section 1.13 (Messages); Use Cases P01 / P02 (Functional Block P. DataTransfer)

Note: DataTransfer is bidirectional. This file describes the CS-initiated direction (P02 — Data Transfer to the CSMS). For the CSMS-initiated direction (P01) the wire format is identical.

Overview

When the Charging Station needs to send vendor-specific information to the CSMS for functionality not covered by OCPP, it uses DataTransferRequest. The vendorId identifies the vendor-specific implementation (RECOMMENDED to be reverse-DNS), and the optional messageId distinguishes individual messages within that vendor's namespace. The shape and length of data is open to implementation and must be agreed by both parties.

Status semantics:

  • Accepted / Rejected — implementation-specific, decided by the receiving side.
  • UnknownVendorId — recipient has no implementation for the given vendorId. data SHALL be absent.
  • UnknownMessageId — recipient does not recognize the given messageId.

Sequence Diagram

Charging Station  ──── DataTransferRequest ────▶  CSMS
                       (vendorId, messageId?, data?)
Charging Station  ◀─── DataTransferResponse ────  CSMS
                       (status, data?, statusInfo?)

Initiator

Charging Station → CSMS (this file). Also CSMS → CS (P01).

Fields

Field NameField TypeCard.Description
vendorIdstring [0..255]1..1Required. Identifies the vendor-specific implementation.
messageIdstring [0..50]0..1Optional. May be used to indicate a specific message or implementation.
dataanyType0..1Optional. Data without specified length or format. Must be agreed by both parties.

DataTransferStatusEnumType values

  • Accepted — Message accepted, request is accepted.
  • Rejected — Message accepted, but the contained request is rejected.
  • UnknownMessageId — Message could not be interpreted due to unknown messageId.
  • UnknownVendorId — Message could not be interpreted due to unknown vendorId.

Examples

{
  "vendorId": "com.vendorx.charging",
  "messageId": "TelemetryUpload",
  "data": { "voltage": 230.4, "freq": 50.02 }
}

Schema

Source: schemas/DataTransferRequest.json, schemas/DataTransferResponse.json (OCPP 2.0.1 FINAL)

Request schema (JSON Schema)
Response schema (JSON Schema)