ConnectWiz + API & Webhooks

Live integratie

De API die we verkopen, is de API die we zelf gebruiken

Het hele platform staat gespecificeerd in één OpenAPI-contract waaruit ons eigen paneel en onze mobiele app worden gegenereerd — geen schaduwendpoints, geen documentatie die afdrijft. Daarbovenop: Commerce API-sleutels met scopes, beveiligde webhooktriggers en flows die jouw systemen aanroepen.

Eén OpenAPI-contract API-sleutels met scopes Webhooks geverifieerd met HMAC
API & Webhooks × ConnectWiz
Payloads zijn data, nooit commando’s
Sleutel met scopes: catalogus lezen · orders schrijven
Webhook → HMAC geverifieerd → flow start
REST-stap in de flow roept jouw API aan
1
Het OpenAPI-contract dat telt — hetzelfde bestand waaruit ons eigen paneel en onze mobiele apps worden gegenereerd
3
Commerce-scopes — catalogus lezen, orders lezen, orders schrijven — per sleutel uitgegeven
100
Maximaal aantal rijen per leesactie, aan de serverkant begrensd — een limietparameter wordt gevalideerd, nooit vertrouwd
50
Regels per order via de API — een grens die we noemen, niet een die je ontdekt

Ontwikkelaars

Wat het doet — precies

Eén contract dat telt

Eén OpenAPI 3-document specificeert het platform; onze eigen TypeScript-clients worden eruit gegenereerd — de documentatie kan niet afdrijven van de werkelijkheid, want de werkelijkheid wordt uit de documentatie gebouwd.

Commerce API-sleutels

Sleutels die de tenant zelf uitgeeft, met expliciete scopes — catalogus lezen, orders lezen, orders schrijven — draaien je eigen storefront of app op dezelfde ordermotor, met prijzen die altijd aan de serverkant worden bepaald.

Inkomende webhooks, beveiligd

Elke webhooktrigger in een flow heeft een eigen URL en secret, HMAC-verificatie over de ruwe body en bescherming tegen replay. Een payload mag een persoon noemen; hij kan nooit de binnenkant van de flow sturen.

Uitgaand via flows

De REST-stap roept je systemen aan op precies de momenten die je op het canvas tekent — order geplaatst, toestemming gegeven, boeking gemaakt.

De techniek erachter

Standpunten in het API-ontwerp, uitgesproken

Prijzen komen nooit van de client

Een orderverzoek zegt wat en hoeveel — naam en prijs worden op dat moment aan de serverkant uit de catalogus gelezen en als momentopname op de regel gezet. Een gemanipuleerd verzoek kan geen korting verzinnen.

Eerst mogelijkheden, dan aanroepen

Elke integratie publiceert een contract met haar mogelijkheden — kan ze matchen op telefoonnummer, gastorders opsommen, orders aanmaken? — en aanroepen voorbij een uitgesproken “nee” gooit meteen een fout, in plaats van ergens diep vast te lopen.

Fouten die iets betekenen

Het transport onderscheidt “niet geautoriseerd” van “dienst ligt plat” — zodat “de winkel is onbereikbaar” nooit wordt weergegeven als “deze klant heeft nooit iets gekocht”. Fouten met een naam zijn het verschil tussen een API en een raadspelletje.

Webhooks die replay niet pikken

Elk binnenkomend event claimt vóór verwerking een unieke sleutel in een idempotency-register — een herhaalde of opnieuw afgespeelde levering sterft in de databaselaag, niet in je automatisering.

Sleutels gehasht, secrets met scopes

API-sleutels worden als hash opgeslagen, en aan de deur zijn alleen de hash en de scopes op te lossen — een uitgelekte databaseregel noemt geen workspace en opent niets buiten zijn scopes.

Concepten en bevestigingen zijn expliciet

Een order aanmaken vraagt een expliciete confirm-parameter — de publieke API staat standaard op bevestigd, flows in het paneel kunnen concepten klaarzetten — zodat “is dit echt?” een veld is en geen afspraak.

Instellen

Hoe de koppeling werkt

01

Geef een sleutel uit

Maak in het paneel een Commerce API-sleutel met scopes; intrekken gaat net zo makkelijk.

02

Sluit een webhook aan

Maak een flow met een webhooktrigger; onderteken je verzoeken met het secret ervan.

03

Roep naar buiten

Voeg REST-stappen toe waar je systemen het moeten horen.

Beter samen

Waar het mee combineert

Flows

Webhooktriggers starten flows; REST-stappen roepen je systemen terug op de momenten die jij tekent — inkomende en uitgaande automatisering delen één canvas.

Commerce

De catalogus- en ordermotor achter de API is dezelfde die de chatwinkel en de AI gebruiken — één orderwaarheid, vier deuren.

Je eigen storefront

Teams draaien vandaag al headless storefronts op de Commerce API — het pad dat de Shopify-pagina zonder opsmuk aanbeveelt zolang de native connector wordt gebouwd.

Beveiliging & garanties

De saaie garanties

HMAC over de ruwe body

De webhookverificatie ondertekent de ruwe request-body met een secret per trigger en vergelijkt in constante tijd — pas na het bewijs wordt er geparsed.

Payloads zijn data, nooit commando’s

Een webhookpayload mag naar een persoon verwijzen; hij kan nooit de binnenkant van een flow sturen, prompts herschrijven of tools aanroepen. De grens tussen data en instructies zit in de architectuur, niet in gedrag.

Rate limits op elke deur

Publieke endpoints vallen onder de standaard throttling, en leeslimieten worden aan de serverkant begrensd — een client die zich misdraagt, remt zichzelf af en niet het platform.

De kleine lettertjes, zonder opsmuk

Grenzen, benoemd

Nog geen firehose

Een algemene webhookfeed waarop je je op alles abonneert, is niet gebouwd — uitgaande events lopen vandaag via flowstappen. Dat staat hier, zodat geen verkoopgesprek iets anders hoeft te suggereren.

Begrensde leesacties, met opzet

Leesacties geven maximaal 100 rijen terug, met een cursor — de API is gebouwd voor operationele integratie, niet voor bulkexport. Bulkbehoeften zijn een gesprek, geen achterdeur.

FAQ API & webhooks

Antwoord zonder omwegen

Meer in de volledige FAQ, of vraag het ons direct.

Het platform staat gespecificeerd in één OpenAPI 3-contract — hetzelfde bestand waaruit ons webpaneel en onze mobiele app hun types genereren. Waar jij tegenaan integreert, is waar wij op draaien.

Een secret per trigger, HMAC-verificatie over de ruwe body en bescherming tegen replay via een idempotency-register. En als regel: payloads zijn data — ze mogen naar een persoon verwijzen, maar de automatisering nooit iets opdragen.

Via REST-stappen in flows, afgevuurd op de momenten die jij op het canvas kiest. Een algemene uitgaande webhookfeed staat op de roadmap en wordt bewust niet beloofd tot hij er is.

Ja — de catalogus lezen en orders schrijven is het ondersteunde pad, met prijzen die aan de serverkant worden bepaald en sleutels met scopes die je per plek kunt intrekken. De grenzen van 50 regels en 100 rijen staan er expliciet bij, zodat je ernaartoe ontwerpt in plaats van erover te struikelen.

Aan onze kant zijn leveringen idempotent — het register herkent een replay en laat hem vallen, dus je systemen kunnen veilig opnieuw proberen. Uitgaande REST-stappen uit flows hebben hun eigen herhaalbeleid, waarbij fouten zichtbaar worden op de run van de flow.

Eerlijk koppelen wint van hard roepen.

Elke integratie hier is beschreven op wat ze echt doet — inclusief richting, eigenaarschap en grenzen.