pub struct MappingRequest {
pub id_type: IdType,
pub id_value: Value,
pub filters: RequestFilters,
}Expand description
Request structure for the OpenFIGI /mapping endpoint.
Represents a mapping request that converts third-party identifiers to FIGIs. Requires an identifier type and value, with optional filtering criteria.
§Required Fields
id_type: The type of third-party identifier being mappedid_value: The value of the identifier (string or number)
§Optional Fields
filters: Additional filtering criteria (flattened into the request JSON)
§Validation Rules
security_type2is required whenid_typeisBASE_TICKERorID_EXCH_SYMBOL- All filter validation rules apply (see common filters documentation
RequestFilters::validate())
§Examples
use openfigi_rs::model::request::MappingRequest;
use openfigi_rs::model::enums::{IdType, Currency};
// Simple identifier mapping
let request = MappingRequest::new(IdType::ID_ISIN, "US4592001014");
// Mapping with additional filters
let request = MappingRequest::builder()
.id_type(IdType::TICKER)
.id_value("AAPL")
.currency(Currency::USD)
.build()
.unwrap();Fields§
§id_type: IdTypeType of third party identifier.
id_value: ValueValue of the third party identifier.
filters: RequestFiltersAdditional filtering criteria applied to the mapping request.
These filters are flattened into the JSON structure and provide
optional constraints to refine the mapping results see RequestFilters.
Implementations§
Source§impl MappingRequest
impl MappingRequest
Sourcepub fn new<T: Into<Value>>(id_type: IdType, id_value: T) -> Self
pub fn new<T: Into<Value>>(id_type: IdType, id_value: T) -> Self
Creates a new MappingRequest with required identifier information.
All filter fields are initialized to their default values (typically None).
Use MappingRequest::builder() for a more convenient fluent API.
§Arguments
id_type- The type of third-party identifierid_value- The identifier value (can be string or number)
§Examples
use openfigi_rs::model::request::MappingRequest;
use openfigi_rs::model::enums::IdType;
let request = MappingRequest::new(IdType::ID_ISIN, "US4592001014");
assert_eq!(request.id_type, IdType::ID_ISIN);Sourcepub fn builder() -> MappingRequestBuilder
pub fn builder() -> MappingRequestBuilder
Creates a new MappingRequestBuilder for fluent request construction.
Provides a convenient way to build mapping requests with method chaining.
§Examples
use openfigi_rs::model::request::MappingRequest;
use openfigi_rs::model::enums::{IdType, Currency};
let request = MappingRequest::builder()
.id_type(IdType::TICKER)
.id_value("AAPL")
.currency(Currency::USD)
.build()
.unwrap();Sourcepub fn validate(&self) -> Result<()>
pub fn validate(&self) -> Result<()>
Validates the mapping request.
Ensures that:
- Required fields (
id_type,id_value) are present security_type2is provided when required by certain identifier types- All filter validation rules are satisfied
- No mutually exclusive parameters are set
§Errors
Returns OpenFIGIError with OtherErrorKind::Validation if validation fails.
§Examples
use openfigi_rs::model::request::MappingRequest;
use openfigi_rs::model::enums::{IdType, SecurityType2};
// This will fail validation - BASE_TICKER requires security_type2
let mut request = MappingRequest::new(IdType::BASE_TICKER, "AAPL");
assert!(request.validate().is_err());
// Add required security_type2
request.filters.security_type2 = Some(SecurityType2::CommonStock);
assert!(request.validate().is_ok());Trait Implementations§
Source§impl Clone for MappingRequest
impl Clone for MappingRequest
Source§fn clone(&self) -> MappingRequest
fn clone(&self) -> MappingRequest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MappingRequest
impl Debug for MappingRequest
Source§impl<'de> Deserialize<'de> for MappingRequest
impl<'de> Deserialize<'de> for MappingRequest
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>,
Source§impl PartialEq for MappingRequest
impl PartialEq for MappingRequest
Source§fn eq(&self, other: &MappingRequest) -> bool
fn eq(&self, other: &MappingRequest) -> bool
self and other values to be equal, and is used by ==.