Use aggregator integrations to register the HTTPS URLs where Fire sends publication and sync webhooks, choose which event types each URL receives, and send test events to validate your receiver before production traffic.
All of this lives in one place: create an integration, open its detail page, then use the Webhook endpoints and Test events tabs.
Verify signatures and headers as described in Authentication (X-Fire-Event, timestamp, and your configured signing header, for example X-Fire-Signature).
Where to find it
- In the Fire dashboard, select the Aggregators context (channel / workspace).
- Open Development tools → Aggregator integrations.
In localized UIs the labels may appear as Herramientas de desarrollo → Integraciones de agregadores (or the equivalent in your language).
The list loads at /aggregators/developer-tools/integrations. Visiting /aggregators redirects there.
Select an account in the header first. If none is selected, the screen prompts you to choose one.
Main views
| View | Route | Purpose |
|---|
| List | /aggregators/developer-tools/integrations | Browse, filter, and open integrations. |
| Create | …/integrations/new | Create a new integration. |
| Detail | …/integrations/[id] | Webhook endpoints, test events, and logs. |
Integration list
Columns typically include Name, Environment, Scope, Channels, Status, and Updated. Filters cover status, environment, and search; the URL reflects filters and pagination. Create flows start from New integration (or the localized equivalent).
Integration detail
The header shows name, description, environment (Sandbox / Production), and status (Active, Disabled, Deleted). More actions can include edit, disable, and delete when allowed.
Tabs:
- Webhook endpoints — register and manage destination URLs.
- Test events — send a single event to an endpoint.
- Logs — outbound delivery history.
Create an integration
Select an account
Use the account selector in the header.
Open Aggregator integrations
Aggregators → Development tools → Aggregator integrations.
Start creation
Click New integration (or equivalent).
Complete General, Scope, and Channels
Fill required fields (see table below).
Create
Submit the form. You land on the integration detail view.
| Field | Description | Required | Notes |
|---|
| Name | Visible name | Yes | Often 1–200 characters. |
| Description | Internal notes | No | Short text limit per UI. |
| Environment | Sandbox or Production | Yes | Cannot change after creation. |
| Scope | Full account or Vendor + country | Yes | Cannot change after creation. |
| Country | ISO country (2 letters) | If Vendor + scope | Filtered by permissions. |
| Vendor | Vendor in that country | If Vendor + scope | Filtered by country and permissions. |
| Channels | Channels linked to the integration | Yes | At least one from the catalog. |
Full account scope applies to the whole account; country and vendor are not used. Vendor + country requires choosing country first so the vendor list filters correctly.
New integrations are created Active unless the UI states otherwise.
Webhook endpoints
Open an integration’s detail page and use the Webhook endpoints tab. That is where you register HTTPS URLs for Fire to call when events occur.
For each endpoint you typically set:
- Name and optional Description
- Destination URL (HTTPS)
- Signing header name (often
X-Fire-Signature)
- Subscribed events (one or more types)
After the first save, the dashboard may show the signing secret once — copy it into your secret store. Later, use Reveal or Rotate only as your organization allows, completing any reason or audit fields the UI requires.
Row actions commonly include Edit, Send test, Reveal signing secret, Rotate signing secret, Disable, and Delete.
Your endpoint must return a 2xx status within the timeout shown in your Fire delivery settings (commonly 10 seconds), or the attempt is treated as failed.
What Fire sends
Each delivery is an HTTP POST with:
Content-Type: application/json
X-Fire-Signature (or the header name you configured): body signature — verify per Authentication
X-Fire-Event: event type (for example menu.updated)
Always verify the signature before processing the body.
Acknowledge quickly
Return 2xx as soon as you accept the request, before heavy work. Process the payload asynchronously to avoid timeouts.
app.post("/fire-webhook", (req, res) => {
res.sendStatus(200); // Acknowledge first
processFireEvent(req.body).catch(console.error);
});
Test events
The Test events tab sends one event to a registered, active endpoint so you can confirm connectivity, headers, and payload shape.
What to select
- Integration must be Active (the tab warns otherwise).
- Pick the Webhook endpoint (only active endpoints are listed).
- Pick the Event type (only types subscribed on that endpoint).
- If the event requires it, pick Channel, Store, and/or Product — the form shows only applicable fields.
Wait until the Request preview finishes loading, then click Send test event.
Events available in the test UI
| Event | Area | Channel | Store | Product |
|---|
channel.updated | Channel | Yes | — | — |
channel.deleted | Channel | Yes | — | — |
channels.sync | Channel | — | — | — |
store.updated | Store | — | Yes | — |
store.deleted | Store | — | Yes | — |
stores.sync | Store | — | — | — |
menu.updated | Menu | — | — | — |
menus.sync | Menu | Yes | — | — |
product.updated | Product | — | Yes | Yes |
product.availability_changed | Product | — | Yes | Yes |
Read the result
Last result shows HTTP status, duration, Delivery ID (search for it under Logs), and any error message.
Request preview
The preview lists POST + URL, header names (Content-Type, X-Fire-Event, X-Fire-Timestamp, signing header with sha256=), and the JSON body envelope: event (id, type, executionId, createdAt, timezone) plus event-specific data. Field-level detail is in Webhook reference.
The real signing value and timestamp are produced at send time; the preview may show placeholders until then.
Common issues
| Symptom | Check |
|---|
| No account selected | Pick an account in the header. |
| Cannot create integration | Validation messages on the form; channels and scope. |
| “Select at least one channel” | Add channels in the Channels section. |
| Empty country/vendor lists | User permissions and account metadata. |
| No stores in test picker | Scope, channel, and store status rules in the UI. |
| Empty event list | Endpoint subscriptions — edit the endpoint. |
| Tests blocked | Integration must be Active. |
| Preview stuck | Required fields missing or preview request still loading. |
| HTTP error from your server | Logs → delivery detail for response body. |