#[non_exhaustive]pub struct ListSledOpportunitiesOptions {Show 36 fields
pub page: Option<u32>,
pub limit: Option<u32>,
pub cursor: Option<String>,
pub shape: Option<String>,
pub flat: bool,
pub flat_lists: bool,
pub state: Option<String>,
pub jurisdiction: Option<String>,
pub status: Option<String>,
pub active: Option<bool>,
pub agency: Option<String>,
pub solicitation_number: Option<String>,
pub solicitation_type: Option<String>,
pub has_documents: Option<bool>,
pub revision_kind: Option<String>,
pub naics: Option<String>,
pub nigp: Option<String>,
pub unspsc: Option<String>,
pub category: Option<String>,
pub category_code: Option<String>,
pub posted_after: Option<String>,
pub posted_before: Option<String>,
pub response_deadline_after: Option<String>,
pub response_deadline_before: Option<String>,
pub first_seen_after: Option<String>,
pub first_seen_before: Option<String>,
pub change_seen_after: Option<String>,
pub modified_after: Option<String>,
pub modified_before: Option<String>,
pub platform: Option<String>,
pub native_id: Option<String>,
pub external_id: Option<String>,
pub search: Option<String>,
pub ordering: Option<String>,
pub verbose: Option<bool>,
pub extra: BTreeMap<String, String>,
}Expand description
Options for Client::list_sled_opportunities and
Client::iterate_sled_opportunities.
Two things behave unlike the federal endpoints.
Leaving both status and active unset
returns open solicitations only — the API defaults the list to
status=open, because only about a fifth of the corpus is open and portals
drop a closed solicitation rather than restating it. Set status explicitly
to page the whole corpus. Client::get_sled_opportunity returns a
solicitation whatever its status.
status is Tango-derived liveness, refreshed every fifteen minutes. The
portal’s own word is served as source_status, is frozen at last capture,
and is not filterable — most of what it calls open already has a passed
deadline.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.page: Option<u32>1-based page number.
limit: Option<u32>Page size (server caps at 100).
cursor: Option<String>Keyset cursor.
shape: Option<String>Comma-separated field selector. Use
SHAPE_SLED_OPPORTUNITIES_MINIMAL
or roll your own.
flat: boolCollapse nested objects into dot-separated keys.
flat_lists: boolWhen flat is also true, flatten list-valued fields.
state: Option<String>Two-letter state or territory code. Multi-value: "TX|OK".
jurisdiction: Option<String>Level of government: "state", "local", "education", or
"unknown" for the aggregator rows that cannot tell state from local.
status: Option<String>"open", "closed", "awarded", "cancelled" or "unknown". With
active also unset the API returns open only;
"unknown" (standing rosters, dateless RFIs) is hidden by that default
and reachable with "open|unknown".
active: Option<bool>Sugar for federal-shaped callers: true is status=open, false is its
complement (so it includes unknown). Option<bool> so that false is
a real filter value rather than an absent one.
agency: Option<String>Substring match on the buyer’s published text (min 2 characters). No code resolution behind it — state agencies have no entry in the federal organization tree.
solicitation_number: Option<String>The number a human would quote. Null on roughly a third of the corpus, where the portal publishes none.
solicitation_type: Option<String>"rfp", "ifb", "rfq", "rfi", "itb", "sole_source", "grant"
or "other". "null" (the portal states no type) is a distinct answer
from "other" (a type the vocabulary does not recognize).
has_documents: Option<bool>Whether the solicitation advertises at least one document.
revision_kind: Option<String>Kind of the most recent substantive revision: "deadline_change",
"status_change", "documents_added", "documents_removed",
"documents_replaced", "title_change" or "content_change".
naics: Option<String>Exact match within the naics category scheme only. Thin on purpose:
scheme tagging is mid-migration, so only a small share of entries are
tagged NAICS. Prefer category_code unless you
need scheme precision.
nigp: Option<String>Exact match within the nigp scheme, the most widely tagged of the four.
unspsc: Option<String>Exact match within the unspsc scheme.
category: Option<String>Exact match within the text scheme, where the code is the portal’s own
human label.
category_code: Option<String>Match a code under ANY scheme, including the untagged pre-migration strings. The escape hatch when a scheme-specific filter returns less than you expected.
posted_after: Option<String>Lower bound on posted_date (ISO YYYY-MM-DD, inclusive).
posted_before: Option<String>Upper bound on posted_date (inclusive).
response_deadline_after: Option<String>Lower bound on response_deadline (inclusive).
response_deadline_before: Option<String>Upper bound on response_deadline (inclusive).
first_seen_after: Option<String>Lower bound on when Tango FIRST OBSERVED the solicitation. The polling primitive: everything new since your last call.
first_seen_before: Option<String>Upper bound on first observation (inclusive).
change_seen_after: Option<String>Lower bound on when Tango OBSERVED the last substantive change. A scrape date, not an amendment date: a state portal restates one page in place and publishes no amendment date, so the resolution is that state’s crawl cadence. The API exposes no upper bound on this field.
modified_after: Option<String>Lower bound on when the Tango row last changed (inclusive).
modified_before: Option<String>Upper bound on when the Tango row last changed (inclusive).
platform: Option<String>Support filter identifying the source portal’s platform family. In no response shape, and not a stable value.
native_id: Option<String>Support filter — the portal’s own identifier.
external_id: Option<String>Support filter — Tango’s opaque lake key. At most 500 values.
search: Option<String>Ranked full-text search over title, agency, identifiers, category labels
and description, widened by the solicitations whose ATTACHMENT text
matched (min 2 characters). A row that matched on its description gains a
snippet field; a title-or-agency match carries none.
ordering: Option<String>One of rank, response_deadline, posted_date, first_seen_at,
last_seen_at, last_change_seen_at, modified. rank requires a
non-empty search.
verbose: Option<bool>When Some(true), add description and contact to each list row. description is detail-only by default because its longest values run past 120,000 characters.
extra: BTreeMap<String, String>Escape hatch for filter keys not yet first-classed on this struct.
Implementations§
Source§impl ListSledOpportunitiesOptions
impl ListSledOpportunitiesOptions
Sourcepub fn builder() -> ListSledOpportunitiesOptionsBuilder
pub fn builder() -> ListSledOpportunitiesOptionsBuilder
Create an instance of ListSledOpportunitiesOptions using the builder syntax