Meny
Lag supportsak
*
*
Skriv inn koden
*

Nettbutikkintegrasjon


Menyvalg: Registrere - Nettbutikk – Innstillinger

 

inter1.jpg

Opplasting og nedlasting til/fra nettbutikken skjer via xml-filer som blir sendt til/hentet fra asp*-sider i nettbutikken. Alle asp-sider ligger i en underkatalog som heter twinxml. twinxml skal ikke være en del av feltet Adresse til nettbutikk. Dette legger programmet på selv når det laster opp/henter ned.

Eks om adressen til nettbutikken din er http://nettbutikkadresse.no så skal alle asp-sider som bruker i synkroniseringen ligger under http://nettbutikkadresse.no/twinxml/. Men du skriver bare inn http://nettbutikkadresse.no i feltet for Adresse til nettbutikk.

*Det trenger ikke nødvendigvis være asp-sider, men det er det som er default. Under arket Sideadministrasjon i Innstillinger kan du spesifisere hva de ulike sidene heter (eks .php, .aspx etc). Men de må fremdeles ligge i twinxml-katalogen. Alle eksemplene i denne hjelpefilene tar utgangspunkt i at vi bruker default-sidene.
Sidene som skal returnere en xml må ha ContentType "text/xml"

 

Infoside

Synkroniseringssiden inneholder info om nettsynken din. Noen data hentes fra Uni, mens noen felter hentes fra nettbutikken.
Ved oppstart hentes det ut info om nettbutikken fra en statusside. Følgende url nyttes:


http://nettbutikkadresse.no/twinxml/status.asp?user=brukernavnet&pass=passordet&lastupdate=20070101

Parameteren lastupdate indikerer når status-siden skal regne nye ordre og kunder fra. Dette representerer en dato på formatet yyyymmdd.

inter2.jpg

 

Opplasting av varer


inter3.jpg

Opplasting av varer skjer i to trinn når du har klikket knappen Last opp varer.

  • Først lastes varegruppene opp (her lastes alle varegruppene opp hver gang).
  • Så lastes varene opp (enten alle som er krysset av for web, eller bare de sist endrede, avhengig av valget du har gjort over knappen. For å gjøre en vare tilgjengelig må du krysse av for dette inne på varekortet under arkfanen Dokument/Web)

 

Varegrupper

XML'en for varegrupper ser ut som under. Her vises varegruppe 1 i Uni. Dersom denne hadde vært en undervare ville gruppenr til morgruppen lagt i feltet parentgroup.
inter4.jpg

Denne xml'en lastes opp til http://nettbutikkadresse.no/twinxml/postproductgroup.asp?user=brukernavnet&pass=passordet

 

Varer
inter5.jpg

Denne xml'en lastes opp til http://nettbutikkadresse.no/twinxml/postproduct.asp?user=brukernavnet&pass=passordet

Feltet longdesc som kommer fra Produktbeskrivelsesfeltet i Uni er gjort om til hex før det er satt inn i xml'en. (Flere feltbeskrivelser i slutten av artikkelen)

 

Fjerning av vare fra nettbutikk

Når en vare skal fjernes fra nettbutikken blir følgende url postet:
http://nettbutikkadresse.no/twinxml/deleteproduct.asp?id=frakt&user=brukernavnet&pass=passordet
Her representerer id varenummeret som skal fjernes.

Når en varegruppe skal fjernes fra nettbutikken blir følgende url postet:
http://nettbutikkadresse.no/twinxml/deleteproductgroup.asp?id=frakt&user=brukernavnet&pass=passordet
Her representerer id varegruppenummeret på varegruppen som skal fjernes.

Sletting av aller varer og varegrupper i nettbutikken (Etter at bruker har tastet inn passord) skjer ved at det det blir postet til følgende url:
http://nettbutikkadresse.no/twinxml/deleteall.asp?user=brukernavnet&pass=passordet

 

Bildeopplasting


inter6.jpg

Bilder blir også lastet opp via en xml-fil. Da gjøres først bildet om til binære data (bin.base64)
XML'en ser da slik ut:


inter7.jpg

Denne lastes opp til følgende adresse:
http://nettbutikkadresse.no/twinxml/postfiles.asp?user=brukernavnet&pass=passordet
Id-feltet i xml'en representerer varenummer som bildet hører til.

 

Opplasting av rabatter


inter8.jpg

Rabatter blir lastet opp i to trinn.

Den første delen er et rabattsystem. Her ligger kunder og kundekategorier som rabatter skal knyttes mot. Her vil også generelle rabatter på disse ligge.
Denne xml'en blir lastet opp til følgende url:
http://nettbutikkadresse.no/twinxml/postdiscountsystem.asp?user=brukernavnet&pass=passordet
og ser slik ut:


inter9.jpg
Her ser vi at kundenummer 100000 skal ha en generell rabatt på 10% på alle varer, slik det er satt opp i Uni.

Neste del er dersom det i Uni er presisert at det er rabatter som går mot spesifikke varer eller varegrupper.
Da blir det lastet opp en xml til følgende adresse:
http://nettbutikkadresse.no/twinxml/postdiscountsystem.asp?user=brukernavnet&pass=passordet
og den ser slik ut:

inter10.jpg
Dette er en rabatt som i Uni går mot kundenr 100000. Dette er koblet i nettbutikken slik at discountsystemnumber inneholder verdien til sysid som ble lastet opp i discountsystem overfor. = . Slik kobler en da i dette eksempelet at kundenummer 100000 i tillegg til å ha en generell rabatt på 10% på alle varer har 25% rabatt på varenr k1.

 

Ordrer som er klare til nedlasting

Listen over ordrer som er klare for nedlasting hentes fra følgende adresse:
http://nettbutikkadresse.no/twinxml/orders.asp?user=brukernavnet&pass=passordet

Da får vi tilbake en xml som ser ut som under:
inter11.jpg
Denne kan inneholde 0 eller flere -noder. Hver av disse representerer en ny ordre som ligger klar i nettbutikken. Inne i hver -node er det en tag som heter . Det er verdien i denne du bruker for å hente hver spesifikk ordre.

 

Nedlasting av ordrer


inter12.jpg

Nedlasting av ordrer gjøres ved at en og en ordre hentes ned fra følgende adresse:
http://nettbutikkadresse.no/twinxml/singleorder.asp?id=200712121355890887&user=brukernavnet&pass=passordet

Som id brukes session-nummeret som kom fra xml-en vi fikk ned under Oversikt over ordrer som er klare til nedlasting.

Formatet på den enkelte xml-fil for hver ordre er som følger:

nettbutikkintegrasjon_ordre.png

Xml-filen skal inneholde en <orderhead>-node (ordrehode) og kan inneholde en eller flere <order>-noder (varelinjer).

 

Følgende xml-felt / xml-tagger an benyttes ved innlesing i Uni:

Felt for ordrehode angitt under xml-tag <orderhead>:

<id>: Numerisk heltallsverdi som angir kundenummeret i nettbutikken. Kan (i visse tilfeller) settes blank eller utelates, jfr. merknad for felt <custno2>.

<custno2>: Numerisk heltallsverdi som angir kundenummeret i Uni. Dersom det er angitt verdi blir ordren ført på denne kunden. OBS! Må komme etter <id> felt.

Dersom verdi er satt blank, forutsettes at kunden er registrert i nettbutikken og at <id>-feltet er utfylt. Hvis det er importert ordrer på kunden tidligere vil det i Uni være opprettet en kobling mellom kundenummer i Uni og kundenummer i nettbutikken og ordren føres på aktuell Uni-kunde. Hvis det ikke er importert ordrer for kunden tidligere blir ny Uni kunde opprettet og koblet mot nettbutikk kundenr angitt i <id>.

Dersom <custno2> utelates helt, forsøkes å finne korrekt Unikunde basert på kundes navn, addresse og/eller kontaktdata. Mislykkes det opprettes ny kunde.

<companyname>: Kundenavn. Maks 50 tegn.

<customername>: Deres ref. (dvs. Kundens ref. / bestillinger, kontaktperson). Maks 50 tegn.

<address>: Adresselinje 1: Gate, vei, postboks. Maks 60 tegn

<address2>: Adresselinje 2 dersom nødvendig. Maks 60 tegn

<zipcode>: Postnr. Maks 10 tegn

<cityplace>: Poststed. Maks 50 tegn

<country>: Land. Maks 50 tegn

<countrycode>: Landkode 2 tegn (Iht. ISO 3166-1 Alfa 2).

<emailaddress>: Kundens epost. Maks 80 tegn.

<telephone>: Kundens telefon. Maks 20 tegn.

<mvanr>: Kundens organisasjonsnr, Maks 20 tegn, men som oftest 9 siffer. Angis uten skilletegn.

<companyregno>: Kundens organisasjonsnr. Behandles på samme måte som mvanr.

<currency>: Valuta for ordren. Alfa-kode: 3 tegn (Iht. ISO 4217)

<gothiano>: Fylles ut dersom nettbutikk bruker Gothia PayByBill. Angir Gothia kundenr.

<payment>: Betalingsbetingelse. Merkes med verdien «bill» dersom ordre skal betales ved oppkrav. Andre verdier i dette feltet ignoreres.

<paymenttype>: Angir dimensjonsverdi (tekstverdi) som inntekt skal posteres på. Forutsetter at det er angitt dimensjonstype under «Dimensjon for kort-betalinger» i innstillinger for nettbutikkintegrasjon i Uni. Aktuelle dimensjonsverdier (tall og tekst) må være opprettet i Uni på aktuell dimensjon før import av ordrer.

<dim2>: Kontodimensjon2 i Uni (vanligvis satt opp til å angi avdeling). Når ordre blir fakturert blir salgsinntekt postert på denne kontodimensjonen i tillegg til hovedbokskonto.

<carrier>: Transportør/Fraktfirma, f.eks. «Bring», «UPS». Maks 40 tegn.

<deliverytype>: Leveringsmåte/frakt måte, f.eks. «Pakkepost». Maks 50 tegn.

<deliverdate>: Leveringsdato. Støttete format: dd.mm.yyyy, dd/mm/yyyy, dd-mm-yyyy

<delivername>: Leveringsnavn. Legges i leveringsfeltet på ordre, alternativt i eget leveringsnavnfelt dersom tilpasning for splitt av leveringsadresse er installert i Uni.

<deliveraddress>: Leveringsadresse, Gate/vei, bygning, Legges til leveringsfeltet på ordre, alternativt i eget leveringsnavnfelt dersom tilpasning for splitt av leveringsadresse er installert i Uni.

<deliveraddress2>: Leveringsadresse2 om nødvendig. Legges til leveringsfeltet på ordre, alternativt i eget leveringsnavnfelt dersom tilpasning for splitt av leveringsadresse er installert i Uni.

<deliverzipcode>: Postnr levering. Legges til leveringsfeltet på ordre, alternativt i eget leveringsnavnfelt dersom tilpasning for splitt av leveringsadresse er installert i Uni.

<delivercityplace>: Poststed levering. Legges til leveringsfeltet på ordre, alternativt i eget leveringsnavnfelt dersom tilpasning for splitt av leveringsadresse er installert i Uni.

<delivercountry>: Land levering. Legges til leveringsfeltet på ordre, alternativt i eget leveringsnavnfelt dersom tilpasning for splitt av leveringsadresse er installert i Uni.

<delivercountrycode>: Landkode levering, 2 tegn (Iht. ISO 3166-1 Alfa 2). Legges til leveringsfeltet på ordre, alternativt i eget leveringsnavnfelt dersom tilpasning for splitt av leveringsadresse er installert i Uni.

<deliverphone>: Kontakttelefon vedr. levering. Forutsetter Logistra integrasjon i Uni

<deliveremail>: Epost vedr. levering. Forutsetter Logistra integrasjon i Uni

 

Felt for ordrelinje angitt under xml-tag <order>:

<lineid>: VarelinjeID i nettbutikk. Numerisk heltallsverdi. Hvis oppgitt lagrer Uni kobling mellom varelinjeID i Uni og varelinje i nettbutikk.

<prodid>: Varenummer. Varen må være opprettet i Uni før import. Maks 20 tegn.

<productdesc>: Varetekst. Maks 100 tegn

<quantity>: Antall

<price>: Stykkpris etter rabatt. Feltet brukes dersom det under nedlastingsinnstillinger er haket av for «Bruk den ferdigrabatterte prisen på ordre».

<orgprice>: Stykkpris før rabatt. Feltet brukes dersom det under nedlastingsinnstillinger IKKE er haket av for «Bruk den ferdigrabatterte prisen på ordre».

<rabatt>: Rabattprosent. Feltet brukes dersom det under nedlastingsinnstillinger IKKE er haket av for «Bruk den ferdigrabatterte prisen på ordre». Oppgis uten prosenttegn. Dvs. 10,5% rabatt angis som 10,5 (alternativt 10.5).

<stockname>: Navn på lager varen skal plukkes fra. Lager må være opprettet i Uni før import. Maks. 40 tegn.

<factor>: Enhetsfaktor. Dersom angitt vil linjesum bli beregnet som antall * faktor * pris.

<vatcode>: Mvakode / Salgskode. Må være gyldig salgskode angitt under Faste registrer – mvakoder i uni. Bruken av mvakoder må samsvare med angitt pris. Angis pris inklusiv mva må nyttes mvakoder for pris inkl. mva.

Feltet kan utelates eller settes blank. Mvakode hentes da fra varekortet for i Uni for varen angitt på varelinjen. Dersom kunde i Uni er merket som avgiftsfri kunde (f.eks. utenlandskunde) bli mvakode bli satt iht. til dette. Det som gjelder dersom kunde er angitt som bedriftsintern kunde.

Dersom det under innstillinger for nettbutikkintegrasjon i Uni er slått på «Priser til/fra nettbutikk skal være ink. mva» og mva-kode ikke er eksplisitt angitt, vel det alltid bli brukt mva-koder ink. mva.

 

Felt for ordrehode angitt under xml-tag <order>:


Noen felt angitt under <order> gjelder for hele ordren. Disse er listet under.
Dersom samme felt gjentas for flere varelinjer så er det info på siste varelinje som blir gjeldende.

<entrydatetime>: Ordredato. Følgende datoformat støttes: dd.mm.åååå, dd-mm-åååå, dd/mm/åååå.

<customerproductident>: Kundens rekvisisjonsnr. Maks 60 tegn.

<reference>: Kundens ref / Deres ref. Maks 50 tegn. Overskriver ev. info satt i feltet <orderhead>.<customername>.

<fritext>: Fritekst utfyllende info. Eventuelle ønskete linjeskift kan markeres med \n.

<betaling>: Betalingsreferanse fra nettbutikken. Referansen forutsettes å være minimum 11 tegn lang. Hvis utfylt merkes ordre som forhåndsbetalt: Ved fakturering av ordre vil faktura merkes som betalt umiddelbart. Uni lager også en knytning fra ordre til info om forhåndsbetaling inkl. betalingsreferanse.

Dersom Gothia betalingsløsning brukes i nettbutikken må <gothiano> på ordrehodet være fylt ut. Kommentarfelt på ordrehodet blir merket med «Faktura vil bli utstedt via Gothia PayByBill». Faktura vil bli oppgjort mot Gothia regnskapskonto angitt under Innstillinger for nettbutikk i Uni.

Dersom det brukes annen betalingsløsning enn Gothia så merkes kommentarfeltet på ordrehodet med «Ordre er betalt via betalingsløsning i nettbutikken». Ved fakturering av ordre føres oppgjør av faktura umiddelbart mot konto for innbetalte webordrer angitt under Klient/System – Systeminnstillinger i Uni.

 

Kvittering til nettbutikken etter innlesing av ordrer

Dersom prosesseringen ordrer gikk bra i Uni må vi oppdatere nettbutikken og si at ordren er ferdig behandlet. Det gjøres på følgende måte:
http://nettbutikkadresse.no/twinxml/updateorder.asp?id=200712121355890887&status=20&user=brukernavnet&pass=passordet
vi setter status = 20 på den ordren hadde. Dette gjør at denne ordrer ikke lenger vil komme under oversikten over Ordrer som er klare for nedlasting i nettbutikken. (orders.asp)

 

Synkronisering av kundedata

Kundedata fra nettbutikken og ned til Uni kan bli synket på to måter:

  • Enten ved å klikke på knappen Hent ned kundedata
  • Når kunden handler og en laster ned ordren fra kunden blir automatisk kundedataene oppdatert.


inter14.jpg


Når en klikker på knappen Hent ned kundedata gjøres da forespørsel til følgende url:
http://nettbutikkadresse.no/twinxml/getcustomerlist.asp?user=brukernavnet&pass=passordet

Da får man en xml tilbake som lister opp alle kunder som er registrert i nettbutikken:
inter15.jpg

En går da igjennom den listen og henter ut alle id'feltene (som representerer kundenummeret i nettbutikken) og bruker det til å hente ned alle data om hver enkelt kunde på følgende url:
http://nettbutikkadresse.no/twinxml/getcustomer.asp?id=1&user=brukernavnet&pass=passordet
Da får en denne xml'en tilbake som representerer de opplysningene som ligger registrert på kunden i nettbutikken:


inter16.jpg
Dersom dette er en kunde som er synket tilbake fra Uni til nettbutikken vil kundenummeret fra Uni finnes i custno2-feltet.

I ordrenedlasting, dersom det er en registrert kunde i nettbutikken som har handlet vil kundedataene i Uni blir oppdatert (eventuelt opprettet) med de kundedataene en får fra
http://nettbutikkadresse.no/twinxml/getcustomer.asp?id=1&user=brukernavnet&pass=passordet

Dersom det er en registrert kunde som handler vil dataen han har lagret på seg selv ligge i getcustomer.asp, det er disse som blir lagt på kundekortet i Uni, mens det er dataene i singleorder.asp som blir lagt i ordrehodet. Dersom det er en kunde som ikke er registrert i nettbutikken har en bare de dataene som ligger i singleorder.asp å forholde seg til og det er disse som blir lagt på både kundekortet og ordren i Uni.

 

Opplasting av kunder

 

inter17.jpg

Opplasting av kunder skjer i to trinn når en klikker på knappen Last opp kunder:

  • kunder blir lastet opp
  • kundegrupper(kategorier) blir lastet opp.

Først blir kundene lastet opp til følgende url:
http://nettbutikkadresse.no/twinxml/postcustomer.asp?user=brukernavnet&pass=passordet
Xml'en som blir lastet opp ser slik ut:

inter18.jpg
Så blir kundekategoriene lastet opp til følgende url:
http://nettbutikkadresse.no/twinxml/postcustomergroup.asp?user=brukernavnet&pass=passordet
Xml'en som blir lastet opp ser slik ut:

inter19.jpg

 

Vareopplasting - felter

Følgende felter blir eksportert fra Uni til Nettbutikken (Feltnavn på varekort * Feltnavn i Uni database * Felt i nettbutikk * Felttype i Uni ):

Varenr varer.varenr productident Tekstfelt
Navn varer.varenavn1 description Tekstfelt
Varenavn2 varer.varenavn2 alt01 Tekstfelt
EAN ean_nr.ean alt02 Tekstfelt
Lengde varer.dimension_y alt03 Desimaltall
Bredde varer.dimension_x alt04 Desimaltall
Høyde varer.dimension_z alt05 Desimaltall
Volum varer.volum alt06 Desimaltall
Varenavn3 varer.varenavn3 alt07 Tekstfelt
Antall på lager quantityonhand Desimaltall
Produktbeskrivelse varer.produktbeskrivelse longdesc Text
Varegruppe varer.varegruppe productgroup Tekstfelt
Standard utpris varer.pris1 price Desimaltall
Pris2 varer.pris2 ordinaryprice Desimaltall
Pris3 varer.pris3 netweight Desimaltall
Standard innpris varer.innpris_selvkost netprice Desimaltall
Vekt varer.vekt grsweight Desimaltall
Enhet varer.enhet unit Tekstfelt
Sist endret(ikke synlig) varer.lastedit lastedit Dato
varer.variansparent parentno Tekstfelt
.farge color Tekstfelt
.størrelse dimen Tekstfelt
Antall pr. kolli varer.antall_pr_kolli quantityinpack Desimaltall

*[1]
id debitor.diginr *[2]
custno2 ordre.kundenr *[2]
companyname ordre.kundenavn 50
customername ordre.deres_ref 20/50 *dersom companyname er blank brukes customername som kundenavn. Max 20 tegn om det brukes som deres refereanse, 50 om det brukes som kundenavn
address ordre.address 60
zipcode ordre.postnr 10
cityplace ordre.poststed 50
country ordre.land 30
deliveraddress **disse**
deliverzipcode **blir slått sammen**
delivercityplace **leveringsadresse**
delivercountry **ordre.levering... Som er et Text-felt på server og kan inneholde mye**
emailaddress brukes til å opprette epostadresse på kunden 80
telephone brukes når å opprette telefon på kunden 20

*[3]
prodid varelnordre.varenr 20
productdesc varelnordre.varetekst 150
quantiy varelnordre.antall
price varelnordre.pris *det er en innstilling som sier bruk ferdig rabattert pris
orgprice varelnordre.pris *dersom denne er på brukes feltet price til pris og 0 blir satt i rabatt
rabatt varelnordre.rabatt *er dette feltet av brukes orgprice til pris og rabatt til rabatt
entrydatetime ordre.ordredato siste varelinje bestemmer ordredatoen *[4] customerproductident ordre.rekvisisjon 60 siste varelinje bestemmer rekvisisjon *[4] reference ordre.deres_ref 20 siste varelinje bestemmer *[4] fritext ordre.fritekst Text.. Kan inneholde 2MB med data *[4] betaling [5] ***Dersom dette feltet er fyllt ut og er mer enn 10 tegn vil det si at ordren er betalt i nettbutikken (VISA/Mastercard etc). I tillegg blir det satt i kommentarfeltet at "Ordren er betalt"
--------------------------------------------------------------------------------

[1]
Ordrehode (-tagen) inneholder informasjon om kunden og levering. En ordre må ha ?og bare orderhead-tag

[2]
* id og custno2 brukes sammen. Dersom custno2-noden er med vil det si at det er en registrert bruker i nettbutikken og en kan gå utifra at id-feltet da representerer en unik verdi som er den samme for hver gang det kommer en ordre fra denne kunden. Da vil id-feltet legges i diginr-feltet i debitor-tabellen når kunden opprettes. Dersom custno2-noden i tillegg har en verdi skal det være kundenummeret i Uni-basen som den kan ha fått med opplasting av kunder.

[3]
en -tag representerer en ordrelinje. En ordre kan ha flere ordre-tager

[4]
Feltene entrydatetime, customerproductident, reference og fritext i order-tagen(varelinje) skal til henholdsvis Ordredato, Rekvisisjon, Deres referanse og Fritekst-feltet i ordrehodet i Uni. Siden vi kan ha mange varelinjer(order-tager), men bare har ett ordrehode, er det verdiene på siste varelinje som havner i ordrehodet på ordren i Uni

[5]
***Dersom dette feltet er fylt ut og er mer enn 10 tegn vil det si at ordren er betalt i nettbutikken (VISA/Mastercard etc). Verdien representerer tranaksjonsid'en fra VISA. I tillegg blir det satt i kommentarfeltet at "Ordren er betalt"