pub struct BuildRequest {
pub header: MessageHeaderRequest,
pub version: String,
pub profile: Option<String>,
pub releases: Vec<ReleaseRequest>,
pub deals: Vec<DealRequest>,
pub extensions: Option<IndexMap<String, String>>,
}
Expand description
Build request for generating DDEX messages
Contains all the information needed to generate a complete DDEX XML message, including message header, releases, deals, and any extensions. The structure is designed for deterministic output with stable ordering.
§Example
use ddex_builder::builder::{BuildRequest, MessageHeaderRequest, PartyRequest, LocalizedStringRequest};
let request = BuildRequest {
header: MessageHeaderRequest {
message_id: Some("MSG123".to_string()),
message_sender: PartyRequest {
party_name: vec![LocalizedStringRequest {
text: "My Label".to_string(),
language_code: Some("en".to_string()),
}],
party_id: Some("PADPIDA2014120301K".to_string()),
party_reference: None,
},
// ... other fields
message_recipient: PartyRequest { /* ... */ },
message_control_type: Some("NewReleaseMessage".to_string()),
message_created_date_time: None, // Will be auto-generated
},
version: "4.3".to_string(),
profile: None,
releases: vec![/* ReleaseRequest items */],
deals: vec![/* DealRequest items */],
extensions: None,
};
Fields§
§header: MessageHeaderRequest
Message header containing sender, recipient, and message metadata
version: String
ERN version (e.g., “3.8.2”, “4.2”, “4.3”)
profile: Option<String>
DDEX profile identifier (optional)
releases: Vec<ReleaseRequest>
List of releases in this message Uses Vec to maintain order while allowing duplicates if needed
deals: Vec<DealRequest>
List of commercial deals
extensions: Option<IndexMap<String, String>>
Custom extensions (uses IndexMap for deterministic ordering)
Trait Implementations§
Source§impl Clone for BuildRequest
impl Clone for BuildRequest
Source§fn clone(&self) -> BuildRequest
fn clone(&self) -> BuildRequest
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for BuildRequest
impl Debug for BuildRequest
Source§impl<'de> Deserialize<'de> for BuildRequest
impl<'de> Deserialize<'de> for BuildRequest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for BuildRequest
impl RefUnwindSafe for BuildRequest
impl Send for BuildRequest
impl Sync for BuildRequest
impl Unpin for BuildRequest
impl UnwindSafe for BuildRequest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more