Resolve a purchase request
resolve_purchase_requestComputation only: conditional product / setup / add-on candidates from typed constraints (category, brand, formats, OS, license, budget), optional free text and user-claimed ownership, bound to one published snapshot. Each candidate has fit reasons, a cost breakdown over the offers this channel may disclose, budget fit, acquisition steps, canonical_page and site_entry_page. For a product candidate, canonical_page is the product page on this site; it carries the complete price table (including listings withheld on this channel), the merchant purchase links and the affiliate disclosure. site_entry_page is the same page with the entry marker for this channel. For a setup candidate canonical_page is the /find/ page. No purchase, no persistence, no notification. For a subscription or rent-to-own edition, cost_breakdown.payable_now is the first charge, recurring_cost one later charge (estimated) and recurring_period its period (month or year); with budget_scope=total_including_recurring_12m the total counts 12 monthly or 1 yearly charge, otherwise budget_fit is judged on the first payment. Where a product has one-off and recurring editions, the default scope prices the one-off edition and the 12-month scope the edition with the smallest 12-month total (assumptions key edition_choice). A price is taken from the default confirmed-route class first (a maker store or a confirmed authorized dealer selling new; for hardware also domestic distribution); when a cheaper confirmed listing of the same edition lies outside that class, the candidate's mismatches state it with its amount. search_complete=false with optimality_scope=best_found marks an answer cut at a limit, a free-text term that looks like a product name (Latin letters, digits or katakana) but matches no registered alias (unresolved_constraints no_alias_match), or no candidates (no_candidates). Free-text aliases match whole words only. With a budget, candidates are ordered by budget_fit first (confirmed, estimated_within, estimated_over, over, unknown) before the answer is cut to max_candidates; when in-budget candidates are still cut, limits_hit contains budget_fit_candidates_truncated. An edition with no price in the requested currency keeps its price in the original currency in cost_breakdown and acquisition_steps[].cost, with budget_fit unknown and the reason in the candidate's mismatches; such an amount may carry converted (a yen estimate: amount_minor, display such as 約¥7,800, rate_source ecb_eurofxref, rate_reference_date, rate_basis direct or cross_via_eur, and basis_note, a fixed English sentence saying that this site computed the estimate from the European Central Bank's reference rates of that date and that it is not a price) that is not used for ordering, budget fit, cheapest cost or lowest_observed. A product's default price uses general rows of unrestricted editions only. When a restricted edition (upgrade, crossgrade, update, EDU or NFR) is named, by constraints.target_edition_id or a free-text alias, or when all of a product's editions are restricted, the answer prices that edition and marks it: customer_segment on cost_breakdown.payable_now and total and on the step cost, reason_codes restricted_edition_price:, eligibility_status conditional, a sentence in the candidate's mismatches, and the assumption restricted_edition_price (value the segment, basis user_provided, parsed_from_query or default). A product candidate carries product_name, and price_checked_at is the check time of the price used. Stale offers (past fresh_until) are not used for costs or budget fit. Bounded compute class (10 per minute, shared with POST /api/v1/resolve). Links are user_navigation handoffs (handoff_mode=user_navigation) and are not intended for prefetching or automatic clicking.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | ||
| query | No | ||
| detail | No | summary | |
| locale | No | ja-JP | |
| region | No | JP | |
| constraints | No | ||
| max_candidates | No | ||
| owned_editions | No | ||
| schema_version | Yes | ||
| ownership_claims | No | ||
| user_supplied_prices | No |