Følg

Integration til hjemmeside og andre systemer

Om integration med fmcgProductsIntegrator

Metoder.

fmcgProducts understøtter integration af produktdata med andre systemer ved brug af et web services API (JSON/XML), FTP og mail-in.

Filtyper.

Udover JSON/XML kan fmcgProducts behandle tekstfiler (kommasepareret eller kolonneformatteret) og Excel-filer.

Felttyper.

fmcgProducts kan sende og modtage følgende felttyper.

  • GDSN 3.1 felter ”Dxxxx” , f.eks. EAN/GTIN (D8165), Varenavn (D8258) etc.

 

  • Egne felter ”Exxxx”, f.eks. sortiments, produktkategorifelter etc, som man ønsker at ”styre på” i fmcgProducts, f.eks. ift. sortimentsoversigter, produktkategorioversigter, Excel udtræk, integration med øvrige systemer etc.

 

  • Systemfelter ”Xxxxx”, f.eks. X9000 ”Klar til GS1” som gør det muligt at styre synkronisering af produktdata med GS1 (skal produktet synkroniseres med GS1 hvis det er ”GS1 validt” eller ej).

 

  • Andre felter som ”mappes” til kendte felter i fmcgProducts.

Historik.

Uanset hvilken metode der anvendes til integration og opdatering af fmcgProducts, vil alle transaktioner og ændringer blive registreret på den enkelte produktenhed. Den specifikke hsitorik for den enkelte produktenhed kan ses ved at vælge ”Vis produkthistorik” fra brugergrænsefladen på det enkelte produkt.

Mail-In.

fmcgProducts kan modtage tekstfiler (kommasepareret eller kolonneformatteret) samt  Excel-filer via mail-in. fmcgProducts kan konfigureres så det alene er specifikke afsender-adresser som har lov til at maile filer til fmcgProducts for opdatering. 

                                                                                                                     

Integration uden ”mapping”.

fmcgProducts kan indlæse et MS Excel regneark direkte (uden mapping), forudsat at syntaks for Excel-import er overholdt. Korrekt syntaks er felttype/nr i første række samt at GDSN 3.1 standard er anvendt ift. keywords – eksempel:

Såfremt produktenheden findes i forvejen i fmcgProducts (den unikke nøgle er ”EAN/GTIN + target market (landekode)), opdateres produktenheden i fmcgProducts. Hvis ”EAN/GTIN + target market” ikke findes i fmcgProducts, oprettes der en ny produktenhed i fmcgProducts.

Såfremt syntaksen ikke er overholdt, f.eks.  ved manglende Ean/GTIN i kolonne A, feltet der er angivet i første række ikke findes  fmcgProducts, brug af ugyldigt keyword etc., springes pågældende række over (produkt) og der forsøges indlæsning af næste række (produkt).

Ved enhver indlæsning af produktdata til fmcgProducts genereres der en indlæsningsrapport, som viser præcist hvilke rækker (produkter) der er indlæst korrekt, og hvilke rækker (produkter) der ikke er indlæst pga syntaksfejl.  Den præcise årsag til syntaksfejl er angivet i indlæsningsrapporten (felt findes ikke, ugyldigt keyword etc.).

Det er muligt at opsætte fmcgProducts således at indlæsningsrapporten mailes til en eller flere mailadresser i forlængelse af en indlæsning til fmcgProducts.

Integration med ”mapping”.

fmcgProducts indeholder et ”mappingmodul”, som gør det muligt at ind- og udlæse filer  (kommasepareret eller kolonneformatteret tekstfil) til/fra fmcgProducts.

Forudsat at ”EAN/GTIN + target market” er angivet korrekt et vilkårligt sted i indlæsningsfilen, er det muligt at mappe alle felter fra importfilen, dvs. position i indlæsningsfilen, til de tilhørende felter i fmcgProducts.

Ifm. mapping kan der samtidig udføres en række funktioner – eksempler:

  • Konvertering (f.eks. fra KG til GRAM)
  • Default felter (f.eks. måleenheder, landekoder, faste værdier i felter etc)
  • ”en til flere enheder” f.eks. kan der indlæses én række fra tekstfil, som efterfølgende danner grundlag for opdatering/oprettelse af flere produktenheder (basis-kasse-palle)

 

Web services API (JSON)

Ét produkt / GTIN.

API’et har support for følgende kald:

GET https://<kundeinstans>.fmcgproducts.dk/api/: returner kort status på fmcgProducts.

GET https://<kundeinstans.fmcgproducts.dk/api/status/<product id>: returner status på produktet hvor product id er GTIN.TargetMarket.

eksempel: https://<kundeinstans>.fmcgproducts.dk/api/status/04005514026085.752

GET https://<kundeinstans>.fmcgproducts.dk/api/details/05701111000815.208?fields=D8256,D8258,D8245: returner specifikke felter (eksemplet returnerer leverandørens varenr, leverandørens varenavn samt GPC kode).

POST https://<kundeinstans>.fmcgproducts.dk/api/: opretter/opdaterer et produkt. Nøglen er GTIN via feltet D8165 samt target market via feltet D8255. Retursvar svarer til /api/status/<product id>. Dermed fås validation errors (GDSN og specifikke regler for de enkelte target markeds) med retur.

Med feltet “test” sat til true, kan der testes uden at oprette/opdatere produkter, og der kommer stadig korrekt retursvar tilbage.

 

En selektion af flere produkter / GTIN’s.

Der kan defineres en eller flere selektioner ud fra nogle givne kriterier. Selektionen gemmes i kundeinstansen under et ”viewname”, som angives i web API-kaldet. API’et returnerer alle de produkter som opfylder de givne kriterier.

Eksempler:

  1. https://<kundeinstans>.fmcgproducts.dk/api.xsp?request=view&viewname=<view name>
  2. https://<kundeinstans>.fmcgproducts.dk/api.xsp?request=view&viewname=<view name>&format=xml
  3. https://<kundeinstans>.fmcgproducts.dk/excel.xsp?request=view&viewname=<view name>&template=<excel template>

1: Returnerer alle produkter fra den angivne selektion i JSON-format.

2: Med parameter ”&format=xml” returneres der XML.

3: Med ”excel.xsp” og ” &template=Excel” returneres der Excel fil (med felter som specificeret i Excel-templaten <excel template>

Dvs. der kan defineres et antal selektioner, f.eks. på udvalgte leverandører (GLN = ??? OR GLN = ??? etc.), på GPC kode, etc., som returnerer præcist de produktdata som der er behov for.

Yderligere parametre:

  1. &fieldnames : Der kan angives ”gs1” som returnerer gs1 feltnavne, eller andre feltnavne efter aftale (svarende til de feltnavne som modtager systemet anvender)
  2. &limit=<antal>&offset<start fra nummer> : Returnerer et antal produkter fra den angivne ”offset”.
  3. &modifiedSince=<minutter> : Returnerer de produkter i det pågældende view/selektion, som er rettet inden for XXX minutter.

 

Sikkerhed.

fmcgProductsIntegrator afvikles i et dubleret servermiljø bestående af et cluster med 4 servere fordelt på 2 fysiske lokationer.

Der anvendes Nginx til fordeling af HTTPS trafik og omdiregering ved fejl på en server.

Alle services kan låses til én eller flere IP’er (kundens), og det er alene de specificerede IP’s som får adgang til produktionsserverne.

  

1 Kommentarer

  • Avatar
    Robert Wagner

    Super!

Log ind for at kommentere.