ConnectWiz + API & webhooks

Live integration

Det API, vi sælger, er det API, vi selv bruger

Hele platformen er specificeret i én OpenAPI-kontrakt, som vores eget panel og vores mobilapp genereres ud fra – ingen skjulte endpoints, ingen dokumentation på afveje. Oven på den: Commerce-API-nøgler med scopes, sikrede webhook-udløsere og flows, der kalder dine egne systemer.

Én OpenAPI-kontrakt API-nøgler med scopes HMAC-verificerede webhooks
API & webhooks × ConnectWiz
Payloads er data, aldrig kommandoer
Nøgle med scopes: katalog læs · ordrer skriv
Webhook → HMAC verificeret → flow starter
REST-trin i flow kalder dit API
1
OpenAPI-kontrakt som facit – den samme fil, som vores eget panel og vores mobilapps genereres ud fra
3
Commerce-scopes – katalog læs, ordrer læs, ordrer skriv – udstedes pr. nøgle
100
rækker maks. pr. læsning, begrænset på serveren – en limit-parameter bliver valideret, aldrig troet
50
ordrelinjer pr. ordre gennem API'et – en oplyst grænse, ikke en, du selv opdager

Udviklere

Hvad den gør – præcist

Én kontrakt som facit

Ét enkelt OpenAPI 3-dokument specificerer platformen, og vores egne TypeScript-klienter genereres ud fra det – dokumentationen kan ikke komme på afveje, fordi virkeligheden bygges ud fra dokumentationen.

Commerce-API-nøgler

Nøgler udstedt pr. tenant med udtrykkelige scopes – katalog læs, ordrer læs, ordrer skriv – driver din egen webshop eller app på den samme ordremotor, og priserne slås altid op på serveren.

Indgående webhooks, sikret

Enhver webhook-udløser i et flow har sin egen URL, sin egen secret, HMAC-verifikation over den rå body og beskyttelse mod replay. En payload kan nævne en person; den kan aldrig styre flowets indre.

Udgående via flows

REST-trinnet kalder dine systemer præcis på de tidspunkter, du tegner ind på tegnefladen – ordre afgivet, samtykke givet, booking lavet.

Teknikken bag

Holdninger til API-design, sagt højt

Priser kommer aldrig fra klienten

En ordreanmodning siger hvad og hvor mange – navn og pris læses fra kataloget i samme øjeblik, på serveren, og skrives på linjen som et øjebliksbillede. En manipuleret anmodning kan ikke opfinde en rabat.

Kapabiliteter før kald

Hver integrationsflade offentliggør en kapabilitetskontrakt – kan den matche på telefonnummer, liste gæsteordrer, oprette ordrer? – og et kald ud over et erklæret »nej« fejler med det samme i stedet for et sted dybt nede.

Fejl, der betyder noget

Transporten skelner mellem »ikke autoriseret« og »tjenesten er nede« – så »butikken kan ikke nås« aldrig bliver vist som »denne kunde har aldrig købt noget«. Navngivne fejl er forskellen på et API og en gættekonkurrence.

Webhooks, der ikke kan replayes

Hver indgående hændelse tager en unik nøgle i et idempotensregister, før den behandles – en gentaget eller replayet levering dør i databaselaget, ikke inde i din automatisering.

Nøgler hashet, secrets med scopes

API-nøgler gemmes som hashes, og kun hashen og dens scopes kan slås op ved døren – en lækket databaserække nævner intet workspace og låser intet op ud over sine scopes.

Kladder og bekræftelser er udtrykkelige

Oprettelse af en ordre tager en udtrykkelig confirm-parameter – det offentlige API står som standard på bekræftet, og flows i panelet kan lægge kladder – så »er den her rigtig?« er et felt og ikke en aftale, man husker.

Opsætning

Sådan kobles den til

01

Udsted en nøgle

Opret en Commerce-API-nøgle med scopes i panelet; den kan trækkes tilbage lige så let.

02

Kobl en webhook på

Opret et flow med en webhook-udløser, og signér anmodningerne med dens secret.

03

Kald tilbage udad

Læg REST-trin ind præcis der, hvor dine systemer skal høre om det.

Bedre sammen

Hvad den spiller sammen med

Flows

Webhook-udløsere starter flows; REST-trin kalder dine systemer tilbage på de tidspunkter, du selv tegner – indgående og udgående automatisering deler én tegneflade.

Commerce

Vores katalog- og ordremotor bag API'et er den samme, som chatbutikken og AI'en bruger – én ordresandhed, fire døre.

Din egen webshop

Teams kører allerede headless webshops på Commerce-API'et i dag – og det er netop den vej, der ærligt bliver anbefalet på Shopify-siden frem til den dag, den indbyggede connector står færdig.

Sikkerhed & garantier

De kedelige garantier

HMAC over den rå body

Verifikationen signerer den rå request body med en secret pr. udløser og sammenligner i konstant tid – der parses først, når beviset foreligger.

Payloads er data, aldrig kommandoer

En webhook-payload kan henvise til en person; den kan aldrig styre et flows indre, omskrive prompter eller kalde værktøjer. Grænsen mellem data og instruktioner er arkitektonisk, ikke et spørgsmål om opførsel.

Rate limits på hver eneste dør

Offentlige endpoints kører med almindelig throttling, og læsegrænser sættes på serveren – en klient, der opfører sig skidt, forringer kun sig selv og ikke platformen.

Det ærlige med småt

Grænser, sagt højt

Ingen firehose endnu

Et generisk webhook-feed, man abonnerer på alting med, er ikke bygget – udgående hændelser sker i dag gennem trin i et flow. Det står her, så ingen salgssamtale behøver at antyde noget andet.

Læsninger med loft, med vilje

En læsning returnerer op til 100 rækker med markør – API'et er bygget til integration i driften, ikke til masseeksport. Behov for masseudtræk er en samtale, ikke et smuthul.

FAQ om API & webhooks

Klare svar

Mere i vores fulde FAQ, eller spørg os direkte.

Platformen er specificeret i én OpenAPI 3-kontrakt – den samme fil, som vores webpanel og vores mobilapp genererer deres typer ud fra. Det, du integrerer op mod, er det, vi selv kører på.

Secrets pr. udløser, HMAC-verifikation over den rå body og beskyttelse mod replay via et idempotensregister. Og som regel: payloads er data – de kan henvise til en person, aldrig kommandere automatiseringen.

Ja, gennem REST-trin i flows, der udløses på de tidspunkter, du vælger på tegnefladen. Et generisk udgående webhook-feed står på køreplanen og bliver bevidst ikke lovet, før det er leveret.

Ja – læsning fra kataloget og skrivning af ordrer er den understøttede vej, med priser slået op på serveren og nøgler med scopes, du kan trække tilbage flade for flade. Grænserne på 50 linjer og 100 rækker står oplyst, så du designer efter dem i stedet for at snuble i dem.

Leveringer er idempotente hos os – registret genkender et replay og smider det væk, så dine systemer trygt kan prøve igen. Udgående REST-trin fra flows har deres egen politik for gentagelser, og fejl vises på selve flow-kørslen.

Ærligt koblet til slår højlydt markedsført.

Hver eneste integration her er beskrevet efter, hvad den faktisk gør – retning, ejerskab og grænser inklusive.