Gå til hovedsiden

Black Week kommer, er dine integrasjoner klare?

Bildet er tydelig; November er måneden da alle systemene som er involvert i varehandel blir presset til det ytterste, så det betyr at dine integrasjoner må være i toppform.

Fra rødt til sort i regnskapet

Årets store test for alle som driver innen varehandel er rett rundt hjørnet. Første fredag etter Thanksgiving, og siste fredag i november, er dagen da alle handelsbedrifter skal snu de røde tallene i regnskapet til svarte, derav navnet Black Friday . Det betyr at en enorm mengde varer må forlate butikkene i bytte mot en like stor mengde penger fra kundenes lommebøker.

Selv om vi her i landet ikke har adoptert tradisjonen med å feire Thanksgiving, har vi i aller høyeste grad adoptert Black Friday og det til gangs. Black Friday har blitt Black Week, vi har lagt til Cyber Monday som har blitt Cyber Week, og jammen fant vi også en kinesisk tradisjonell handledag for alle single (Singles day) som vi la oppe i det hele. 

Så hva kan da være en bedre anledning til å ta i bruk det nye Visma.net ERP Sales Order Service APIet?

Dette helt nye APIet er bygget spesielt for å bedre ytelsen og bruksområdene rundt å gjennomføre varesalg. Det er fortsatt under utvikling, noe som betyr at mer funksjonalitet vil bli lagt til APIet i tiden som kommer, men funksjonaliteten som finnes der i dag kan gjøre en enorm forskjell for dine integrasjoner.

La oss fokusere på et par av funksjonene som er helt sentrale i e-handels opplevelsen.

GET InventorySummary

Les videre hvis du er klar for litt herlig API-nerding, for herfra blir jeg litt mer teknisk. API-endepunktet GET InventorySummary har vært tilgjengelig i APIet til Visma.net lenge. Dette endepunktet brukes til å hente informasjon om lagerbeholdning for en vare. Hvor mange er tilgjengelig for salg? Hvor mange er reservert på salgsordre? osv.

Dette endepunktet er et av de aller mest brukte i APIet til Visma.net. Historisk sett er det alltid en stor økning i bruk gjennom november og desember.

Men det finnes noen utfordringer med dette endepunktet:

  • Du kan kun hente informasjon for én vare per API-kall. Hvis du har flere lager, kan du kun spørre mot ett lager om gangen.
    Dette medfører at du ofte må gjøre mange API-kall. 
  • Det returneres en stor mengde informasjon, ofte mer enn du trenger.
    Dette betyr at endepunktet er ganske tregt.

Vi har sett hvilke problemer dette skaper for deres integrasjoner og hvilken belastning dette endepunktet har påført våre servere, så det er derfor en glede å kunne introdusere et nytt endepunkt i Sales Order Service APIet… /Inventory.

Dette nye endepunktet har blitt utviklet spesifikt for å løse disse behovene raskt og effektivt.

Med det nye endepunktet /Inventory kan du:

  • Hente informasjon om lagerbeholdning for så mange varer du vil per kall.
  • Hente informasjon om varer på tvers av lagre og lagerlokasjoner.
  • Filtrere på lagre og lokasjoner.
  • Velge hvor mye data som skal returneres (skal lokasjoner og attributter inkluderes).
  • Filtrere på når lagerbeholdning er endret (hent bare varer endret siden gitt tidspunkt).
  • Filtrere på varens attributter.
  • Få resultatene i en forrykende fart.

Forrykende fart sier du, hvor fort er egentlig det da?

Jo, vi har gjort en god del testing. Med det gamle endepunktet /InventorySummary, ser vi at det i gjennomsnitt tar ca 1 sekund (altså 1000 millisekunder) å få svaret. Og da får du kun info om én vare fra ett lager.

Med det nye endepunktet /Inventory, ser vi at gjennomsnittstiden er 60 ms, og det er ikke store forskjellen på om du henter info om en eller mange varer (60 ms er gjennomsnittstiden for å hente info om 5 varer). Da får du i tillegg med info om alle lager hvor varen eventuelt befinner seg. Du kan få med info om lagerlokasjoner og attributter i tillegg uten at det tar mange millisekundene ekstra. 

Så hvordan vil dette se ut i et virkelig eksempel?

Vi har en netthandel og kunden har lagt 5 varer i sin handlekurv. Før kunden betaler ønsker vi sjekke at varene i kurven faktisk finnes på lager.

Så med det gamle /InventorySummary-endepunktet måtte vi da gjort 5 kall, som hvert tar ca ett sekund. Benytter du flere lager, kan du gange opp dette med antallet lager.

Med det nye /Inventory endepunktet kan vi gjøre kun ett kall, der vi spør om beholdning av alle 5 varene samtidig, vi få også status på tvers av alle lager hvor varen befinner seg. Det kallet tar ca 60 millisekunder.

Altså 5000 ms (5*1000) mot 60 ms, det er forrykende fort.

SalesOrder

Men, når regnskapstallene skal gå fra røde til sorte, holder det ikke å sjekke lagerbeholdningen. Kundene må kjøpe varene, det må opprettes ordre.

I det nye Sales Order Servicer APIet finnes det også et POST /SalesOrder-endepunkt, som gjør akkurat det. I versjonen som er klar nå, støttes all funksjonalitet som trengs for å opprette de aller fleste ordre (så lenge de er av typen SO). Du kan legge til rabatter, håndtere valutaer og notater på både linje og ordrehode.

Selvfølgelig er også ytelsen her noe helt annet enn før. Våre tester viser at prosessen med å opprette ordre med det nye endepunktet er ca 25 ganger raskere, og jo flere linjer ordren inneholder, jo større ytelsesforbedring er det.

Disse forbedringene kommer ikke bare deres applikasjoner og kundene til gode. Siden de nye endepunktene er så mye raskere og mer effektive, så krever det langt mindre av våre servere å levere funksjonaliteten. Det betyr at vi kan håndtere enorme mengder API-kall uten å slite ute serverene. Bra for oss, bra for dere og bra for kundene.

De nye endepunktene kan benyttes side om side med de gamle, så du trenger ikke bygge om hele integrasjonen din. Start med å bytte ut bare ett eller et par av endepunktene, så kan du ta resten etterhvert som du får tid og mulighet.

Hvis du ikke kjenner til det nye Sales Order Service APIet, foreslår jeg at du begynner med å lese denne artikkelen for å komme i gang Getting started with the first neXtGen service: Visma.net ERP Sales Order API.

Du kan også se dokumentasjonen av APIet her: https://salesorder.visma.net/swagger/index.html.

Da gjenstår det bare å ønske lykke til med programmeringen! Vi ser frem til å nok en gang sette Black Friday-salgsrekorder sammen med deg!

Mest populære