Algemene API
De algemene API is ontworpen om gegevensinvoer in het systeem op te halen, weer te geven, bij te werken, aan te maken en te verwijderen. Het kan worden gebruikt om processen zoals leveranciersbeheer of ontwerpcreatie te automatiseren.
Modellen & Acties
Elk gegevenstype (bijvoorbeeld een cmp, een ontwerp, een leverancier enzovoort) wordt een model genoemd, elk model biedt verschillende acties (get/list/update/...). U kunt de oproep gebruiken om info
om de OpenAPI-specificatie van alle modellen en acties te ontvangen:
https://[API-Endpoint]/info
Houd er rekening mee dat niet-geverifieerde aanroepen naar het infomodel resulteren in een OpenAPI-specificatie voor niet-geverifieerde acties. Om alle modellen en acties te zien die mogelijk zijn voor uw account, dient u eerst te authenticeren.
URL-structuur
Oproepen naar modellen volgen de structuur:
https://[API-Endpoint]/model/[MODELNAME]/[ACTIONNAME]
Voorbeeld:
https://[API-Endpoint]/model/CMP/list
Naast modelaanroepen zijn er oproepen naar authenticatie en de OpenAPI-specificatie:
https://[API-Endpoint]/auth/[AUTH-ACTION]
https://[API-Endpoint]/info
Algemene berichtstructuur
Communicatie vindt plaats door JSON-gegevens heen en weer te sturen. Om een actie te starten, stuurt u een POST-verzoek met de volgende JSON-gegevens in de HTTP-body:
{
"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
}
De inhoud van de JSON-gegevens kan variëren afhankelijk van de uit te voeren actie. Zie daarom het gedeelte Acties hier.
Afhankelijk van de uitvoering van het project a key
kan nodig zijn voor bepaalde acties (bijv. het aanmaken van een nieuwe gebruiker). Neem contact op met uw accountmanager om uw sleutel te ontvangen.
Belangrijk: Houd uw sleutel privé en verstuur deze niet via de browser maar altijd via server-to-server-verbinding!
De API reageert met een JSON-body die als volgt is opgemaakt:
{
"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
}
Foutcodes
De API gebruikt de volgende foutcodes om problemen te signaleren. De foutcode wordt verzonden via de statuscode
eigendom van de reactie.
Code | Beschrijving |
100-199 | Algemene foutcodes |
101 | Geen invoergegevens gevonden |
102 | view / accessType ontbreekt of is onjuist |
103 | Geen ID's ingediend / ID's ongeldig. Stuur ten minste één ID op |
104 | Onjuist filter: veld X bestaat niet in Y |
105 | actie ontbreekt of is onjuist |
106 | Parameter X is vereist / ontbreekt |
107 | Onbekende of lege werkbalkactie |
108 | Actie niet toegestaan |
109 | Actie: mislukt |
110 | Actie staat niet meer dan één / of geen ID toe. |
111 | Gegevens voor ID x niet gevonden. |
112 | Creëer een fout, zie foutmelding. Veldspecifieke berichten zie response.data |
113 | Update fout, zie foutmelding. Veldspecifieke berichten zie response.data |
114 | Geen gegevens voor het maken / bijwerken van een item |
115 | ID's moeten een array zijn |
116 | Wachtwoord kan niet worden ondertekend |
117 | Maximaal aantal artikelen overschreden |
200-299 | Aanmeldings- / toegangsfouten |
201 | Adserver gedeactiveerd |
202 | Gebruiker niet gevonden |
203 | IP op de zwarte lijst |
204 | Fout wachtwoord |
205 | Inloggegevens ontbreken |
206 | Onbekende inlogfout |
207 | IP staat niet op de witte lijst |
208 | Wachtwoordwijziging nodig (wachtwoord te oud) |
209 | Toegang niet toegestaan |
210 | Wachtwoordvernieuwing mislukt |
211 |
Token onjuist |
212 | Token is verlopen |
213 | Account nog niet actief |
214 | Onbekend toegangstype |
215 | Wachtwoordwijziging nodig |
216 | gedeactiveerd |
217 | Onbekende fout |
218 | Verificatiesleutel ontbreekt of is leeg |
219 | Twee-factorenauthenticatie ontbreekt (verzendparameter 2fa ) |
220 | Twee-factorenauthenticatie onjuist |
221 | Twee-factoren: OTP-code ontbreekt |
222 | Two-Factor: OTP-code onjuist |
223 | Twee-factoren: e-mailcode ontbreekt |
224 | Twee-factoren: e-mailcode onjuist |
225 | Twee-factoren: sms-code ontbreekt |
226 | Twee factoren: sms-code onjuist |
227 | Twee-factoren: e-mail wordt nu verzonden |
228 | Two-Factor: SMS wordt nu verzonden |
229 | E-mail voor wachtwoordupdate verzonden |
230 | wachtwoord bijgewerkt |
300-399 | Interne foutcodes |
301 | Kan afhankelijkheid voor X op Y niet oplossen |
302 | Afhankelijkheid voor X resulteerde in een lege lijst |
303 | Geen kolom om bij te werken |
304 | Afhankelijkheidsfout bij veldgebruik |
305 | Afhankelijkheidsfout op leeg veld |
306 | Lijstquery resulteerde in een lege lijst met velden |
307 | Verificatie-callback niet gevonden |
308 | API-bestand niet gevonden: ... |
399 | Algemene interne fout |
900-999 | Aangepaste foutcodes, zie bericht |
Toegangstypen
Afhankelijk van de API-structuur bestaan er verschillende toegangstypen (JSON-veld "accessType"). Neem contact op met uw accountmanager om de ID te ontvangen voor het toegangstype dat u kunt gebruiken.
Modellen
Afhankelijk van het project en uw toegangsrechten, ziet u mogelijk verschillende modellen (datastructuren die moeten worden ontvangen / ingevoegd van / in de database). Bel actie rights
om een lijst met modellen en acties te ontvangen.