ShopLink
I denne artikel:
Introduktion
ShopLink gør det muligt via fladfilsudveksling at integrere DanDomain Webshop med eksterne systemer som regnskab- og lagersystemer mv., idet det giver mulighed for at hente, oprette, redigere og slette entiteter i shoppen, på samme måde som med import af produkter osv. ShopLink gør det muligt at synkronisere ordrer fra DanDomain Webshop til eksterne systemer, samt at synkronisere produkter (uden varianter) fra eksterne systemer til DanDomain Webshop. I princippet kan ShopLink bruges til alle økonomisystemer som understøtter fladfilsudveksling.
ShopLink er en Windows applikation til .NET 4.6.1, der arbejder via shoppens API. Man vil typisk afvikle applikationen fra en server via scheduled tasks så opgaverne udføres med de intervaller der er behov for. Shoplink benytter TLS 1.2.
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 DanDomain Webshop 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 angivet batchscript (bat) der sørger for at behandle de eksporterede ordredata til det eksterne system.
- Det er batchscriptets 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, hvis den stadig er "under behandling" (status kode 2).
- 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.
- 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å DanDomain Webshop, før nedenstående procedure kan gennemføres.
ShopLink kræver .NET 4.6.1 og 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 DanDomain Webshop løsning |
<Password> | API-adgangskode på din DanDomain Webshop 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 DanDomain Webshop 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 DanDomain Webshop, under Kontrolpanel > FTP konti med adgang til rodmappen "/upload_dir/". Du kan læse hvordan dette gøres her.
Aktiver API adgang på DanDomain Webshop 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:
Gem solutions.txt og kør programmet via kommandoprompt der indlæser solutions.txt, og kører forespørgslen.
Når du kører ShopLink via kommandoprompt (cmd) får du et overblik over eksekveringen, som vist her:
- Som du kan se, er oplysningerne i solutions.txt ikke korrekte og skal revideres
- Her er oplysningerne korrekte og forespørgslen eksekveres som forventet
Bemærk: FTP værtsnavnet skal være "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 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.
Nyttige links
- Tilføj produkter til kurven via link med Åben indkøbskurv
- Bliv notificeret omkring nye ordrer med Webhooks