DDS Migration: V2 to V3¶
Detailed field-by-field mapping
For a complete field-level mapping with types, constraints, and regulatory references, see DDS Field-Level Mapping.
V2 Submission: EUDRSubmissionServiceV2 — /tracesnt/ws/EUDRSubmissionServiceV2
V2 Retrieval: EUDRRetrievalServiceV2 — /tracesnt/ws/EUDRRetrievalServiceV2
V3 (unified): EUDRDueDiligenceStatementServiceV3 — /tracesnt/ws/EUDRDueDiligenceStatementServiceV3
Key change: V3 consolidates submission and retrieval into a single service.
Namespace change:
http://ec.europa.eu/tracesnt/certificate/eudr/submission/v2 → http://ec.europa.eu/tracesnt/certificate/eudr/due-diligence-statement/v3
http://ec.europa.eu/tracesnt/certificate/eudr/retrieval/v2 → merged into the above
Operation changes¶
| V2 Service | V2 Operation | V3 Operation | Change |
|---|---|---|---|
| Submission | submitDds |
submitDds |
Request/response types renamed (see below) |
| Submission | amendDds |
amendDds |
Request/response types renamed |
| Submission | retractDds |
withdrawDds |
Renamed from retract to withdraw |
| Retrieval | getDdsInfo |
getDds |
Renamed; moved to DDS service |
| Retrieval | getDdsInfoByInternalReferenceNumber |
getDdsByInternalReference |
Renamed; moved to DDS service |
| Retrieval | getStatementByIdentifiers |
getDdsByIdentifiers |
Renamed; moved to DDS service |
| Retrieval | getReferencedDds |
— | Removed in V3 |
Request/Response type changes¶
Submission operations¶
| V2 | V3 | Notes |
|---|---|---|
SubmitStatementRequest |
SubmitDdsRequest |
Renamed; adds operatorRole field (OPERATOR / REPRESENTATIVE_OPERATOR) replacing operatorType |
SubmitStatementResponse |
SubmitDdsResponse |
Field renamed: ddsIdentifier → uuid |
AmendStatementRequest |
AmendDdsRequest |
Field renamed: ddsIdentifier → uuid |
AmendStatementResponse |
AmendDdsResponse |
Now returns uuid and status (lifecycle status, e.g. AVAILABLE) instead of HTTP status string |
RetractStatementRequest |
WithdrawDdsRequest |
Operation + type renamed; field ddsIdentifier → uuid |
RetractStatementResponse |
WithdrawDdsResponse |
Now returns uuid and status (lifecycle status, e.g. WITHDRAWN) instead of HTTP status string |
Retrieval operations¶
| V2 | V3 | Notes |
|---|---|---|
GetStatementInfoRequest |
GetDdsRequest |
Renamed; accepts up to 100 UUIDs |
GetStatementInfoResponse |
GetDdsResponse |
Renamed; uses OverviewType from common XSD |
GetDdsInfoByInternalReferenceNumberRequest |
GetDdsByInternalReferenceRequest |
Renamed |
GetDdsInfoByInternalReferenceNumberResponse |
GetDdsByInternalReferenceResponse |
Renamed |
GetStatementByIdentifiersRequest |
GetDdsByIdentifiersRequest |
Renamed |
GetStatementByIdentifiersResponse |
GetDdsByIdentifiersResponse |
Renamed; returns full DueDiligenceStatementBaseType |
GetReferencedDdsRequest |
— | Removed |
GetReferencedDdsResponse |
— | Removed |
Fault changes¶
| V2 | V3 | Notes |
|---|---|---|
DdsPermissionDeniedException |
PermissionDeniedException |
Renamed (generic) |
BusinessRulesValidationException |
BusinessRulesValidationException |
Unchanged |
| — | NotFoundException |
New — used by getDds, getDdsByInternalReference, getDdsByIdentifiers |
Data model changes¶
| Change | Details |
|---|---|
operatorType → operatorRole |
Field renamed in submit request; values changed to OPERATOR / REPRESENTATIVE_OPERATOR (TRADER roles removed) |
ddsIdentifier → uuid |
Identifier field renamed across all request types |
speciesInfo added to DdsCommodityType |
New — supports scientificName and commonName (up to 500 per commodity) |
| Producer type restructured | producerPosition → position, producerCountry → country, producerName → name |
| Producer location | V3 DDS requires geometryGeojson only (no postal address option) |
associatedStatements → groupedDeclarations |
Renamed; now uses GroupedDeclarationsType with groupedDeclaration reference numbers (max 2000) |
GROUPED / OBSOLETE statuses |
New lifecycle states for grouped declarations |
| Common model | V3 uses shared eudr-common.xsd types (UuidType, ActivityType, etc.) instead of V2's model/v2/eudr.xsd |
getReferencedDds removed |
Supply chain traversal operation no longer available in V3 |
| Retrieval merged into DDS service | No separate retrieval service — all operations on one endpoint |