FEEDBACK
X
FEEDBACK

Er du tilfreds med indholdet i denne her guide?

Hvis ikke, så vil vi meget gerne høre dine kommentarer.

Skriv dem herunder, så gør vi det bedste, vi kan for at forbedre manualen.

Tak for din kommentar!

Send ny?

Dansk English

SmartWeb Help | API

3.1 Produktliste

For at tilgå SmartWeb API fra et .NET miljø, skal man have indlæst en proxy klient. Proxyen kan autogenereres af Visual Studio ved at følge denne guide. 

1. Tilføj en "Service Reference" til dit projekt:

2. Skriv URL'en til WSDL-filen i feltet "address", og klik på knappen "Go". URL'en er: https://api.smart-web.dk/service.wsdl

3. Du vil nu kunne se klassen WebServicePort i venstre kolonne og alle de tilgængelige metoder til API'et i højre side:

4. Under "Namespace" skal du nu give referencen et navn. I dette tilfælde kalder vi den "WebService". Klik OK.

5. Åbn nu filen "App.Config" i dit projekt i Visual Studio og find den binding, der hedder "WebServiceBinding". Her skal du tilføje attributten allowCookies="true" for at tillade, at forbindelsen til api'et må blive gemt i en session. Koden skal se sådan ud:
 

 
<binding name="WebServiceBinding" allowCookies="true">
    <security mode="Transport" />
</binding>
 

6. Brug følgende eksempel udskriver herefter en liste af produkter og deres varianter for en løsning i .NET-konsollen. I eksemplet ligger vores nye service reference under navnet "ConsoleApplication1.WebService". Du kan med fordel anvende en specifik API-bruger til at logge ind, men hvis du ikke har en sådan, så kan du bruge løsningens generelle logininformation.

 

using System;
using ConsoleApplication1.WebService; /* Vores projekt hedder "ConsoleApplication1", men du skal her bruge dit eget default namespace */
 
class Program
{
    static void Main(string[] args)
    {
        /* Skab et nyt proxy-objekt */
        WebService Client = new WebServicePortClient();
 
        /* Opret forbindelse til en løsning */
        Client.Solution_Connect("brugernavn", "password");
 
        /* Sæt sprog for løsningen */
        Client.Solution_SetLanguage("DK");
 
        /* Sæt ønskede felter for Produkt-objektet */
        Client.Product_SetFields("Id,Title,Variants");
 
        /* Sæt ønskede felter for Produktvariant-objektet */
        Client.Product_SetVariantFields("Id");
 
        /* Hent Alle Produkter */
        Product[] result = Client.Product_GetAll();
 
        /* Loop over Produkter */
        foreach (Product product in result)
        {
            /* Udskriv produktets Title */
            Console.WriteLine("Produkt: " + product.Title);
 
            if (product.Variants.Length > 0)
            {
                Console.Write("Varianter:");
 
                /* Loop over produktets varianter */
                foreach (ProductVariant variant in product.Variants)
                {
                   
                    /* Hent variantens TypeValues */
                    ProductVariantTypeValue[] variantTypeValues = Client.Product_GetVariantTypeValues(variant.Id);
 
/* Loop over variantens TypeValues og udskriv deres Title */
                    foreach (var variantTypeValue in Client.Product_GetVariantTypeValues(variant.Id))
                    {
                        Console.Write(" " + variantTypeValue.Title);
                    }
                    Console.WriteLine("");
                }
            }
        }
    }
}

Som det ses ovenfor står proxy selv for wrapping af input- og outputargumenter.

Proxy er genereret ud fra https://api.smart-web.dk/service.wsdl

Se venligst afsnit 2 eller https://api.smart-web.dk/doc/ for en detaljeret dokumentation af de forskellige tilgængelige metodekald, idet de er det samme for PHP og .NET.