# GKS Public API

{% hint style="info" %}
Detta är ett nyare API och ersätter tidigare funktionalitet i [PlaceSimpleOrder API](/it/api/placesimpleorder-api.md).
{% endhint %}

Med följande REST-API går det att ta emot lagda order från din webbshop. Den mottagna försäljningsordern blir underlag för fakturering, men kan även skapa upp tillverkningsorder utifrån kända artikelnummer.

### Skillnader mot PlaceSimpleOrder API

* API:et ligger i molnet och drift ingår vilket gör det enklare att ansluta nya externa system.
* Framtidssäker. Detta API fungerar direkt mot GKS4, men är även bakåtkompatibelt och går att koppla mot GKS3.
* Modernare och enklare teknik med JSON över REST.
* Utökad med ytterligare funktionalitet:
  * Möjlighet att få in artikelnummer.
  * Möjlighet att få [tillverkningsorder att skapas automatiskt](#skapa-tillverkningsorder) för kända artikelnummer.
  * Kunna få in flera leveransadresser per orderrad/produkt. Dvs. en färdig distribution med antal till respektive adress.
  * Möjlighet att få in kostnad per orderrad.
  * Möjlighet att få in en rabattsats.
  * Möjlighet att få in valuta.

### Säkerhet

OAuth 2.0 client credentials flow.

### Teknisk dokumentation

{% openapi src="/files/HNwaM1U82MWWBH9zPGy7" path="/api/v1/salesorders" method="post" %}
[swagger.json](https://2294969563-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M3QX94FdV_9Xy4tUPHP%2Fuploads%2FlAk02AxqKIy9tRjKqq7Y%2Fswagger.json?alt=media\&token=a1f12121-6f8a-417c-8158-7e49a51cfe59)
{% endopenapi %}

## Skapa tillverkningsorder

#### Beskrivning av funktionalitet

Från en inkommande webborder via API:et finns nu möjlighet att automatiskt få tillverkningsorder uppskapade.

Genom att koppla artikelnummer till en utvald produktmall kommer API:et automatiskt kunna skapa upp en tillverkningsorder då den identifierar att en känd artikel har beställts. Tillhörande jobb blir även direkt synligt i GKS Plan för produktionen att påbörja tillverkning. Artikelnumret identifieras om det finns i fältet för artikel på produktmallen.

Tillverkningsordern skapas upp med det inkommande artikelnumret och beskrivningen som kommer in på den fria orderraden från webbportalen. Numret på friordern sätts i början på benämningen för att kunna spåra vilken friorder som fick in beställningen. Webportalens ordernummer sätts också i fältet för beställningsnummer på arbetsordern.

#### Skapa en produktmall för en artikel

Börja med att skapa en kund i företagsregistret med firmanamn `PLACESIMPLEORDER` om denna inte redan är upplagd. Kund-ID kan sättas till valfritt värde.

Skapa därefter en tillverkningsoffert och välj kunden. Lägg därefter till en ny produkt. Sedan sätter du artikelnummer i fält *Mall för artikel*. När allt är klart sparar du offerten. Offerten kan med fördel sparas med 0 i värde.

<figure><img src="/files/csjcinKC9uqkAbSTYwB9" alt=""><figcaption><p>En produktmall med ett artikelnummer.</p></figcaption></figure>

#### Listning av artiklar med produktionsmallar

Kopplingen mellan ett artikelnummer och en mall visas i ett separat program som heter *Produktmallar Place Simple Order* (`Produktmallar.exe`). Programmet finns tillgängligt i GKS3-mappen från och med GKS3 Kalkyl v3.83.1.

Vid start av programmet visas en vy där man ser alla artiklar och till vilka offertmallar som dessa är kopplade till.

<figure><img src="/files/gdUXJQCPQeYOU2ncmMbs" alt=""><figcaption><p>Lista med alla artikelnummer och dess kopplade mall.</p></figcaption></figure>

## GKS3: Installation

I GKS4 finns API tillgängligt som standard, tillsammans med tjänsten för att skapa tillverkningsorder. Om du använder GKS3 behöver du däremot installera både en API-adapter och en tjänst på din serverdator.

#### Installera API-Adapter

1. Ladda ner och installera [ASP.NET Core 8.0 Runtime](https://dotnet.microsoft.com/en-us/download/dotnet/8.0) Hosting Bundle för Windows.
2. Skapa en mapp för API:et, t.ex. `c:\inetpub\wwwroot\gks3api` och lägg filer från paketet du erhållit av Simutek.
3. Kopiera in GKS.INI till mappen.
4. Konvertera appen till en applikation i *IIS Manager*.
5. Testa åtkomst genom en webbläsare: `http://localhost/gks3api/swagger/index.html` .
6. Se till att API:et görs tillgängligt externt via brandvägg.

#### Installera tjänst för att skapa tillverkningsorder

1. Kontrollera att mappen `c:\gks3\PlaceSimpleOrder` finns på serverdator, samt att den innehåller filerna:
   * CreateProdOrderNT.exe
   * dbexpsda41.dll
   * GKS.INI
2. Kör kommando: `CreateProdOrderNT.exe -install`


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.simutek.se/it/api/gks-public-api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
