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: MessageHeaderRequestMessage header containing sender, recipient, and message metadata
version: StringERN 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