ShopLink

I denne artikel:


Introduktion

ShopLink gør det muligt via fladfilsudveksling at integrere Hostedshop med eksterne systemer såsom et regnskabssystem, idet det giver mulighed for at hente, oprette, redigere og slette entiteter i systemet. I første version gør ShopLink det muligt at synkronisere ordrer fra Hostedshop til eksterne systemer, samt synkronisere produkter (uden varianter) fra eksterne systemer til Hostedshop. I princippet kan ShopLink bruges til alle økonomisystemer som understøtter fladfilsudveksling. ShopLink er en .NET v2.0 Windows applikation som installeres direkte på kundens server.

ShopLink gør brug af webshoppens eksisterende import/eksport format, som er beskrevet i den generelle manual under eksport.

 

Brug

ShopLink udfører følgende opgaver:

  • Eksport af nye ordrer fra Hostedshop for en given webshop
    • Der kontrolleres om der er ordrer i webshoppen med status  "under behandling" (status kode 2). Normalt markeres en ordre som "Ordre modtaget" (status kode 1) når den oprettes. Dette kan ændres til "under behandling" (status kode 2) under betalingsmetoden, hvis ordren ønskes overført til C5 med det samme.
      • Hvis der forekommer nye ordrer eksporteres disse i CSV/XML-format som beskrevet ovenfor og placeres i <Installationsmappe>/orderexport/ med navngivning ”shopnavn_dato”
      • Der kaldes et angiven batch script (bat) der sørger for at behandle de eksporterede ordredata til det eksterne system.
        • Det er batch scriptets ansvar at fjerne CSV/XML-filer fra eksport-folderen, efter at de er behandlet i det eksterne system.
    • ShopLink gemmer efter hver ordreeksport, ID'er på de overførte ordrer i filen <Installationsmappe>/ids.txt. Denne indeholder således en komplet liste over alle eksporterede ordrer. Fjernes et id fra denne fil vil ordren med det pågældende id blive eksporteret næste gang eksportrutinen køres, såfremt den stadig er "under behandling" (status kode 2).
  • Import af data (f.eks. produkter eller brugere) fra det eksterne system til en given webshop.
    • Ønskes opdatering eller oprettelse af et eller flere data fra det eksterne system til en webshop placeres en CSV eller XML-fil i <Installationsmappe>/import/ folderen. Formatet skal ligne den generelle eksport fra webshopsystemet, beskrevet i den generelle manual (under Moduler > Eksport).
    • Efter import flytter mellemlaget importerede filer til <Installationsmappe>/import/imported/ folderen.
    • Det er muligt automatisk at importere produkt-billeder fra shoplink. Dette understøttes kun ved import af produkter i XML-format. Det/De angivne billeder skal ligge i <Installationsmappe>/import/ folderen og de skal navngives så deres navn stemmer overens med det der er angivet under PICTURES for produkterne.

Bemærk: Ordrer kan IKKE importeres.

 

Opsætning

Bemærk: Shoplink er et tilkøbsmodul som skal aktiveres på Hostedshop, før nedenstående procedure kan gennemføres.

ShopLink kan hentes her: download ZIP-fil
Udpak programmet i en folder:

I solutions.txt filen indtastes oplysninger for de løsninger der ønskes synkroniseret. Hver linje repræsenterer én løsning.
Hver linje er i følgende format:
<export-format>, <Solution>, <Password>, <Installationsmappe>, <Import Script>, <Server>, <FTP brugernavn>, <FTP kodeord>.

I følgende parameteroversigt kan du se nærmere på opbygningen af forespørgsler:

Parameter Værdi
<export-format> Skal indeholde enten "xml" eller "csv"
<Solution> API-brugernavn på din Hostedshop løsning
<Password> API-adgangskode på din Hostedshop løsning
<Installationsmappe> Sti hvori ShopLink applikationen placerer eksportfiler
<Import Script> Sti til eksekvering af eget batch script (valgfrit)
<Server> FTP værtsnavn/IP-adresse (valgfrit)
<FTP brugernavn> FTP-brugernavn (valgfrit)
<FTP kodeord> FTP-adgangskode (valgfrit)

 

  • Vælges eksempelvis mappen <Installationsmappe> vil programmet oprette følgende undermapper:
    <Installationsmappe>/orderexport/ - her placeres nye ordre fra Hostedshop i CSV/XML format (alt efter <export-format>)
    <Installationsmappe>/import/ - her skal CSV/XML filer med produkter placeres for at blive importeret af ShopLink
    <Installationsmappe>/import/imported/ - efter en produkt CSV/XML fil er importeret placeres den i denne mappe
  • <Import Script> indsættes stien til et evt. batch script som sørger for at importere ordre CSV/XML-filer fra <Installationsmappe>/orderexport/ folderen til det eksterne system, og eksportere produkter fra det eksterne system til <Installationsmappe>/import/ folderen.
    Parameteret kan efterlades blank hvis der ikke ønskes noget script kørt.
  • <Server> udfyldes med værtsnavnet på FTP-serveren som din løsning kører på. Kontakt support for information om dette felt for netop din løsning.
  • <FTP brugernavn> og <FTP kodeord> udfyldes med brugernavnet og adgangskoden til din FTP-konto på din løsning. Kan efterlades blank hvis der ikke ønskes automatisk overførsel af billeder.

Hvis du har brug for overførsel af billeder, skal du oprette en FTP-bruger i Hostedshop, under Kontrolpanel > FTP konti med adgang til rodmappen "/upload_dir/". Du kan læse hvordan dette gøres her.

Aktiver API adgang på Hostedshop løsningen under Kontrolpanel > API.
Bemærk: Opsætningen kræver en dedikeret API-bruger. Standard administrator brugeren kan med andre ord ikke benyttes.

Eksempel på linje i solutions.txt med tilknyttet ftp-konti og udtræk af filer som xml, samt import script beliggende i c:\path\to\script\file.exe:


    xml,username,password,c:\path\to\file\folder\,c:\path\to\script\file.exe,ftp.hostedshop.dk,ftplogin,ftppassword

Eksempel på linje i solutions.txt uden tilknyttet ftp-konti eller import script og udtræk i csv format:


    csv,username,password,c:\path\to\file\folder\,,ftp.hostedshop.dk,,

Gem solutions.txt og kør programmet, der indlæser solutions.txt og kører forespørgslen.

Kører du ShopLink via kommandoprompt/cmd får du et overblik over eksekveringen, som vist her:

  1. Som du kan se, er oplysningerne i solutions.txt ikke korrekte og skal revideres
  2. Her er oplysningerne korrekte og forespørgslen eksekveres som forventet

Bemærk: Hvis din løsning er blevet migreret til ShopFactory skal du være opmærksom på at FTP værtsnavnet er ændret til ftp.mywebshop.io.

I eksemplet herunder har vi sat vores ordre med ID 22 i shoppen til ordrestatus "Under behandling" og kørt Shoplink.exe via vores kommandoprompt. Softwaren tager nu fat i solutions.txt og udfører eksporten. Herefter fremkommer den eksporterede fil i mappen "orderexport":

Ordre eksporten indeholder alle de datafelter, som det er muligt at eksportere via shoplink (alle felter eksporteres uanset om de indeholder en værdi eller ej). Til sammenligning har vi sat en standard ordreeksport op ved siden af (Shoplink til venstre og ordreeksport til højre):


Rækkerne er sorteret alfabetisk i dette eksempel. Bemærk: Shoplink eksporten er til venstre (højre eksempel er en manuel shop eksport).

 

Scheduled task

Der kan med fordel sættes en Windows scheduled task op som f.eks. kører ShopLink hvert 5. minut.
Bemærk: Ved opsætning som scheduled task skal stien til solutions.txt angives som det første argument til programmet under opsætningen af scheduled task.

Start taskschd.msc og opret en ny opgave. Du kan læse mere om Windows Task Scheduler her.

 

Filformater

ShopLink version 2 benytter webshoppens eksisterende import/eksport format, omend Shoplink ikke tilbyder så bredt et udvalg af datafelter som en standard shop eksport. Se formatet i manualen under eksport.