Reserveserver
Reserveserveren er en annen adresse som kjører nøyaktig det samme API-et. Den er der for tilfeller der en forespørsel til portal.bulkgate.com ikke kommer frem i det hele tatt — reserveverten tar imot forespørselen og sender den videre en annen vei.
Hvordan tjenesten er bygd opp
BulkGate kjører på flere servere på tre geografiske steder. Hvis én av dem faller ut, tar de øvrige automatisk over trafikken — ingenting endres for integrasjonen din, og portal.bulkgate.com fortsetter å svare. Det tilfellet trenger du ikke å håndtere selv. Hele oppsettet er beskrevet i Infrastruktur.
Det dette ikke dekker, er veien til oss. Et brudd på strekningen mellom serveren din og vår — hos en operatør, hos en leverandør av nettilkobling eller hvor som helst imellom — ligger utenfor vår kontroll, og forespørselen når oss da aldri. Det er det reserveverten er til for.
Gjeldende tjenestestatus finner du på bulkgate.status.online.
Adresse
Verten er en en-til-en-erstatning — stier, parametere, tilgangsopplysninger og svar er identiske med portal.bulkgate.com. Det eneste du bytter, er domenet:
Den fungerer med samme konto, samme token og samme kreditt. Det er ingenting å sette opp og ingenting å slå på.
Ikke bruk reserveverten som primæradresse. Den kan tas ned for vedlikehold når som helst og uten varsel — den skal bare bære trafikk mens hovedverten er utilgjengelig. Ha portal.bulkgate.com først i rekkefølgen.
Når du skal bytte til den
Reserveverten løser et tilkoblingsbrudd, ikke en avvist forespørsel. En forespørsel som API-et har avvist, besvarer den på nøyaktig samme måte.
Bytt når forespørselen ikke får noe svar:
| situasjon | bytte? |
|---|---|
| Tidsavbrudd ved tilkobling eller lesing | Ja |
| DNS kunne ikke slås opp | Ja |
| Tilkoblingen ble avvist, nettverket er utilgjengelig | Ja |
| HTTP 5xx uten innhold | Ja |
| Et svar med en feiltype (4xx) | Nei |
429 Too Many Requests (grenser |
Nei |
I de to siste tilfellene svarte API-et — forespørselen kom frem og ble behandlet. Gjentar du den på reserveverten, får du samme feil og bruker bare opp enda et forsøk fra grensen din.
Bygge reserveløsningen inn i integrasjonen
Ha adressene i en ordnet liste og prøv dem etter tur. Mislykkes tilkoblingen, går du videre til neste; har API-et svart, returnerer du resultatet som det er.
Hva du bør passe på
Et tidsavbrudd betyr ikke at meldingen ikke ble sendt. Forespørselen kan ha kommet frem, mens svaret gikk tapt på vei tilbake — et nytt forsøk på reserveverten ville da sende meldingen en gang til.
Derfor bør du sende duplicates_check slått på for transaksjonsendepunktene. En melding med samme tekst til samme nummer forkastes innenfor et vindu på 5 minutter, så det gjentatte forsøket dupliserer ingenting.
På markedsføringsendepunktene beskytter ikke duplicates_check et nytt forsøk — den fjerner bare duplikater innenfor én og samme sending, ikke på tvers av forespørsler. En gjentatt forespørsel er en ny sending for den og går ut i sin helhet. Ved massesendinger bør du heller sjekke om det første forsøket gikk gjennom før du gjentar det.
Angi et fornuftig tidsavbrudd. Uten det venter klienten på et svar som aldri kommer, og når aldri frem til reserveverten.
Idempotens i API-et er under utvikling — en gjentatt forespørsel skal kunne merkes slik at API-et gjenkjenner den og returnerer resultatet av den opprinnelige i stedet for å sende på nytt. Da forsvinner forskjellen mellom transaksjons- og markedsføringsendepunkter som er beskrevet over. Vi dokumenterer fremgangsmåten her så snart den er tilgjengelig.
Takk for tilbakemeldingen.