Skip to content

Custom connector ​

For a platform with no official plugin. A developer on your side sends events to Shoovoo.

API key ​

A key your own platform issues, so Shoovoo can read its catalogue and orders. Create it in your platform and paste it into the form. Shoovoo cannot generate it for you, because only your platform knows what it will accept.

Webhook secret ​

You choose it. Make a random string of at least 16 characters, for example with openssl rand -hex 32, paste it into the form, and use the same value to sign requests.

Sending events ​

Post each event to your Shoovoo address at:

POST /inbound/custom/{account_id}

Sign the raw request body with HMAC-SHA256 using the webhook secret, hex encoded, and send it in a header:

X-Platform-Signature-256: sha256=<hex digest>

Example body:

json
{
  "event": "order.created",
  "platform": "custom",
  "timestamp": "2026-03-15T10:23:00Z",
  "data": {
    "external_id": "order-123",
    "external_customer_id": "cust-456",
    "email": "john@example.com",
    "ordered_at": "2026-03-15T10:23:00Z",
    "status": "completed",
    "total_amount": 99.99,
    "currency": "EUR",
    "items": [{ "product_id": "prod-789", "quantity": 2, "unit_price": 49.99 }]
  }
}

timestamp is when your platform last modified the record, not when you sent the request. Shoovoo uses it to keep the newest version when updates arrive out of order. If your platform has no modification time, leave it out.

Product view tracking ​

Put this on your storefront to record product views:

html
<script>
  window.PlatformTracker = {
    accountId: 'ACCOUNT_ID',
    storeId: 'STORE_CONNECTION_ID',
    endpoint: 'https://YOUR_SHOOVOO_ADDRESS/inbound/custom/ACCOUNT_ID/track'
  };
</script>
<script src="https://YOUR_SHOOVOO_ADDRESS/tracker.js" async></script>