1. How does Whatmore get my product data?
Two mechanisms (see Catalog API):- Pull (primary): you give Whatmore your product API endpoint + credentials and add product URLs in the dashboard; Whatmore pulls each product from your API — for the initial load, every new product, and on refresh. There is no product-creation API for you to call.
- Push (optional): when price or
availability changes, you push
POST /v2/productso the change reflects immediately.
2. Catalog synchronization
- Initial load & refresh (pull): point Whatmore at your product API in the dashboard and add product URLs; Whatmore reads each product on connect and on refresh.
- Real-time updates (push, optional): when price or availability changes, send
POST /v2/productbyclient_product_idso it reflects immediately.
client_product_id (extracted from the product
URL — normally the same as the id your API returns), there is no separate id-mapping to
maintain. Video and media are managed in the dashboard — no upload API to build.
3. How do I add or remove a product?
Add: put its product page URL in the dashboard — Whatmore pulls it from your product API and stores it (new products are also picked up on refresh). There’s no product-create or bulk API for you to call. Remove / take down: drop it from your catalog (reflected on refresh) or pushPOST /v2/product with product_status: "inactive".
4. Order tracking / “webhooks”
Order data is pushed by you toPOST /external-shop-order-tracking/private on order
completion — see Order Tracking. Key semantics:
- Idempotency: orders are de-duplicated by
order_id; a repeat is rejected (Order Id already exists.), never double-counted — so retries are safe. - Timeout / retry: send one call per order; on network failure, re-send the same
order_id. Recommended retry cadence is confirmed at onboarding.
5. API Contracts
Concrete request/response examples for every endpoint are on the Catalog API and Order Tracking pages. A formal OpenAPI/Swagger export can be provided on request.6. Security
- Authentication: all calls use a bearer access token obtained from
GET /auth/access-tokenwith yourstore_id— see Authentication. - Environment separation: production and staging issue separate
store_ids and tokens. - Token handling: keep the token server-side; the App SDK uses only the public Brand ID.
