Integrations

Connect WaSMS to Shopify

Set up a Shopify webhook so WhatsApp messages fire automatically on order events — no app install, no Shopify Partner account needed.

Updated

On this page

Shopify lets you set custom webhook URLs in admin. We use that hook to receive order events and send WhatsApp messages via your WaSMS organization.

Why a webhook (not an app)? Setting up a Shopify Partner account + app review takes weeks. Webhooks work today on every Shopify plan with no extra cost.

1. Get an integration ID + secret from WaSMS

Open wasms.net/dashboard/integration, click the Shopify card → Add Shopify integration. You will get:

  • An integration ID (UUID)
  • A webhook secret (used for signature verification)

Copy both. Keep the secret somewhere safe; you will paste it into Shopify next.

2. Add the webhook in Shopify

  1. Shopify admin → Settings → Notifications.
  2. Scroll to Webhooks at the bottom.
  3. Click Create webhook.
  4. Event: Order creation (also recommended: Order paid, Order fulfilled, Order cancelled).
  5. Format: JSON.
  6. URL: paste this, replacing YOUR_INTEGRATION_ID with the UUID from step 1:
    Copy and paste
    https://wasms.net/api/integrations/shopify/webhook?integration_id=YOUR_INTEGRATION_ID
  7. API version: latest.
  8. Save.

3. Verify it's wired

Shopify sends a test event when you save the webhook. Inside the same webhooks page, click Send test notification next to your new webhook. Then check WaSMS → Dashboard → Integrations — the Shopify card will show your last sync time.

4. (Optional) HMAC signature verification

To prevent anyone from forging a webhook hit, configure Shopify’s shared secret to match the one WaSMS gave you:

  1. In Shopify admin → Settings → Notifications → Webhooks, copy the signing secret shown at the bottom of the page.
  2. Paste it into the WaSMS Shopify integration’s Webhook secret field. (We auto-fill this when you created the integration, but you may want to rotate it.)

WaSMS validates the X-Shopify-Hmac-SHA256 header on every webhook and rejects requests that fail.

5. Repeat for each event

Add separate webhooks for each event you want notifications on:

  • orders/create — new order placed
  • orders/paid — payment received
  • orders/fulfilled — order shipped
  • orders/cancelled — order cancelled

All webhooks point at the same WaSMS URL with the same integration_id; the topic header (X-Shopify-Topic) tells WaSMS which template to use.

Troubleshooting

  • No message arrives — in Shopify admin → Settings → Notifications → Webhooks, click your webhook to see the last 5 delivery attempts + response. Non-2xx means WaSMS rejected it.
  • Customer has no phone — if the Shopify order has no customer.phone or shipping_address.phone, the message is skipped. Make phone collection required in your Shopify checkout.
  • Signature errors — make sure the secret you pasted matches Shopify’s signing secret exactly (no trailing whitespace).

Did this guide solve it?