Skip to content

Webhooks

Webhooks sturen een JSON-POST-verzoek naar je URL wanneer een gebruiker een geconfigureerde verzendactie voltooit. Je stelt ze per verzendknop in Manager in.

Een webhook inschakelen

  1. Open ManagerConfiguraties → je product.
  2. Ga naar Inzending & trackingData Submissions.
  3. Selecteer of maak een inzendingsuitvoer (gekoppeld aan een template).
  4. Schakel op een verzendknop POST naar een URL in en voer de URL van je endpoint in.
  5. Sla het product op.

Je kunt een webhook combineren met PDF, e-mail en postMessage op dezelfde of verschillende knoppen.

Wanneer webhooks afgaan

Webhooks worden verstuurd vanuit de add-quote-API wanneer de gebruiker verzendt via een knop waarvoor de webhook is ingeschakeld. Er zijn twee paden:

Offertepad (contactformulier + PDF-/e-mailflow)

Maakt een offerterecord aan. Webhook-event:

json
{
  "event": "quotation.created",
  "source": "iconfigure",
  "timestamp": "2026-06-17T12:00:00.000Z",
  "data": {
    "quotation_id": "uuid",
    "quotation_number": 1234,
    "pdf_url": "https://...",
    "total_price": 1250.5,
    "language": "NL",
    "status": 0,
    "created_at": "2026-06-17T12:00:00.000Z",
    "customer": {
      "first_name": "Jane",
      "last_name": "Doe",
      "email": "jane@example.com",
      "phone": 612345678,
      "address": {}
    },
    "extra_fields": {},
    "company": {
      "id": "company-uuid",
      "name": "Your Company",
      "email": "info@example.com"
    },
    "product_id": "product-uuid",
    "dealer_id": null,
    "dealer_product_id": null,
    "items": []
  }
}

Winkelwagen-/contactloos pad

Gebruikt wanneer de knop geen PDF en geen e-mail heeft (alleen webhook en/of postMessage). Slaat het aanmaken van een offerte over. Webhook-event:

json
{
  "event": "cart.action",
  "source": "iconfigure",
  "timestamp": "2026-06-17T12:00:00.000Z",
  "data": {
    "button_id": "button-internal-id",
    "product_id": "product-uuid",
    "dealer_id": null,
    "dealer_product_id": null,
    "language": "NL",
    "extra_fields": {},
    "items": []
  }
}

Verrijkte items-array

Elk item in data.items bevat herleide featurenamen en geselecteerde subfeatures:

json
{
  "product_id": "uuid",
  "product_name": "Table configurator",
  "image": "https://.../temporary/.../screenshot.png",
  "items": [
    {
      "repetitions": [
        [
          {
            "ID": "material",
            "feature_name": "Material",
            "type": "single_selection",
            "value": "oak",
            "selected": {
              "ID": "oak",
              "name": "Oak",
              "custom_properties": {}
            }
          }
        ]
      ]
    }
  ]
}

HTTP-details

EigenschapWaarde
MethodePOST
Content-Typeapplication/json
BodyJSON-payload hierboven
HerhaalpogingenGeen (fire-and-forget)
Dubbele URL'sGededupliceerd per verzoek

Je endpoint moet reageren met een 2xx-status. Mislukkingen worden server-side gelogd maar niet automatisch opnieuw geprobeerd.

Testen

  1. Maak een test-endpoint aan op webhook.site of een n8n-/Zapier-webhook.
  2. Plak de URL op een test-verzendknop.
  3. Voltooi een configuratorverzending.
  4. Bekijk de ontvangen JSON.

Oude webhooks

Producten zonder een moderne inzendingsuitvoer kunnen terugvallen op URL's uit de oude webhooks-tabel. Nieuwe integraties moeten in plaats daarvan Data Submissions-knoppen gebruiken.

Verder lezen