Webhooks
Dieser Inhalt ist noch nicht in deiner Sprache verfügbar.
Globe can send HTTP POST notifications to your server when key events occur in your store. Use webhooks to build custom automations — update your WMS, trigger fulfilment workflows, send notifications, or sync data with external systems.
Setup
- Go to Settings → Webhooks in the Globe admin.
- Click Add webhook, enter an HTTPS endpoint URL, and choose the events you want to receive.
- Copy the secret shown after creation — it is displayed only once. Store it securely.
Payload envelope
Every webhook is a POST request with Content-Type: application/json. The body always follows this structure:
{ "event": "shipping_label.created", "shopName": "your-store.myshopify.com", "sentAt": "2026-01-15T10:30:00.000Z", "deliveryId": "b3d1e4f2-9c2a-4f1b-8e3d-1a2b3c4d5e6f", "data": { ... }}| Field | Description |
|---|---|
event | Event type (see below) |
shopName | Your Shopify store domain |
sentAt | ISO 8601 timestamp of when Globe sent the request |
deliveryId | Unique UUID for this delivery attempt — use for deduplication |
data | Event-specific payload (see events below) |
Events
shipping_label.created
Fired when a shipping label is successfully generated for an order.
Key fields in data: orderId, orderName, carrier, trackingNumber, trackingUrl, labelData
pickup_point.selected
Fired when a pickup point is selected or changed on an order.
Key fields in data: orderId, orderName, pickupPoint
The pickupPoint field contains the full pickup point object including name, address, GPS coordinates, and carrier-specific data.
pickup_point.not_selected
Fired approximately 5 minutes after order creation when the order requires a pickup point but none has been selected yet.
Key fields in data: orderId, orderName, customerEmail
order.cod_paid
Fired when the carrier confirms that a cash-on-delivery order has been paid.
Key fields in data: orderId, orderName, carrier
delivery_status.updated
Fired when the carrier reports a change in delivery status.
Key fields in data: orderId, orderName, carrier, status, previousStatus
email_reminder.sent
Fired when Globe sends a pickup-point selection reminder email to the customer.
Key fields in data: orderId, orderName, customerEmail, reminderType
Inspecting payloads
To explore the exact payload structure for each event, use webhook.site:
- Open webhook.site and copy your unique URL.
- Add it as a webhook endpoint in Globe (Settings → Webhooks).
- Trigger the event naturally in your store — place a test order, export a label, etc.
- The full request body will appear on webhook.site in real time.
Verifying requests
Each request includes the following headers:
| Header | Description |
|---|---|
X-Globe-Signature | sha256=<hmac> — HMAC-SHA256 signature of the raw request body, signed with your secret |
X-Globe-Timestamp | Unix timestamp in seconds — reject requests older than 5 minutes to prevent replay attacks |
X-Globe-Event | Event type |
X-Globe-Delivery | Delivery UUID |
Node.js verification example:
import crypto from "crypto";
function verifyGlobeWebhook(rawBody, headers, secret) { const sig = headers["x-globe-signature"]; const ts = headers["x-globe-timestamp"];
// Reject stale requests (replay attack prevention) if (Math.abs(Date.now() / 1000 - Number(ts)) > 300) return false;
const expected = "sha256=" + crypto .createHmac("sha256", secret) .update(rawBody) .digest("hex");
return crypto.timingSafeEqual( Buffer.from(sig ?? ""), Buffer.from(expected) );}Retries & reliability
Globe retries failed deliveries up to 7 times with exponential backoff:
30 s → 5 min → 30 min → 2 h → 8 h → 24 h → dead letter
Your endpoint must return a 2xx status within 10 seconds. After that the request is treated as failed.
If an endpoint fails repeatedly, Globe temporarily suspends deliveries for 24 hours and retries automatically. After 3 suspension cycles with no successful delivery the subscription is disabled. You can re-enable it at any time from Settings → Webhooks.