# PlaceSimpleOrder API

### URL

Efter [installation ](https://docs.simutek.se/it/install/installation-api-placesimpleorder)av PlaceSimpleOrder API nås webbtjänstens sida från:

{% embed url="<http://localhost/GKS.External.PlaceSimpleOrder/PlaceSimpleOrder.asmx>" %}
Byt ut localhost mot er servers namn.
{% endembed %}

### Autentisering

Ange ett GKS3-konto i body:n under:

```xml
<Ticket>
  <Username>EHANDEL</Username>
  <Password>ehandel</Password>
</Ticket>
```

{% hint style="success" %}
GKS-konot som anges måste minst ha behörigheten ***EHandel***.
{% endhint %}

### Exempelanrop

Följande HTTP-anrop kan skickas till servern. Första raden avser adressen till servern. Andra och tredje raden är *headers*. Följande rader tillhör *body*.

```xml
POST http://localhost/GKS.External.PlaceSimpleOrder/PlaceSimpleOrder.asmx HTTP/1.1
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://www.simutek.se/PlaceSimpleOrder/PlaceFreeOrder"

  <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <PlaceFreeOrder xmlns="http://www.simutek.se/PlaceSimpleOrder/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
      <Ticket>
        <Username>EHANDEL</Username>
        <Password>ehandel</Password>
      </Ticket>
      <Order>
        <CustomerId>5</CustomerId>
        <Title>En test-webborder</Title>
        <CustOrderNo/>
        <ExtOrderNo>0</ExtOrderNo>
        <CustomerReferenceName>Ola Eriksson</CustomerReferenceName>
        <CustomerReferencePhone/>
        <CustomerReferenceMobile/>
        <CustomerReferenceEmail/>
        <DeliveryAddressRow1/>
        <DeliveryAddressRow2/>
        <DeliveryAddressRow3/>
        <DeliveryAddressRow4/>
        <CustomerName/>
        <CustomerDepartment/>
        <CustomerAddressRow1/>
        <CustomerZipCode/>
        <CustomerCity/>
        <CustomerCountry/>
        <Orderlines>
          <Orderline>
            <Specification>Visitkort</Specification>
            <Quantity>100</Quantity>
            <UnitPrice>5</UnitPrice>
          </Orderline>
        </Orderlines>
      </Order>
      <Test>false</Test>
    </PlaceFreeOrder>
  </s:Body>
</s:Envelope>

```

{% hint style="success" %}
Byt ut *localhost* på första raden mot er servers fulla namn.

Byt ut *CustomerId* till ett kundnummer som finns i ert kundregister.
{% endhint %}

#### Med curl

```bash
curl -v -XPOST -H "SOAPAction: http://www.simutek.se/PlaceSimpleOrder/PlaceFreeOrder" -H "Content-Type: text/xml; charset=utf-8" --data-raw '<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Body> <PlaceFreeOrder xmlns="http://www.simutek.se/PlaceSimpleOrder/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <Ticket> <Username>ADMIN</Username> <Password></Password> </Ticket> <Order> <CustomerId>15058</CustomerId> <Title>En test-webborder2</Title> <CustOrderNo/> <CustomerReferenceName>Ola Eriksson</CustomerReferenceName> <CustomerReferencePhone/> <CustomerReferenceMobile/> <CustomerReferenceEmail/> <DeliveryAddressRow1/> <DeliveryAddressRow2/> <DeliveryAddressRow3/> <DeliveryAddressRow4/> <CustomerName/> <CustomerDepartment/> <CustomerAddressRow1/> <CustomerZipCode/> <CustomerCity/> <CustomerCountry/> <Orderlines> <Orderline> <Specification>Visitkort</Specification> <Quantity>100</Quantity> <UnitPrice>5</UnitPrice> </Orderline> </Orderlines> </Order> <Test>false</Test> </PlaceFreeOrder> </s:Body> </s:Envelope>' "http://localhost/GKS.External.PlaceSimpleOrder/PlaceSimpleOrder.asmx"
```

### Teknisk dokumentation (WSDL)

Den tekniska dokumentationen är tillgänglig genom att addera frågesträngen `?WSDL` till [tjänstens URL](#url). Den går även att ladda ner här:

{% file src="<https://2294969563-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M3QX94FdV_9Xy4tUPHP%2Fuploads%2FIce61U5B33TwIszFZCpB%2FPlaceSimpleOrder.wsdl?alt=media&token=df3f77a8-333d-41bd-996a-9823a735993c>" %}

### Dokumentation

## Skapa friorder i GKS3

<mark style="color:green;">`POST`</mark> `/GKS.External.PlaceSimpleOrder/PlaceSimpleOrder.asmx`

Beskrivning av de parameter som ingår i SOAP-anropet.

Anropet måste ha en (1) orderrad eller fler.

En obligatorisk parameter (**required**) måste vara inkluderad i anropet, men kan lämnas blank om inget annat framgår:\
`<CustomerReferenceEmail />`\
\
En frivillig (**optional**) parameter kan utelämnas.\
\
En **nullable** parameter kan sättas till *nil*:\
`<EInvoiceCode xsi:nil="true" />`

#### Request Body

| Name                                                      | Type     | Description                                                                                                                                             |
| --------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| SpecLanguage                                              | int      | <p>Språk på ordern:<br>0: Svenska<br>1: Engelska<br>2: Norska<br>Styr exempelvis språk som visas vid en utskrift av orderbekräftelse.<br>(nullable)</p> |
| CustomerId<mark style="color:red;">\*</mark>              | string   | <p>Kundnummer.<br>Max 10 tecken.<br>(får ej lämnas blank)</p>                                                                                           |
| Title<mark style="color:red;">\*</mark>                   | string   | <p>Orderbenämning.<br>Max 80 tecken.</p>                                                                                                                |
| CustOrderNo                                               | string   | <p>Beställningsnr.</p><p>Max 25 tecken.</p>                                                                                                             |
| ExtOrderNo                                                | int      | Externt referensnr för fri användning av anropande system.                                                                                              |
| CustomerReferenceName<mark style="color:red;">\*</mark>   | string   | <p>Referensens namn.<br>Max 40 tecken.</p>                                                                                                              |
| CustomerReferencePhone<mark style="color:red;">\*</mark>  | string   | <p>Referensens telefon.<br>Max 20 tecken.</p>                                                                                                           |
| CustomerReferenceMobile<mark style="color:red;">\*</mark> | string   | <p>Referensens mobil.<br>Max 20 tecken.</p>                                                                                                             |
| CustomerReferenceEmail<mark style="color:red;">\*</mark>  | string   | <p>Referensens e-post.<br>Max 100 tecken.</p>                                                                                                           |
| DeliveryAddressRow1<mark style="color:red;">\*</mark>     | string   | <p>Leveransadress.</p><p>Max 80 tecken.</p>                                                                                                             |
| DeliveryAddressRow2<mark style="color:red;">\*</mark>     | string   | <p>Leveransadress.<br>Max 80 tecken.</p>                                                                                                                |
| DeliveryAddressRow3<mark style="color:red;">\*</mark>     | string   | <p>Leveransadress.<br>Max 80 tecken.</p>                                                                                                                |
| DeliveryAddressRow4<mark style="color:red;">\*</mark>     | string   | <p>Leveransadress.<br>Max 80 tecken.</p>                                                                                                                |
| CustomerName<mark style="color:red;">\*</mark>            | string   | <p>Kundens företagsnamn, om angivet.<br>I annat fall hämtas uppgiften från kundregistret.<br>Max 128 tecken.<br>(nullable)</p>                          |
| CustomerDepartment<mark style="color:red;">\*</mark>      | string   | <p>Kundens avdelning, om angivet.<br>I annat fall hämtas uppgiften från kundregistret.<br>Max 128 tecken.<br>(nullable)</p>                             |
| CustomerAddressRow1<mark style="color:red;">\*</mark>     | string   | <p>Kundens fakturaadress, om angivet.<br>I annat fall hämtas uppgiften från kundregistret.</p><p>Max 40 tecken.<br>(nullable)</p>                       |
| CustomerZipCode<mark style="color:red;">\*</mark>         | string   | <p>Kundens fakturaadress, om angivet.<br>I annat fall hämtas uppgiften från kundregistret.</p><p>Max 10 tecken.<br>(nullable)</p>                       |
| CustomerCity<mark style="color:red;">\*</mark>            | string   | <p>Kundens fakturaadress, om angivet.<br>I annat fall hämtas uppgiften från kundregistret.</p><p>Max 40 tecken.<br>(nullable)</p>                       |
| CustomerCountry<mark style="color:red;">\*</mark>         | string   | <p>Kundens fakturaadress, om angivet.<br>I annat fall hämtas uppgiften från kundregistret.<br>Max 40 tecken.<br>(nullable)</p>                          |
| Orderline.Specification<mark style="color:red;">\*</mark> | string   | <p>Orderradens benämning.<br>Max 80 tecken.</p>                                                                                                         |
| Orderline.Quantity<mark style="color:red;">\*</mark>      | int      | <p>Orderradens antal.<br>Får inte vara negativt.</p>                                                                                                    |
| Orderline.UnitPrice<mark style="color:red;">\*</mark>     | double   | <p>Orderradens á-pris.<br>Får inte vara negativt.</p>                                                                                                   |
| Orderline.ProfitCenterCode                                | string   | <p>Orderradens resultatenhet.<br>Max 4 tecken.</p>                                                                                                      |
| PromisedDeliveryDate                                      | dateTime | <p>Utlovat leveransdatum<br>(nullable)</p>                                                                                                              |
| PurchaseDate                                              | dateTime | <p>Beställningsdatum<br>(nullable)</p>                                                                                                                  |
| EInvoiceCode                                              | string   | <p>Referensens e-fakturakod.<br>Max 40 tecken.<br>(nullable)</p>                                                                                        |
| EmailInvoice                                              | string   | <p>E-post för PDF-faktura.<br>Max 100 tecken.<br>(nullable)</p>                                                                                         |
| OrderExport                                               | enum     | <p>NoExport<br>ExportWithinEU<br>ExportOutsideEU<br>(nullable)</p>                                                                                      |
| VatProcentage                                             | int      | <p>Moms. Tillåtna värden:</p><p>25</p><p>6</p><p>0<br>(nullable)</p>                                                                                    |
| Orderline.SalesUnit                                       | string   | <p>Orderradens försäljningsenhet<br>Exempel: "st"<br>Max 10 tecken.</p>                                                                                 |

{% tabs %}
{% tab title="200: OK Order mottagen." %}

```xml
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <s:Header xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" />
  <soap:Body>
    <PlaceFreeOrderResponse xmlns="http://www.simutek.se/PlaceSimpleOrder/">
      <PlaceFreeOrderResult>true</PlaceFreeOrderResult>
      <Error>
        <Id>0</Id>
        <Message />
      </Error>
    </PlaceFreeOrderResponse>
  </soap:Body>
</soap:Envelope>
```

{% endtab %}

{% tab title="200: OK Fel 106: Kund-ID finns ej." %}
Vid felmeddelanden kommer *Error/Id* vara större än 0. Orsaken till felet är beskrivet under *Error/Message*.

```xml
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <s:Header xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" />
  <soap:Body>
    <PlaceFreeOrderResponse xmlns="http://www.simutek.se/PlaceSimpleOrder/">
      <PlaceFreeOrderResult>false</PlaceFreeOrderResult>
      <Error>
        <Id>106</Id>
        <Message>Customer specified doesn't exist. Please check your indata.</Message>
      </Error>
    </PlaceFreeOrderResponse>
  </soap:Body>
</soap:Envelope>
```

{% endtab %}
{% endtabs %}
