Allmänt API

Det allmänna API:et är utformat för att kunna hämta, lista, uppdatera, skapa och radera dataposter i systemet. Det kan användas för att automatisera processer som leverantörshantering eller designskapande.

Modeller & Åtgärder

Varje datatyp (t.ex. ett företag, en design, en leverantör osv.) kallas en modell, och varje modell erbjuder flera åtgärder (hämta/lista/uppdatera/…). Du kan använda anropet info för att få OpenAPI-specifikationen för alla modeller och åtgärder:

https://[API-Endpoint]/info

Observera att oautentiserade anrop till informationsmodellen resulterar i en OpenAPI-specifikation för oautentiserade åtgärder. För att få tillgång till alla modeller och åtgärder som är tillgängliga för ditt konto, vänligen autentisera dig först.

URL-struktur

Uppmaningar till handling följer strukturen:

https://[API-Endpoint]/model/[MODELNAME]/[ACTIONNAME]

Exempel:

https://[API-Endpoint]/model/CMP/list

Förutom modellanrop finns det anrop till autentisering och OpenAPI-specifikationen:

https://[API-Endpoint]/auth/[AUTH-ACTION]
https://[API-Endpoint]/info

Allmän meddelandestruktur

Kommunikationen sker genom att skicka JSON-data fram och tillbaka. För att starta en åtgärd, skicka en POST-begäran med följande JSON-data i HTTP-kroppen:

{
  "accessType": 1,         // Access type (may be required for authentication calls)
  "lang":       1|2|3|..., // Language (optional)  
  "kmd":        "...",     // Authentication token (optional/required depending on context)  
  "key":        "..."      // Your API-Key (optional/required depending on context)
  // other fields might be required depending on context
}

Innehållet i JSON-data kan variera beroende på vilken åtgärd som ska utföras. Se därför avsnittet Åtgärder här.

Beroende på projektets genomförande kan key krävas för vissa åtgärder (t.ex. att skapa en ny användare). Vänligen kontakta din kundansvarige för att få din nyckel.

Viktigt: Håll din nyckel privat och överför den inte via webbläsaren utan alltid via en server-till-server-anslutning!

API:et svarar med en JSON-text som är formaterad enligt följande:

{
  "status":     "...",  // Status: Success|Error 
  "statuscode": 0..999, // Status code
  "msg":        "...",  // Human readable status message
  "model":      "...",  // Context dependend. May return model type to be displayed or null
  "action":     "...",  // Action performed
  "data":        ...    // Type and content is depended on context  
}

Felkoder

API:et kommer att använda följande felkoder för att signalera problem. Felkoden skickas via statuscode egenskapen i svaret.

Kod Beskrivning
100–199 Allmänna felkoder
101 Inga indata hittades
102 view/accessType saknas eller är felaktig
103 Inga ID:n angivna / ID:n ogiltiga. Skicka minst ett ID
104 Felaktigt filter: Fält X finns inte i Y
105 Åtgärd saknas eller är felaktig
106 Parameter X krävs/saknas
107 Okänd eller tom verktygsfältåtgärd
108 Åtgärd tillåten
109 Åtgärden misslyckades
110 Åtgärden tillåter högst ett eller inget ID.
111 Data för ID x hittades inte.
112 Skapa fel, se felmeddelande. Fältspecifika meddelanden, se response.data
113 Uppdateringsfel, se felmeddelande. Fältspecifika meddelanden, se response.data
114 Inga data för att skapa/uppdatera ett objekt
115 ID:n måste vara en matris
116 Kan inte signera lösenord
117 Maximalt antal objekt överskridet
   
200–299 Inloggnings-/åtkomstfel
201 Adserver avaktiverad
202 Användare hittades inte
203 IP-adress svartlistad
204 Felaktigt lösenord
205 Felaktiga inloggningsuppgifter
206 Okänt inloggningsfel
207 IP-adressen finns inte med på vitlistan
208 Lösenordsbyte krävs (lösenordet är för gammalt)
209 Åtkomst ej tillåten
210 Lösenordsförnyelse misslyckades

211

Felaktig token
212 Token har gått ut
213 Kontot är inte aktivt ännu
214 Okänd åtkomsttyp
215 Lösenord måste ändras
216 Avaktiverad
217 Okänt fel
218 Autentiseringsnyckel saknas eller är tom
219 Tvåfaktorsautentisering saknas (skicka parameter 2fa)
220 Tvåfaktorsautentisering felaktig
221 Tvåfaktorsautentisering: OTP-kod saknas
222 Tvåfaktorsautentisering: OTP-kod felaktig
223 Tvåfaktorsautentisering: E-postkod saknas
224 Tvåfaktorsautentisering: Felaktig e-postkod
225 Tvåfaktorsautentisering: SMS-kod saknas
226 Tvåfaktorsautentisering: Felaktig SMS-kod
227 Tvåfaktorsautentisering: E-post skickas nu
228 Tvåfaktorsautentisering: SMS skickas nu
229 E-post om lösenordsuppdatering skickad
230 Lösenordet har uppdaterats
   
300–399 Interna felkoder
301 Kunde inte lösa beroendet för X på Y
302 Beroendet för X resulterade i en tom lista
303 Ingen kolumn att uppdatera
304 Beroendefel vid användning av fält
305 Beroendefel vid tomt fält
306 Listfrågan resulterade i en tom fältlista
307 Återkoppling för autentisering hittades inte
308 API-inkluderingsfil hittades inte: …
399 Allmänt internt fel
   
900–999 Anpassade felkoder, se meddelandet

Åtkomsttyper

Beroende på API-strukturen finns olika åtkomsttyper (JSON-fältet "accessType"). Kontakta din kundansvarige för att få ID för den åtkomsttyp du kan använda.

Modeller

Beroende på projektet och dina åtkomsträttigheter kan du se olika modeller (datastrukturer som ska hämtas från/läggas in i databasen). Klicka här rights för att få en lista över modeller och åtgärder.

We do our best to keep this purely informative documentation up to date. However, if you notice that any of these guides need a little touch-up, let us know!