.NET eksempler

I denne artikel:


    For at tilgå shoppens 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. 

     

    • Højreklik på References i dit projekt og vælg "Add Service Reference...":

       
    • Skriv URL'en til WSDL-filen i feltet "Address" og klik på knappen "Go". URL'en er:
      https://api.hostedshop.io/service.wsdl

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

    • Under "Namespace" skal du nu give referencen et navn. I dette tilfælde kalder vi den "WebService". Klik OK.
    • Å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.
    • 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.hostedshop.io/service.wsdl. Se venligst afsnit 2 eller https://api.hostedshop.io/doc/ for en detaljeret dokumentation af de forskellige tilgængelige metodekald, idet de er det samme for PHP og .NET.