Jetshop AB WEBSERVICE-API 1.2 ANVÄNDARMANUAL. Version 1.2 2011-10-12

Relevanta dokument
Installationsguide fo r CRM-certifikat

RemoteX Visma Connect Manual för version 4.2

Manual Söka ledig tjänst Landstinget i Östergötland. Senast reviderad

Snabbguide Visma Compact API Copyright Visma Spcs AB

Användarguide för hantering av MySE

SBR-Net - SBR:s informations- och mötesplats på webben! Med First Class-klientprogram

IT-system. BUP Användarmanual

Användarmanual small

0tid Transport Användarmanual Personal. Rev 1.0

Handbok Mäklare Direkt Innehåll

Komponenter med COM (och COM+/VC++ 7.0)

Att jobba med delade projekt i Quadri DCM

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

SAFE WORK. Instruktioner till Företagets egen sida - för dig som är chef/kontaktperson på ett entreprenadföretag

Classes och Interfaces, Objects och References, Initialization

Manus för instruktionsfilm: Skapa ett filarkiv

Integration med Elektroskandias Internetbutik

Arbeta i Sharepoint dokumenthanteringssystem

INLOGGNING 1 (6) Det finns två sätt att logga in i Privera: Med engångslösenord till mobiltelefon Med engångslösenord till e-post

KOM-IGÅNG-GUIDE. Kom igång och redigera din hemsida! SmelinkWeb4 editor 2

Starta en webbläsare (t ex Internet Explorer, Mozilla Firefox, Safari) Skriv in nedan adress:

version 2.5 CONTENTO SVENSKA AB Introduktion till Kursbyggarverktyg

1 Översikt Vad är kontokoder? Konto/Mapp uppbyggnad Tillgång till Kontokoder Område Kontokoder...5

SKÖTSELSKOLAN. Instruktioner till personal - för dig som arbetar på ett entreprenadföretag

ANVÄNDARMANUAL, INTERAXO

Att använda ELSA. Vad behövs för att använda ELSA?. Felrapportering och support

TES Mobil. Användarmanual. Användarmanual TES Mobil Dok.nr v8

Introduktion till MySQL

Kom igång och redigera din hemsida!

Kom igång med din butik. 1. Skapa kategorier och produkter 2. Att göra en beställning i butiken 3. Övriga verktyg

Testa gratis i 15 dagar

Kom igång och redigera din hemsida!

Lägga in ett protokoll i en Dokumentlista i SharePoint

Office 365 MB. Innehåll. Inledning / Inställningar Outlook (e-post) Kalender Personer (kontakter)... 5 OneDrive molnet... 5.

Redaktörshandbok. Produktvarianter. Caupo Produktvarianter - 1 -

Omtentamen i OOSU2, 21 augusti 2014

Manual för att skicka kommunfil från IdrottOnline

Användarmanual medium

Lathund för webbmail (OWA) Innehåll:

Beställning till Diakrit

Kom igång med TIS-Office

Logga in Översikt/Dashboard Avvikande produkter Arbeten misslyckades Senaste gjorda Systemmeddelanden...

Introduktion. Skriv in användarnamn och lösenord

Hogrefe TestSystem Web Edition. Manual HTS

Gissa det hemliga talet

Lathund för Styret (version 1.0)

Instruktion till rapportering via 1. Registrera dig 2. Logga in 3. Mitt konto 4. Rapportering 5. Kontrollera egna rapporter

AIF:arens guide till cyberrymden

Beställa varor från webbutiken för provtagningsmateriel, remisser och övrigt materiel.

LATHUND. Att komma igång med Pecar E Plan

Användarguide för anslutning till Treserva och TES Användarguide för anslutning till Treserva och TES

Inledande programmering med C# (1DV402) Tärningarna ska kastas

Medborgare Äldreomsorgen i Södertälje kommun. Copyright Mina vårdkontakter

Visma Proceedo Version Visma Proceedo Användarhandbok Lokala administratör Administrera

Manual, Etikett- & Faktabladsgenerator

Guide grunder för 4com webbshop

1. Enkel sökning Globalsökning Avancerad sökning Historik Söka via klassificeringsstruktur 14

Krav på webbläsare. Manual för arbetslöshetkassorna. De webbläsare som är kompatibla med portalen är minst Internet Explorer 6.x och Firefox 2.

Hantering av hyperlänkar

Vaka Användarmanual. Användarmanual. VAKA Passersystem

Beställa varor från webbutiken för provtagningsmateriel, remisser och övrigt materiel.

Referenshanteringsprogrammet

Startanvisning för Bornets Internet

12 Webb och kurshemsidor

Handledning för Installation av etikettskrivare

GEKAB Marking & Sign System - genvägen till en effektiv märkning

Blackboard CE8 Användarmanual Student

Författare Version Datum. Visi System AB

DD1311 Programmeringsteknik för S1 Laborationer läsåret

Manual för MellanBasen. Mellan Basen

en stor bokstav och en siffra. Lösenordet får inte innehålla några tecken (!,,#,%,&)

Installationsanvisningar VISI Klient

Mer information om RefWorks, andra referenshanteringsprogram och hur man refererar hittar du på Linköpings universitetsbiblioteks webbsidor.

Att koppla FB till AD-inloggning

TC Online - Bruksanvisning

e-line Kort- och Bankbetalning

För att öppna galleriet, ange adressen

Smartbudget handbok Sida 1 av 16

Laboration 1 Introduktion till Visual Basic 6.0

Sektionsdata webb är anpassat för att du ska kunna justera, jobba i eller visa dina kalkyler för kollegor, kunder och beställare.

Att ladda ner från legimus.se

Plugboard Guide till WooCommerce. Stöder - WooCommerce 3.x

RemoteX Visma Connect Manual för version 4.4

Självbetjäning för arbetsgivare. Användarhandledning Kom igång med Arbetsgivartjänsten Behörighetsadministration

Användarmanual för Lagledning.se

Kom igång med Nordisk e-handels trafikadministration (NEHTA)

Användarmanual ServiceOnLine Cirkulationsgods

ANVÄNDARBESKRIVNING FÖR PERSONAL

Användarmanual KTC MeView Lägenhetsinnehavare. Revision 4.0. Användarmanual KTC MeView. Lägenhetsinnehavare. Sida 1

Installera din WordPress med 9 enkla steg

Visteon webbportal - Instruktioner

Manual. Kom igång med Menigo Leverantörsorder. Version

Manual till Möbelfaktas e-deklaration

Unifaun OnlinePrinter

Användarmanual extra large

BaraTrav Prenumeration och Installation Version 1.3.4

Liten lathund för RFS lokala redaktörer av föreningssidor

Hja lp till Mina sidor

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?

Sektionsdata webb är anpassat för att du ska kunna justera, jobba i eller visa dina kalkyler för kollegor, kunder och beställare.

Transkript:

Jetshop AB WEBSERVICE-API 1.2 ANVÄNDARMANUAL Version 1.2 2011-10-12

1. Förord I det här dokumentet ges en generell beskrivning av det Webservice-API som är utvecklat av Jetshop AB, och är avsett för dig som önskar att skräddarsy en integrationslösning med ditt affärsystem eller liknande. Detta förutsätter att du som utvecklare har goda kunskaper kring programmering, gärna i ett objektorienterat programmeringspråk så som C#, C++ eller java. Det är tänkt att detta dokument ska svara på alla typer av frågor, men om annat skulle vara fallet kontakta då Jetshop support för vägledning. Det är viktigt att i förhand veta att det finns olika rättigheter kopplade till varje användarkonto. Alla användarkonton har som minsta rättighet standard-rollen, vilket innebär att den kan exekvera metoderna som beskrivits under stycke 6.1 (Generell datahantering). I de fall där otillåtna metoder körs kastas en AccessViolationException och exekveringen avbryts. Det är möjligt för den som vill få en överblick över vad webservicen kan erbjuda, genom att logga in i webservicen med hjälp av en webbläsare. Det går även att köra en del av metoderna från webbläsaren. I appendix A.1 finns en lista på de metoder som i dagsläget går att exekvera från en webbläsare. Adressen till webservicen är http://webservices20.jetshop.se/api2.5/ I slutet av dokumentet i Appendix B finns klassdiagram över alla de objekt som är nödvändiga vid utveckling mot webservicen. Därför kommer få av alla möjliga egenskaper för dessa objekt att nämnas i exempelkoden. Se dessa diagram för mer tekniskt detaljerad beskrivning. All kod som beskrivs i dokumentet är i programmeringsspråket C-sharp Bilduppladdning via webservicen beskrivs i ett eget dokument (bilduppladdning.pdf)

2. Innehållsförteckning 1. Förord... 2 2. Innehålsförteckning... 3 3. Kravspecifikation... 4 4. Förberedelse... 5 4.1. Kom igång med Visual Studio 2008.... 5 5. Börja utveckla... 8 6. API dokumentation... 8 6.1. Generell datahantering... 9 6.2. Kunddatahantering... 9 6.3. Orderdatahantering... 9 6.4. Produktdatahantering... 9 6.5. Webservicedefinierade Datatyper... 10 7. Exempelsamling... 12 7.1. Hämta en specifik produkt.... 12 7.2. Skapa ny/uppdatera produkt... 12 Appendix A.... 14 A. Exekverbara methoder från en webbläsare.... 14 Appendix B... 15 B1. Generell datahantering... 15 B2. Kunddatahantering... 16 B3. Orderdatahantering... 17 B4. Produktdatahantering... 19

3. Kravspecifikation Utveckling mot Webservicen kan göras i olika miljöer, men Visual Studio är den som rekommenderas och kommer därför att beskrivas mest. I övrigt är det möjligt att implemetera mot Webservicen med alla programmeringsspråk som kan importera och nyttja Webservice som resurs. Det finns inga specifika krav på datorprestanda men den dator som används måste kunna hantera en utvecklingsmiljö av den typ som önskas användas.

4. Förberedelse 4.1. Kom igång med Visual Studio 2008. Det finns huvudsakligen en viktig steg som måste utföras innan det går att börja implementera. Detta steg innebär att skapa en referens till Webservicen. Detta görs i stora drag på samma sätt i Visual Studio 2005 som Visual Studio 2008 men små skillnader. Eftersom det är mer komplext i VS 2008 kommer enbart den att beskrivas. Steg 1. Högerklicka på References i Solutoin Explorer trädet. Välj där Add Service References. Steg 2. Klicka på Advanced... knappen längst ner till vänster i rutan som dyker upp. Steg 3. Klicka på Add Web Reference... knappen längst ner till vänster i rutan som dyker upp.

Se figur 1 nedan för visuell beskrivning av Steg 1, 2 och 3. Figur 1. Steg 4. I rutan som dyker upp anges adressen till webservicen. Adressen är http://webservices20.jetshop.se/api2.5/. Steg 5. När adressen angivits visas en inloggningsruta. Tryck här Cancel en gång så att rubriken på inloggningsrutan ändras till Discovery Credentials. Ange nu dina inloggningsuppgifter och loggar in. När inloggningsrutan försvunnit kan du i textrutan till höger som heter Web reference name ange ett namn på webservicen som ska användas under utvecklingen i form av ett namespace. Klicka på Add reference knappen under namnrutan. Det läggs in en reference till webservicen i ditt projekt och kommer finnas under Reference mappen i solution explorer trädet.

Observera figurerna nedan för en visuell beskrivning. Figur 2. Figur 3.

5. Börja utveckla När det finns en referens till webservicen inuti det Visual Studio projekt som används går det att börja utveckla mot din specifika shop på Jetshop. Om det inte finns en referens vars namn valdes vid import av webserviceren, under Reference mappen i solution explorer trädet, återgå till punkt 4 ovan. (Förberedelse). Förutsatt att ett projekt är skapat och webservicereferensen är importerad, går det att börja implementera. Nedan kommer kod exempel på hur ett webserviceobjekt skapas och vilka egenskaper som måste finnas med för att få en fungerade integration mot webservicen. I koden nedan heter webservicereferensen JetshopWebservices. JetshopWebservices.WebServiceProvider _webservice = new JetshopWebservices.WebServiceProvider(); _webservice.cookiecontainer = new System.Net.CookieContainer(); _webservice.credentials = new System.Net.NetworkCredential("Användarnamn", "lösenord"); Instruktionerna ovan behöver enbart exekveras en gång. Sedan utför man alla operationer genom _webservice objektet. Det innebär att _webserviceobjektet bör vara deklarerat som en global variabel om den ska kunna användas globalt. 6. API dokumentation Det finns en mängd metoder tillgängliga från webservicen som tilllåter kontroll över stora delar av en shops databas. Dessa beskrivs kort nedan. Notera att de flesta nedan nämnda metoder är så kallade override metoder vilket innebär att de kan exekveras med olika inparametrar. De återkommande alternativa parametrarna är val av språk och val av shop. För att ha nytta av att kunna specificera shop måste det finnas fler än shop knuten till användarkontot som används, och för att kunna nyttja möjligheten av att välja språk måste det finnas stöd för flera språk i den angivna shopen. Utveckling mot webservicen är uppdelat i 4 huvuddelar, Generelldatahantering, Kunddatahantering, Orderdatahantering och Produktdatahantering. För dessa finns definierat enskilda datatyper med vars hjälp genomförs olika typer av operationer. Datatyperna är CommonDataManager, CustomerManager, OrderManager och ProductManager. Dessa beskrivs i mer detalj i section 6.5 (Webservicedefinierade Datatyper).

6.1. Generell datahantering GetCultures(...) Hämta alla tillgängliga språk för shoppen. GetOrderStatuses(...) Hämta tillgängliga orderstatusar. GetPaymentTypes(...) Hämta alla betaltyper. GetShopIdentifiers() Hämta alla shopidn kopplade till det användarkonto som används. 6.2. Kunddatahantering Customer_AddUpdate(...) Lägg till eller uppdatera befintliga kunder i shoppen. Customer_Delete(...) Ta bort kunder från shoppen. Customer_GetAll(...) Hämta all kundinformation som finns på shoppen. Customer_GetSingle(...) Hämta kundinformation för en enstaka kund som är registrerad på shoppen. 6.3. Orderdatahantering Order_Get(...) Hämta alla ordrar med respektive information som lagts in på shoppen. Order_UpdateOrderData(...) Uppdatera orderinformation som inkluderar synkroniserad flagga, streckkod och kollinummer. Order_UpdateStockItemCountByPartialDeliveryInfo(...) Uppdatera lagersaldo på produkter efter delleverans på en specifik order. 6.4. Produktdatahantering Product_AddUpdate(...) Lägg till nya eller uppdatera befintliga produkter I shoppen. Product_Get(...) Hämta alla produkter med respektive information från shoppen. Product_UpdateStockData(...) Uppdatera befintlig produkt med information som inkluderar lagersaldo, lagerstatus, leveransdatum och användning av avancerad produktstatus.

6.5. Webservicedefinierade Datatyper Utveckling mot webservicen är updelat i 4 delar. Se följande tabell för beskrivning på hur datatyperna relaterar till de 4 huvuddelarna. - Generell datahanteringstyper: CommonDataManager Innehåller metoder för generell datahantering. (6.1 Generell datahantering) Language Returneras av metoden GetCultures( ) OrderStatus Returneras av metoden GetOrderStatuses( ) PaymentType Returneras av metoden GetPaymentTypes( ) ConnectionItem - Returneras av metodengetshopidentifiers(...) Result Returneras av metoderna som skapar nya/uppdaterar data. (Gäller samtidliga metoder, men resultseten kan se något olika ut.) - Kunddatahanteringstyper: CustomerManager Innehåller metoder för kunddatahantering. (6.2 Kunddatahantering) Returneras av metoden Customer_GetAll(...) och Customer_GetSingle(...). CustomerDataItem Används som inparameter för metoden Customer_AddUpdate(...) vid inladdning eller uppdatering av kunddata. Alternativt returneras den i samband med hämtning av kunddata. AddressDataItem Denna innehåller adressinformation för en kund. Addressfältet i CustomerItemDatatypen tilldelas en lista av AddressDataItem vid inladdning eller uppdatering av kunddata. Vid kunddatahämtning kommer denna returneras och finnas tillgänglig i CustomerItemData. - Orderdatahanteringstyper: OrderManager Innehåller metoder för orderdatahantering. (6.3 Orderdatahantering) Returneras av metoderna Order_Get. OrderItemData Returneras i form av en lista tillgänglig i OrderManagertypen som returneras av hämta metorderna för orderar. OrderDetailsItem Returneras i form av en lista i OrderItemDatatypen. OrderDiscountItem Returneras i form av en lista inbakat i OrderItemDatatypen.

OrderDeliveryInfo Används som inparameter i metoden Order_UpdateStockItemCountByPartialDeliveryInfo(...) vid uppdatering av delvis levererad order. OrderUpdateData Används som inparameter i metorden Order_UpdateOrderData(...) vid uppdatering av orderdata. OrderDetailsUpdateData Tilldelas till orderdetaljdatafältet i OrderUpdateData och används därmed vid uppdatering av orderdata. - Produktdatahanteringstyper: ProductManager Innehåller metoder för produktdatahantering. (6.4 Produktdatahantering) Returneras av metorderna Product_Get. ProductDataItem Används som inparameter i metoden Product_AddUpdate(...) vid inladdning eller uppdatering av produktdata. Alternativt returneras den i samband med hämtning av produktdata och är därför tillgänglig i ProductManagertypen. ProductAttributeDataItem Denna typ håller attributdata för en specifik produkt. Det finns ett fält av typen ProductAttributeDataItem-lista som tilldelas en lista av denna typ vid inladdning eller uppdatering av produktdata. I övrigt returneras vid hämtning av produktdata och blir tillgänglig från ProductDataItem. ProductSpecificationDataItem Denna typ håller specifikationsdata för en produkt. Det är inte möjligt att ladda in eller uppdatera denna typ av information genom webservicen men vid hämtning av produktdata returneras den och blir tillgänglig i ProductDataItem. ProductStockData Används som inparameter vid uppdatering av lagerinformation för en specifik produkt. Den anges i form av en lista vid exekvering av metoden Product_UpdateStockData(...).

7. Exempelsamling De kommande exempelkoden förutsätter att det som förklarades i stycke 5 (Börja utveckla) är utfört och att det finns ett referensobjekt för webservicen tillgängligt som kallas _webservice. 7.1. Hämta en specifik produkt. I de fall där målet är att hämta data från shoppen är implementeringen liknande oavsett vilken typ av data som ska hämtas. Därför förklaras här bara uthämtning av produktdata för en specifik produkt. Det returneras alltid ett så kallad managerobjekt vid exekvering av alla typer av hämta metoderna. I dessa objekt finns bl.a. information om huruvida hämtningen lyckats eller inte, och även önskad data och antal hämtade objekt. Följande kodrad exekverar metoden som heter Product_Get med det artikelnummer som önskas och värdet true för att även inkludera produktens attributdata eller specifikationsdata i resultatet. ProductOptions po = new ProductOptions(); po.articlenumber = 123456 po.getattributesandspecifications = true; Jetshop.ProductManager productmanager = _webservice.product_get("artikelnummer", true); Det följande är den typ av information i productmanagerobjektet som returneras från webservicen efter produktdatahämtning: productmanager.count; (int) productmanager.productitemcollection; (ProductDataItem) productmanager.result; (int) Observera att det även finns alternativparametrar för objektet ProductOptions. Det är möjligt att även specificera det språk produktdatat ska returneras i, vilken shop data ska hämtas från osv. Dessa förutsätter att det finns stöd för flera språk och att det finns mer än en shop knuten till användarkontot. Se ProductOptions som ett filter. Väljer man att anropa metoden Product_Get(...) utan att ange några värden för ProductOptions kommer alla produkter i shoppen returneras. Egenskaper i ProductOptions po.synchstatus = Hämta produkter med en viss synkstatus po.onlyvisibleproducts = Endast synliga produkter i shoppen po.rowcount = Antal produkter som önskas returnerade po.productsortorder = Sorteringsordning för returnerade produkter po.pricelistidorname = Prislista för returnerade produkter po.shopidentifier = Från vilken shop skall data hämtas (om man har flera) po.culture = Vilket språk vill man ha datan returnerad på. (sv-se, nb-no)

7.2. Skapa ny/uppdatera produkt För att skapa eller uppdatera en produkt är det nödvändigt att ha kännedom om några produktdatarelaterade objekt som är definierade i webservicen. Dessa objekt är ProductStockData, ProductAttributeDataItem, ProductDataItem och ProductManager. Dessa kommer nu att förklaras, instansieras och användas. Nedan skapas först det objektet som håller all information för en viss produkt dvs. ProductDataItem. I klassdiagrammen i Apendix B finns en lista med alla egenskaper som det går att tilldela värden till. Nedan används några av de vanligaste. Notera, ProductID fältet tilldelas värde enbart vid updatering. När en ny produkt skapas, skapas även ProductID för denna. JetshopWebservices.ProductDataItem huvudprodukt = new ProductDataItem(); huvudprodukt.productid = 18343; huvudprodukt.articlenumber = "Produkt_artikelnummer"; huvudprodukt.name = "Produkt_namn"; huvudprodukt.productdescription = "Produkt_beskrivning"; huvudprodukt.discountenddate = DateTime.Now; huvudprodukt.discountstartdate = DateTime.Now; Nästa kodstycke skapar ProductStockDataobjektet alltså det objekt som håller värden för lagerinformation. I objektet kan man sätta värden på följande egenskaper på liknande sätt som gjorts för StockStatusID (lagerstatusid) nedan. NewStockCount, UseAdvancedStatus, DeliveryDate och StockStatusID. JetshopWebservices.ProductStockData lagerdata = new ProductStockData(); lagerdata.stockstatusid = 2; Här tilldelas Huvudprodukt instansens lagerdata-hållare, lagerdata objektet som skapades först och attributdata-hållaren tilldelas listan med attribut dvs. attributlista. huvudprodukt.stockdata = lagerdata; Nu exekveras metoden för inladdning/uppdatering av produktdata. Metoden returnerar en lista av typen Result som innehåller information för varje produkt som fanns med i listan av produkter som skapats/uppdaterats. Informationen säger om metoden exekverats utan problem för den specifika produkten. JetshopWebservices.Result[] res = _webservice.product_addupdate(new ProductDataItem[] { p });

Appendix A. A. Exekverbara methoder från en webbläsare. GetCultures(...) GetOrderStatuses(...) GetPaymentTypes(...) GetShopIdentifiers(...) Customer_GetAll(...) Customer_GetSingle(...) I stycke 6 (API dokumentation) finns beskrivningar på vad metoderna utför.

Appendix B B1. Generell datahantering

B2. Kunddatahantering

B3. Orderdatahantering

B4. Produktdatahantering