Skip to content
WeZend

Customer Data Platform

Product catalog & recommendations

Sync your products, let the affinity model learn what sells together, and drop per-contact recommendations into any message.

"Customers who bought X also bought Y" — inside your own messages, from your own data, with no external recommendation service.

1. Load the catalog

curl -X POST https://api.wezend.com/v1/catalog/products \
  -H "Authorization: Bearer $WEZEND_JWT" \
  -H "Content-Type: application/json" \
  -d '{ "external_id": "TSHIRT-BLK-M", "sku": "TSHIRT-BLK-M", "title": "Black tee (M)", "price": 29.0, "currency": "EUR",
       "url": "https://shop.example.com/p/tshirt-blk", "image_url": "https://…/tshirt.jpg", "categories": ["apparel"] }'

external_id and title are required. Bulk import via POST /v1/catalog/products/import with { "products": [...] } accepts your full feed (up to 10,000 products per call); re-posting an external_id updates that product. The catalog API uses a dashboard session (a JWT from POST /v1/auth/login), not an API key. Most shops sync nightly from their commerce platform.

2. Feed it behaviour

The model learns from the events you already track — product_viewed, added_to_cart, order_completed (see Tracking events). Rebuild the affinity model on your schedule:

curl -X POST https://api.wezend.com/v1/catalog/affinity/rebuild -H "Authorization: Bearer $WEZEND_JWT"

It computes co-occurrence: which products appear together in real baskets and browsing sessions.

3. Use recommendations

Per contact:

curl "https://api.wezend.com/v1/catalog/recommendations/c_123?limit=4" -H "Authorization: Bearer $WEZEND_JWT"

In the email builder, add a product grid block set to "personalised" and each recipient gets their own four products at send time. In journeys, the post-purchase cross-sell ("order delivered → wait 7 days → send recommendations") is a template you can enable in one click.

Contacts with no history get graceful fallbacks: bestsellers in the categories they've browsed, or overall bestsellers — never an empty grid.

One platform. Every customer interaction.

Replace your patchwork of messaging APIs, CDP and automation tools with a single engagement platform built for scale.

No credit card required · EU data residency · 99.99% uptime SLA