Skip to main content

Overview

Some assistant tools need live data that does not arrive via webhooks โ€” โ€œwhere is my order?โ€, โ€œis this in stock?โ€, โ€œsend me a checkout linkโ€. For those, Vambe calls URLs you declare in capabilities.outbound. You expose an endpoint per capability; Vambe calls it on demand. If you donโ€™t declare a capability, Vambe simply wonโ€™t offer that tool for your app.

How Vambe calls you

Every outbound request is an HTTP POST with a JSON body and these headers: Use the bearer token (and store id) to scope the response to the right merchant.
Security requirements. Capability URLs must be HTTPS and must resolve to a public IP โ€” Vambe blocks requests to private, loopback, and link-local addresses. Respond within ~15 seconds; on timeout or error Vambe degrades gracefully (the tool returns no data).

order_get โ€” live order status

Vambe calls this when the assistant is asked about an orderโ€™s status. Request
Response โ€” the canonical order status shape:
All fields except fulfillmentStatus, tags, and fulfillments are optional.

stock_get โ€” stock by location

Vambe calls this when the assistant needs live inventory. Request
Response โ€” an array, one entry per product:
Vambe calls this when the assistant builds a cart and needs a payable link to send the customer. Request
Response โ€” the checkout link (full URL; Vambe shortens it before sending):
stockAdjustments is optional โ€” include it if you clamped quantities to available stock. Return { "link": null } if a link cannot be created.

Reserved capability โ€” products_list

If you prefer Vambe to pull your full catalog instead of pushing product webhooks, the products_list capability key is reserved for that model. Coordinate with the Vambe team before relying on it.