The products webhook is called by VIZOCHOK when the AI needs current prices and availability for a set of products. Your endpoint receives a list of SKUs and returns pricing data for each.Documentation Index
Fetch the complete documentation index at: https://docs.vizochok.com/llms.txt
Use this file to discover all available pages before exploring further.
Request Format
Method:POST
Headers:
| Header | Value |
|---|---|
Content-Type | application/json |
X-VIZOCHOK-Signature | sha256=<hex_digest> |
X-VIZOCHOK-Timestamp | Unix timestamp (seconds) |
List of product SKUs to look up. Typically 1-10 SKUs per request, matching what the AI found in the catalog search.
Store identifier. Use this to return location-specific pricing if your stores have different prices.
Response Format
Return a JSON object with aproducts array. Each product must include at minimum sku, price, and in_stock:
Response Fields
Array of product pricing objects.
Product SKU (must match a requested SKU).
Current retail price.
Whether the product is currently available. Products with
in_stock: false are filtered out and not shown to the customer.Promotional/discounted price. When present, the AI highlights the discount to the customer.
Promotional label displayed alongside the price (e.g.,
"-19%", "SALE", "2 for 1").Important Behavior
- Missing SKUs: If a requested SKU is not included in your response, VIZOCHOK treats it as unavailable and excludes it from results.
- Out of stock: Products with
in_stock: falseare filtered out — the customer will not see them. - Promotions: When
promo_priceis present, the AI automatically mentions the discount (e.g., “This milk is on sale: 42.00 instead of 52.00”).
Handler Examples
Testing
Test your products webhook using the built-in test in the Admin Panel under Settings > Webhooks. Click “Test” to send a test request with sample SKUs to your configuredproducts_url.
You can also test locally using curl:
Performance Tips
- Batch efficiently: You will receive 1-10 SKUs per request. Use a single database query with
INclause rather than individual lookups. - Cache prices: If your pricing system is slow, consider a short-lived cache (30-60 seconds) for price lookups.
- Return early: Only include
promo_priceandpromo_labelwhen there is actually a promotion. Omitting optional fields is fine.