Teknik og sporing
API-integration
Også kaldet API integration, API, programmeringsgrænseflade.
Kort svar
API-integration er en programmatisk forbindelse, hvor to systemer udveksler data direkte over HTTP i stedet for gennem et brugerinterface. I affiliate-marketing bruges den til at hente rapporter, sende konverteringer og opdatere produktfeeds automatisk.
Definition af API-integration.
En API-integration består af tre dele: et endpoint, en autentificering og et dataformat. Klienten kalder en URL med en nøgle eller et token i headeren, og serveren svarer med struktureret data – næsten altid JSON. Til forskel fra en manuel eksport kører kaldet på maskinens vilkår: hver nat klokken 04, hver time eller i samme sekund som en ordre falder.
Data løber i to retninger. Træk (pull) er når affiliaten eller butikken henter noget: statistik, programlister, produktfeeds, udbetalingshistorik. Skub (push) er når butikkens system sender noget ind – typisk en gennemført ordre, der registreres som konvertering server-til-server. Skub er den robuste retning, fordi den ikke afhænger af, om et script nåede at køre i kundens browser.
Tre ting afgør, om en API-integration holder i drift. Autentificering: nøglen skal have færrest mulige rettigheder. Rate limits: hvor mange kald er tilladt pr. minut, og hvad sker der, når loftet rammes. Idempotens: samme ordre skal kunne sendes to gange uden at tælle to gange. Springes idempotens over, opdages det først, når en netværksfejl har udløst et gensend.
Hvad en API-integration bruges til
For affiliaten: samle klik, salg og provision fra flere programmer i et regneark eller dashboard, hente produktfeeds til prissammenligning og trække nye kampagner og satser ned automatisk. Rapport-endpoints er dem, der kaldes oftest – en affiliate med 20 programmer sparer 20 logins om dagen.
For butikken: sende konverteringer ind server-til-server, melde en refundering tilbage, opdatere et produktfeed dagligt og hente skyldig provision til bogføringen. En e-commerce-platform med en færdig app skjuler API'et bag en installation. Det er stadig en API-integration – blot en, en anden har skrevet.
API-nøgler og adgang
En API-nøgle er et password i tekstform. Den hører hjemme i serverens miljøvariabler – aldrig i frontend-kode, aldrig i git og aldrig i en chat. En nøgle, der kun skal læse rapporter, skal ikke også kunne oprette konverteringer.
Signerede webhooks er alternativet i den retning, hvor et system sender til dig. I stedet for at du opbevarer en hemmelighed hos afsenderen, sender afsenderen en signatur, du kan verificere. Modtageren kan bekræfte afsenderen uden nogensinde at kunne handle på dennes vegne.
API-integration vs. webhook
| Aspekt | API-integration | Webhook |
|---|---|---|
| Hvem starter kaldet | dig – du spørger, når du vil have data | afsenderen – den kalder dig, når noget sker |
| Timing | efter tidsplan eller på forespørgsel | i samme øjeblik hændelsen sker |
| Typisk brug | rapporter, produktfeeds, opslag | ordre gennemført, ordre refunderet, abonnement fornyet |
| Når modtageren er nede | du prøver igen, når du er klar | afsenderen gensender – og du skal kunne tåle dubletter |
Brug et API, når du selv skal bruge data på et tidspunkt du bestemmer, og en webhook, når noget skal ske i samme sekund som hændelsen.
Sådan går det galt
- 01
Nøglen ligger i frontend
En API-nøgle i JavaScript, der køres i browseren, er offentlig. Alle med udviklerværktøjer kan læse den og kalde API'et som dig. Kald altid API'et fra din egen server.
- 02
Ingen idempotensnøgle
Sendes samme ordre to gange efter en timeout eller en genstart, tæller den to gange, hvis modtageren ikke deduplikerer. Send et stabilt ordre-id med hver gang, og lad modtageren afvise gengangeren.
- 03
429 og 503 behandles som fejl
Et API, der svarer 429 eller 503, siger prøv igen senere – ikke salget findes ikke. Uden backoff og en retry-kø forsvinder præcis de konverteringer, der ramte et uheldigt tidspunkt.
Hos Affilyflow
API-integration i praksis
Affilyflow tager imod konverteringer server-til-server, og samme ordre kan aldrig tælle to gange: der dedupliceres på ordre- eller faktura-id pr. program, så et gensend efter en timeout ikke skaber dobbelt provision.
En butiks webhook kan kun kreditere butikkens eget program – kommer der en hændelse ind, der peger et andet sted hen, afvises den. Til Stripe beder vi aldrig om din API-nøgle, kun om en webhook signing-secret, som udelukkende kan bruges til at verificere, at hændelsen kom fra dig.
Ofte stillede spørgsmål
Hvad er forskellen på en API-integration og en sporingspixel?
En sporingspixel kører i kundens browser og kan blokeres af annonceblokering, browserindstillinger eller en fejl i et andet script. En API-integration sender ordren fra butikkens server til netværkets server og er upåvirket af browseren. Mange butikker kører begge dele og lader deduplikering på ordre-id fjerne dubletterne.
Skal jeg kunne programmere for at bruge en API-integration?
Til en færdig app eller et plugin, nej – installationen kalder API'et for dig. Til alt andet ja: du eller din udvikler skal kunne lave et HTTP-kald med en nøgle, læse JSON og håndtere fejl. For en udvikler, der kender butikkens backend, er det få timers arbejde.
Hvor ofte må jeg kalde et affiliate-API?
Det afgøres af netværkets rate limit, som oplyses i dokumentationen og håndhæves med HTTP-status 429. Rapportdata ændrer sig sjældent oftere end en gang i timen, så et kald i timen pr. rapport rækker til de fleste formål. Konverteringer sendes derimod i det øjeblik ordren falder.
Hvad gør jeg, hvis API-kaldet fejler midt i en ordre?
Læg kaldet i en kø og prøv igen med stigende ventetid i stedet for at fejle ordren. Kundens køb må aldrig afhænge af, at et eksternt API svarer. Send altid ordre-id med, så et gensend genkendes som en dublet frem for som et nyt salg.
Læs videre
- WebhookEn webhook er et automatisk HTTP-kald, et system sender til et andet, når en hændelse indtræf…
- Server-til-server tracking (postback)Server-til-server tracking (postback) er en sporingsmetode, hvor konverteringen meldes direkt…
- Produktfeed (datafeed)Et produktfeed (datafeed) er en struktureret fil – typisk CSV eller XML – hvor en butik udsti…
- SporingspixelEn sporingspixel er et lille kodestykke – oprindeligt et usynligt billede på 1×1 pixel – på e…
- Deduplikering (dedup)Deduplikering er den kontrol, der sikrer, at samme ordre kun udløser provision en gang. Ordre…