haggl_search_catalog
Search a vendor's catalog so the offer can name exact products, then follow the how_to_ask field of the result. A store catalog returns products with a handle, price and collections: ask with ask.items [{ product_handle, quantity }]. A campaign catalog returns eligible variants with a variant_id and approved_combinations with a recipe_id: ask with ask.items [{ variant_id, quantity }] or ask.recipe_id. A quote identifies the exact items and quantities it covers.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (default 25). | |
| query | No | Free-text search, e.g. "tennis racket". | |
| vendor_id | Yes | Vendor id. | |
| collection | No | Optional collection handle to filter by. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | Present only when the call failed: a machine-readable error code, e.g. quote_uncertain or rate_limited. | |
| error | No | Present only when the call failed: what went wrong. | |
| currency | No | ISO 4217 currency. | |
| products | No | Store catalog: matching products with handle, title, price and collections. | |
| recovery | No | When the outcome is uncertain: the tool and session_id to read before retrying. | |
| variants | No | Campaign catalog: eligible variants with a variant_id. | |
| retryable | No | Whether the same call may be retried. | |
| vendor_id | No | Vendor id. | |
| how_to_ask | No | How to name these products in haggl_submit_offer. | |
| collections | No | Store catalog: collections to filter by. | |
| total_matches | No | Store catalog: number of matching products. | |
| retry_after_seconds | No | When rate limited: seconds to wait before retrying. | |
| approved_combinations | No | Campaign catalog: approved combinations with a recipe_id for ask.recipe_id. |