Resources

    Webhooks

    Inbound endpoints for AWS SES email events and e-commerce platform events.

    How webhooks work

    Webhooks are inbound endpoints: external systems call them, you normally do not. They are documented here so you can understand and debug the data flowing into your account. The SES webhook keeps your deliverability data accurate by recording bounces, complaints and deliveries. The e-commerce webhook receives order, customer, checkout and product events from a connected Shopify or WooCommerce store and turns them into automation triggers, abandoned cart flows and store data for segments.

    Setup is automatic

    When you connect a store under Integrations, webhook registration is handled for you: Shopify stores connect through the MailingPlatform Shopify app (OAuth), which registers every webhook topic and verifies deliveries with the app's signing secret; WooCommerce stores get the same treatment through the MailingPlatform plugin. You only need the details below if you are building a custom integration, using the manual Shopify setup, or debugging why an event did not arrive.

    Endpoints

    POST

    SES webhook (email events)

    /ses-webhook

    Receives email delivery events from AWS SES (bounces, complaints, deliveries).

    Supported event types

    • Bounce - Email bounced (hard/soft)
    • Complaint - Recipient marked as spam
    • Delivery - Email delivered successfully
    • Send - Email sent
    • Reject - Email rejected by SES
    curl -X POST "https://api.mailingplatform.net/ses-webhook" \
      -H "Content-Type: application/json"
    POST

    E-commerce webhook

    /ecommerce-webhook/{api_key}

    Receives events from e-commerce platforms (Shopify, WooCommerce) and triggers automations. WooCommerce deliveries are verified via the x-wc-webhook-signature header and the topic is read from x-wc-webhook-topic; the Shopify equivalents are shown below.

    Shopify headers

    NameTypeDescription
    X-Shopify-TopicstringEvent type (e.g., orders/create).
    X-Shopify-Hmac-Sha256stringHMAC signature for verification.
    X-Shopify-Shop-DomainstringShop domain.

    Supported Shopify events

    Checkouts

    • checkouts/create
    • checkouts/update
    • checkouts/delete

    Orders

    • orders/create - Triggers automation
    • orders/paid
    • orders/fulfilled - Triggers automation
    • orders/cancelled - Triggers automation

    Customers

    • customers/create - Triggers automation
    • customers/update
    • customers/delete
    • customers/email_marketing_consent_update

    Products & inventory

    • products/create
    • products/update
    • products/delete
    • inventory_levels/update - Back-in-stock trigger

    WooCommerce plugin relay events

    Besides the nine native WooCommerce webhooks (orders, customers, products), the MailingPlatform plugin relays custom events that native webhooks do not cover. They are signed with the store's webhook secret via x-wc-webhook-signature and identified by the x-wc-webhook-topic header.

    • cart.updated - Cart snapshot for abandoned cart tracking
    • cart.completed - Cart converted to an order
    • inventory.updated - Stock change, drives the back-in-stock trigger
    • customer.subscribed - Customer ticked the newsletter opt-in checkbox at checkout or registration. Creates a subscriber in the store's default list with consent metadata (timestamp, source, shop domain), honoring the account's double opt-in setting. Unsubscribed contacts are never re-activated by this event.
    curl -X POST "https://api.mailingplatform.net/ecommerce-webhook/<api_key>" \
      -H "Content-Type: application/json" \
      -H "X-Shopify-Topic: orders/create" \
      -H "X-Shopify-Hmac-Sha256: <signature>" \
      -H "X-Shopify-Shop-Domain: your-store.myshopify.com"