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 incurrency / 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_urlpopulatingexternal_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.
