Skip to main content
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.

Request Format

Method: POST Headers: Body:
skus
string[]
required
List of product SKUs to look up. Typically 1-10 SKUs per request, matching what the AI found in the catalog search.
store_id
string
required
Store identifier. Use this to return location-specific pricing if your stores have different prices.

Response Format

Return a JSON object with a products array. Each product must include at minimum sku, price, and in_stock:

Response Fields

products
array
required
Array of product pricing objects.
sku
string
required
Product SKU (must match a requested SKU).
price
number
required
Current retail price.
in_stock
boolean
required
Whether the product is currently available. Products with in_stock: false are filtered out and not shown to the customer.
promo_price
number
Promotional/discounted price. When present, the AI highlights the discount to the customer.
promo_label
string
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: false are filtered out — the customer will not see them.
  • Promotions: When promo_price is 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 configured products_url. You can also test locally using curl:

Performance Tips

Keep your products webhook fast (under 2 seconds). The customer is waiting for search results while this call happens. The default timeout is 5 seconds, but faster responses mean a better experience.
  • Batch efficiently: You will receive 1-10 SKUs per request. Use a single database query with IN clause 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_price and promo_label when there is actually a promotion. Omitting optional fields is fine.