Documentation Index
Fetch the complete documentation index at: https://docs.trychannel3.com/llms.txt
Use this file to discover all available pages before exploring further.
The recommended path for most integrations is real-time product discovery via the
/search endpoint. The guidance below is for use cases where product IDs are stored and revisited later, such as:Cache IDs, not data
Product IDs and category slugs are stable identifiers — cache them freely and for as long as you like. Everything else on a product object (prices, availability, images, descriptions, offers, variants) should be treated as unstable. These fields can change at any time as merchants update their catalogs. Retrieve fresh product snapshots at load time with the freeGET /v1/products/{product_id}.
Do:
- Store
product.idfrom search results and reuse it later
- Cache prices, availability, or offer URLs and serve them to users without refreshing
- Assume image URLs or product descriptions are permanent
- Cache offer URLs — these are short-lived and must be fetched fresh before presenting to users
Refresh at load time
When you need to display a product to a user, fetch the latest data withGET /v1/products/{product_id} rather than relying on a cached snapshot. This ensures prices, stock status, and buy links are current.
Short-lived caches are fine
Caches with a short TTL (a few minutes to a few hours) on full product objects for presentational data (images, title) is reasonable for use cases that require it. Just avoid caching product data for many hours or days — pricing and availability can shift quickly, and we often update our data model to include new features and info.| Data | Cache strategy |
|---|---|
| Product IDs, category slugs | Cache indefinitely |
| Product details (title, description, images) | Short TTL or refresh on display |
| Prices, availability, offers | Always refresh before showing to users |