Autoimport / -eksport
Import/eksport funktioner kan udføres fra eksterne sider, systemer eller lignende. Der kan laves automatisk import/eksport af alle elementer i shoppen:
Automatisk import
Det er muligt at importere både CSV og XML-filer ved at anvende funktionen autoimport. Importen sker ved, at brugeren sender et POST request med parametre og brugerinformationer via egenudviklet software.
Der findes adskillige værktøjer som kan benyttes til test, for at demonstrere princippet. Vi kan anbefale Postman, som du kan downloade her. Ønsker du yderligere informationer omkring brugen af Postman kan vi henvise til dokumentationen.
Parametrene indsættes i URL’en og brugerinformationerne (“user” og “password”) indsættes som key/value pair i request body:
Linket i dit POST request sammensættes manuelt, og involverer en række parametre, som du skal være opmærksom på:
Parameter | Beskrivelse | Obligatorisk | Begrænsninger |
file | Stien til importfilen/ filnavnet | X | |
delimiter | Felt separator (for CSV) | Kan kun være ; eller,.Hvis ikke er specificeret, tager eksporten ; som separator. | |
response | Bestemmer, hvordan browserens output ser ud, efter kørslen er udført (se punkt 2 længere nede). | 0 eller 1.Hvis ikke er specificeret eller 0, viser importen resultatet som admin GUI, ellers bliver der returneret et XML dokument | |
clearcategories | Bruges kun ved import af produkter.Parameteren styrer om alle eksisterende produktgrupperelationer skal fjernes ved import.
Kan bruges ved f.eks. flytning af varer eller, hvis hele strukturen skal ændres. |
Kan kun være 1.Alle andre værdier ignoreres. | |
updateonly | Hvis sat til 1, vil der ikke oprettes nye produkter som måtte være i filen, men kun opdateres allerede eksisterende produkter. | Kan kun være 1.Alle andre værdier ignoreres. |
Parameteren “file” kan både indeholder den fulde og den relative sti til filen. Hvis den indeholder den fulde sti (fx http://www.shopnavn.dk/filer/export-B2BGROUPS.xml), kan files hentes fra en hvilken som helst placering i shoppens filarkiv.
Hvis den i stedet indeholder den relative sti (fx myfiles/export-B2BGROUPS.xml), kigger importen kun efter filen i mappen ’images/importexport’ (dvs. at den fulde sti svarer til ’images/importexport/myfiles/export-B2BGROUPS.xml’).
Import filen bliver slettet (fra ’images/importexport’ mappen), når importen er afsluttet (med eller uden fejl).
Feedback
Hvis der er brug for at vide, hvordan en import er gået, kan man bruge ’response’ – en Request parameter, der bestemmer, hvordan sidens output ser ud.
Hvis 0 (eller ikke er specificeret), returneres HTML:
Hvis 1, returneres XML:
Element | Beskrivelse | Bemærkninger |
IMPORT_RESULT | Rod elementet (root). | |
TYPE | Type af data, der importeres. | |
STATUS | Status kode. | 0 – hvis der er sket en fejl1 – OK |
TIME | Eksekverings tid. | Denne viser, hvor lang tid importen tog. |
COUNT | Antal enheder (objekter) der er blevet importeret (i alt). | |
COMPLETED | Antal importerede enheder der blev importeret(succes). | |
FAILED | Antal enheder, der fejlede. | |
CREATED | Antal nyoprettede enheder. | |
MODIFIED | Antal rettede enheder. | |
ERRORS | Element, der indeholder en række fejlmeddelelser. | Er kun med, hvis der er sket en fejl. |
Hvis der er sket fejl:
Eksempler
http://www.shopnavn.dk/admin/modules/importexport/import_v6.aspx?file=B2B_grupper.xml
http://www.shopnavn.dk/admin/modules/importexport/import_v6.aspx?file=http//www.myserver.dk/shopfiles/import/Enheder.csv&delimiter=,
http://www.shopnavn.dk/admin/modules/importexport/import_v6.aspx?file=myTest/2008-09-01/B2B_grupper.csv&response=1
Automatisk eksport:
Det er muligt at køre en brugeroprettet eksport ved at brugeren sender et POST request med parametre og login oplysninger. Se venligst afsnittet om auto import i starten af denne artikel for yderligere information vedr. fremgangsmåde.
For at kunne få fat i den rigtige eksport skal brugeren vide, hvilket ID den pågældende eksport har i databasen. Til dette formål er disse ID’er blevet synliggjort ved at tilføje dem til den liste, der indeholder de brugeroprettede eksporter:
Man kan auto-eksportere alt det data, som man kan ved at køre en manuel eksport i administrationen (både i CSV og XML).
For at hjælpe med at sammensatte et sådan link bliver der genereret et link, når en brugeroprettet eksport gemmes:
Llinket kan kopieres og gemmes et eller andet sted for senere brug.
Det er meget vigtigt at bemærke at dette link bliver genereret i samme øjeblik som eksporten køres, det bliver ikke gemt nogen steder.
Dvs. at, hvis ikke det bliver gemt mens det er på skærmen, så skal eksporten køres, og gemmes igen, før det kan ses.
Alternativt kan linket sammensættes manuelt.
Hvis man vil sammensætte linket manuelt, er der en række parametre, man skal kende og være opmærksom på:
Parameter | Beskrivelse | Obligatorisk | Begrænsninger |
Generelle | |||
exportid | Eksportens ID/nummer | X | |
delimiter | Felt separator (for CSV) | Kan kun være ; eller,.Hvis ikke er specificeret, benytter eksporten ; som separator | |
response | Bestemmer, hvordan browserens output ser ud, efter kørslen er udført (se punkt 2 længere nede) | Kan kun være 0 eller 1.Hvis ikke specificeret, eller 0, viser eksporten resultatet som admin GUI, ellers bliver der returneret et XML dokument. | |
Produkter | |||
langid | Sprog ID/nummer | X | |
prodcatid | Produktgruppe ID/nummer | Hvis ikke specificeret, medtager eksporten ALLE produktgrupper | |
Varianter | |||
grpid | Variantgruppenavn | ||
prodcatid | Produktgruppe id | Det er også muligt at vælge en specifik varegruppe for eksport af varianter. Man skal dog være opmærksom på, at dette søgekriterium giver mest mening, hvis man eksporterer data i CSV-format.
Hvis ikke specificeret, medtager eksporten ALLE produktgrupper |
|
Produktgrupper | |||
langid | Sprog ID/nummer | X | |
Priser | |||
curr | Valuta ID/kode | X | |
Ordrer | |||
startid | OrdreID eksporten ønskes startet ved | X | Der må kun være specificeret startid/endid ELLER startdato/enddato (ikke begge kombinationer på én gang). Hvis begge kombinationer er specificeret, tager eksporten startid/endid per default og ignorerer startdato/enddato.
Skal ligge mellem 01-01-1900 00:00:00 og 31-12-9999 23:59:59 |
endid | OrdreID eksporten skal stoppe ved | ||
startdate | Fra dato | ||
enddate | Til dato | ||
stateid | Ordrestadie ID/nummer | Hvis ikke er specificeret, medtager eksporten ordrer med ALLE stadier | |
incomplete | Bestemmer, om de “ikke gennemførte ordrer” også skal eksporteres | 0 eller 1. Hvis ikke er specificeret eller 0, medtager eksporten IKKE de “ikke gennemførte ordrer” | |
Priser | |||
langid | Sprog ID/nummer | (X) | Feltet er obligatorisk hvis eksporten indeholder Kostpris, Varenavn eller Vejl. udsalgspris |
Enheder | |||
langid | Sprog ID/nummer | X | |
Varianter | |||
langid | Sprog ID/nummer | X | |
Produktkonfigurator (kun XML) | |||
langid | Sprog ID/nummer | X | |
Besøg | |||
startdate | Fra dato | X | Skal ligge mellem 01-01-1900 og 06-06-2079 |
enddate | Til dato | ||
Henvisninger | |||
startdate | Fra dato | X | Skal ligge mellem 01-01-1900 og 06-06-2079 |
enddate | Til dato | ||
Søgninger | |||
startdate | Fra dato | X | Skal ligge mellem 01-01-1900 og 06-06-2079 |
enddate | Til dato |
Feedback
Der er blevet introduceret ’response’ – en Request parameter, der bestemmer, hvordan sidens output ser ud.
Med denne kan man få at vide, hvordan kørslen er gået og hvad eksportfilen hedder.
Hvis 0 (eller ikke er specificeret), returneres HTML:
Hvis 1, returneres XML:
Element | Beskrivelse | Bemærkninger |
EXPORT_RESULT | Rod elementet (root) | |
STATUS | Status kode | 0 – hvis der er sket en fejl1 – OK |
TIME | Eksekverings tid | |
COUNT | Antal enheder (objekter) der er blevet eksporteret | |
FILE_URL | Stien til eksportfilen. | I de fleste tilfælde er den ikke med, hvis der er sket en fejl (en Request parameter mangler eller har den forkerte værdi) |
ERROR_MESSAGE |
Automatisk import: |
Eksempler
http://www.shopnavn.dk/admin/modules/importexport/export_v6.aspx?exportid=36&delimiter=;
http://www.shopnavn.dk/admin/modules/importexport/export_v6.aspx?exportid=36&response=1
http://www.shopnavn.dk/admin/modules/importexport/export_v6.aspx?exportid=52&delimiter=;&startdate=29-07-2008 00:00:00&enddate=29-08-2008 23:59:59&stateid=15&incomplete=1
http://www.shopnavn.dk/admin/modules/importexport/export_v6.aspx?exportid=49& langid=26