Gå til hovedinnhold

Synkronisering av abonnenter fra Iteras via API

Oppdatert for over en måned siden

Hvis man skal synkronisere abonnenter fra Iteras via API-et, finnes det en bestemt strategi som med minimalt arbeid gir god kvalitet i synkroniseringen, samtidig som den er robust slik at man ikke stadig manuelt må håndtere uoverensstemmelser.

Oppsett av webhook for løpende synkronisering

Første skritt er å sette opp en webserver som kan motta data over HTTPS via et webhook.

Hvis man har prøvd webteknologi før, er dette ganske enkelt. Når det skjer en endring på en abonnent i Iteras, sender Iteras en POST med litt informasjon om endringen til URL-en du har satt opp.

Webhook-et skal registreres med URL-en inne i Iteras under integrasjoner. Det finnes noen få innstillinger – blant annet kan man angi hvilke hendelser man ønsker å motta, og man kan få webhook-et til å sende oppdaterte data om de endrede abonnentene. Dataene kommer i nøyaktig samme format som når man henter data om abonnenter via API-et.

Behandling av mottatte data

Neste skritt er å skrive litt kode som tar en liste med abonnentdata og bruker dem til å oppdatere din lokale database.

Det er vanligvis fornuftig å behandle en hel liste om gangen, siden det ofte går raskere. Hvis man tar én og én, risikerer man å bruke mye tid på venting for hver operasjon.

Når du har denne koden, kan du ta de oppdaterte abonnentdataene direkte fra webhook-et, sende dem til funksjonen, og da er datasynkroniseringen egentlig på plass. Hvis webserveren din er nede en kort stund, eller det oppstår nettverksproblemer, vil Iteras automatisk gjenoppta synkroniseringen etter en tid.

Det eneste som gjenstår, er å oppdatere den lokale databasen med eksisterende abonnenter.

Full synkronisering via API-et

Til dette formålet skriver man litt kode som spør API-et om å hente alle abonnentene med sideinndeling. For hver side med abonnenter kaller man koden man nettopp har skrevet for å behandle en liste med abonnenter.

Når dette er på plass, kjører man det én gang, og deretter er man klar for drift.

Hvis det oppstår problemer underveis, eller man utvider synkroniseringen til å omfatte flere felt, kan man alltid kjøre en full synkronisering igjen.

Du må svare rimelig raskt

Det er én ting i det ovenstående man bør være oppmerksom på: Iteras forventer å få svar tilbake på et webhook innen kort tid. Den nøyaktige tidsgrensen kan ses i innstillingene for webhook-et inne i Iteras.

Det skal være god tid til å oppdatere en lokal database, men hvis man må kontakte en ekstern tjeneste som er treg eller upålitelig, kan det bli et problem at Iteras til slutt timer ut og sender på nytt.

Hvis man har behov for å utføre videre handlinger basert på dataene, bør man derfor registrere dette lokalt og kjøre et separat, uavhengig jobb som håndterer det, slik at man kan svare raskt tilbake til webhook-et.

Eksempel – send en e-post

Hvis man for eksempel lagrer de nødvendige dataene, men også ønsker å sende en skreddersydd, egenprodusert velkomst-e-post til nye abonnenter, bør man ikke sende e-posten mens man lagrer dataene.

I stedet registrerer man på abonnenten at det skal sendes en e-post, svarer tilbake med en gang, og starter deretter en separat jobb som sender e-post til dem som mangler å få.

Dette gjør det som regel også mye enklere å teste koden og unngå feilscenarioer der man sender e-posten flere ganger til de samme hvis noe går galt.

Svarte dette på spørsmålet?