Restock notifications

Capture and deliver product availability alerts.

Restock alerts are separate from newsletter subscriptions and do not grant marketing consent. They capture interest in a published out-of-stock or scheduled product. A variant request targets exactly that variant; a product request can be fulfilled when any variant returns.

Read the capture requirements#

Hosted themes read ctx.restock_notifications. Use enabled, mode and email_input_required to render email capture. A signed-in customer with an account email uses that email; a customer registered only by phone must enter one. SMS is optional and is offered only when sms_available is true. An account phone is used when present; otherwise collect an international number with its country calling code. SMS delivery never switches to WhatsApp.

Use the Storefront Bridge#

javascript
const result = await window.tringify.cart.notifyMe({
  product_id: 42,
  variant_id: 7,
  contact_type: "email",
  email: "shopper@example.com"
});
// Render result.response and result.user_errors.
// result.success confirms capture only.

The bridge is injected by hosted storefronts. cart.notifyMe includes the session CSRF token, posts to /cart/notify-me and returns the canonical {success, response, user_errors} envelope. Plain hosted forms can use the cart_notify_me form kind with product_id, optional variant_id, contact_type, email and phone. Never send store or customer identity as shopper-editable fields.

Capture, retries and delivery#

Success means the request was saved, not that a message was sent. Repeating a pending request for the same store, product, variant and normalized contact renews its configured expiry and records the current locale. Repeating a queued request returns it unchanged and does not queue another message. Expiry is configured by the merchant from 1 to 365 days.

Requests wait for an active product with sellable stock. Available stock excludes reservations and locations that do not fulfil online orders, and follows shared inventory groups when configured. Sending checks availability again. Disabled alerts, unavailable products or unusable templates can suppress sending. Email requires an enabled restock email assignment, an active template, a ready sender and available allowance.

The notification preserves the captured recipient. Its product link uses the current slug, configured product permalink and primary domain of the captured storefront. The request language and country are preserved in the address, and an exact variant includes its option query parameters. A missing usable product address does not silently become a homepage link.

Merchant request statuses distinguish pending, queued, notified, failed, suppressed, cancelled, converted and expired. Notified means the sending provider accepted the message; it is not proof of inbox arrival or reading. See Review restock requests.