Lag supportsak
Overskrift:
Kundenummer:
*
Kontaktperson:
Modul:
Beskrivelse:
Kategori:
*
E-Post:
Telefon:
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.

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 ligger.
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
Her er id session-nummeret som kom fra xml-en vi fikk ned under Oversikt over ordrer som er klare til nedlasting.
inter13.jpg
Inn i denne er det 讠-node, som representerer ordrehode. Informasjon om kunden. Opplysninger som skal i Ordre-tabellen i Uni.
id og custno2 brukes sammen. Dersom custno2-noden er med (selv om den er blank) 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
Så inneholder den 讠eller flere -noder. Disse inneholder informasjon om varelinjene i ordren. Hvilken vare, antall, pris etc, opplysninger som skal i varelnordre-tabellen i Uni.
Dersom prosesseringen i Uni gikk bra 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"