Migration Guide 2.0.1 → 2.1 Section P

DataTransfer — Migration Guide

Use cases P01–P02 (DataTransfer functional block). Perspective: CSMS Developer.

6 Sections
2 Use Cases
P01 – P02

Created by tzi.app — your guide to migrating from OCPP 2.0.1 to OCPP 2.1.

Overall Migration Effort: Minimal — The DataTransfer functional block is essentially unchanged between OCPP 2.0.1 and 2.1. The only concrete schema change is the increased max length for StatusInfoType.additionalInfo (512 → 1024 characters). All flows, message structures, enum values, and functional requirements remain identical.

1. Summary of Changes

Area Change Type Impact
StatusInfoType.additionalInfo Max length increased 512 → 1024 characters
JSON Schema $id URNs Updated Version identifiers changed from 2020:3 to 2025:1
Flows P01, P02 No changes Message structure, fields, enum values, and requirements are identical
DataTransferStatusEnumType No changes Same four values: Accepted, Rejected, UnknownMessageId, UnknownVendorId
DataTransferRequest fields No changes vendorId, messageId, data — same types and constraints
DataTransferResponse fields No changes status, data, statusInfo — same types and constraints
Requirements P01.FR.01–P01.FR.07 No changes Identical requirements
Requirements P02.FR.01–P02.FR.08 No changes Identical requirements

2. Schema Changes

2.1 StatusInfoType.additionalInfo — Max Length Increased

This applies to the statusInfo field in DataTransferResponse. The reasonCode max length (20 characters) remains unchanged.

Version additionalInfo maxLength
2.0.1 512
2.1 1024

CSMS Migration Action

  • If your CSMS validates or truncates additionalInfo at 512 characters, update the limit to 1024.
  • If your CSMS sends additionalInfo in responses (P02), you may now use up to 1024 characters.
  • If your CSMS parses additionalInfo from incoming responses (P01), ensure your storage/logging can handle up to 1024 characters.

2.2 JSON Schema $id URNs Updated

Message 2.0.1 $id 2.1 $id
DataTransferRequest urn:OCPP:Cp:2:2020:3:DataTransferRequest urn:OCPP:Cp:2:2025:1:DataTransferRequest
DataTransferResponse urn:OCPP:Cp:2:2020:3:DataTransferResponse urn:OCPP:Cp:2:2025:1:DataTransferResponse

Migration action: If your CSMS references these URNs for schema validation, update them to the 2.1 values.

3. P01 — Data Transfer to the Charging Station

No Breaking Changes

The P01 flow is functionally identical between 2.0.1 and 2.1. The same messages, fields, requirements, and behavior apply.

  • Request: DataTransferRequest with vendorId (required), messageId (optional), data (optional) — unchanged.
  • Response: DataTransferResponse with status (required), data (optional), statusInfo (optional) — unchanged.
  • Status enum values: Accepted, Rejected, UnknownVendorId, UnknownMessageId — unchanged.
  • Requirements P01.FR.01–P01.FR.07: Identical in both versions.

CSMS Migration Action: No code changes required for P01 logic, beyond the schema-level changes noted above.

4. P02 — Data Transfer to the CSMS

No Breaking Changes

The P02 flow is functionally identical between 2.0.1 and 2.1. The same messages, fields, requirements, and behavior apply.

  • Request: DataTransferRequest with vendorId (required), messageId (optional), data (optional) — unchanged.
  • Response: DataTransferResponse with status (required), data (optional), statusInfo (optional) — unchanged.
  • Status enum values: Accepted, Rejected, UnknownVendorId, UnknownMessageId — unchanged.
  • Requirements P02.FR.01–P02.FR.08: Identical in both versions.

CSMS Migration Action: No code changes required for P02 logic, beyond the schema-level changes noted above.

5. Field Constraints Reference (Both Versions)

Field Max Length Changed?
vendorId 255 No
messageId 50 No
data Undefined (agree between parties) No
statusInfo.reasonCode 20 No
statusInfo.additionalInfo 512 → 1024 Yes

6. Migration Checklist

  • Update additionalInfo max length validation from 512 to 1024 (if applicable)
  • Update JSON Schema $id URNs if used for schema validation
  • No changes needed to DataTransfer handler logic, routing, or vendor registries

OCPP 2.1 DataTransfer Migration Guide — Section P (Use Cases P01–P02) — CSMS Developer Perspective