Skip to main content

Security model

Rotate your signing secret anytime with POST /api/ecommerce-app/{id}/rotate-secret. The new secret is returned once; update your webhook signer before the old one stops being used.

Outbound URL requirements

  • HTTPS only.
  • Must resolve to a public IP β€” private, loopback and link-local addresses are blocked (SSRF protection).
  • Respond within ~15 seconds.

App lifecycle

Event types

Inbound (capabilities.inbound_events)

Outbound (capabilities.outbound)

Supported currencies

ISO codes accepted in currency / total_price / price fields:

Operational notes

  • Idempotency. Orders, checkouts, fulfillments and products upsert on their external id β€” safe to retry. Always retry on non-2xx; webhooks may be redelivered.
  • Product sync is incremental. A product webhook only affects the product it carries; it never deletes the rest of your catalog.
  • Multi-store resolution depends on account_info_url populating external_id. Without it, only single-installation apps resolve automatically.
  • Graceful degradation. If an outbound capability is missing, slow, or errors, the corresponding assistant tool simply returns no data β€” it does not break the conversation.

Endpoint cheat-sheet