API générale

L'API générale est conçue pour permettre de récupérer, répertorier, mettre à jour, créer et supprimer des entrées de données dans le système. Elle peut être utilisée pour automatiser des processus tels que la gestion des fournisseurs ou la création de designs.

Modèles et actions

Chaque type de données (par exemple, un cmp, un design, un fournisseur, etc.) est appelé un modèle ; chaque modèle propose plusieurs actions (get/list/update/…). Vous pouvez utiliser l'appel à info pour obtenir la spécification OpenAPI de tous les modèles et actions :

https://[API-Endpoint]/info

Veuillez noter que les appels non authentifiés vers le modèle d'informations entraîneront une spécification OpenAPI pour les actions non authentifiées. Afin d'obtenir tous les modèles et actions possibles pour votre compte, veuillez d'abord vous authentifier.

Structure des URL

Les appels à l'action suivent la structure suivante :

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

Exemple :

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

Outre les appels de modèle, il existe des appels à l'authentification et à la spécification OpenAPI :

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

Structure générale du message

La communication s'effectue par l'échange de données JSON. Pour lancer une action, veuillez envoyer une requête POST avec les données JSON suivantes dans le corps HTTP :

{
  "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
}

Le contenu des données JSON peut varier en fonction de l'action à effectuer. Veuillez donc consulter la section Actions ici.

Selon la mise en œuvre du projet, un key clé peut être nécessaire pour certaines actions (par exemple, la création d'un nouvel utilisateur). Veuillez contacter votre chargé de compte afin de recevoir votre clé.

Important : conservez votre clé privée et ne la transmettez pas via le navigateur, mais toujours via une connexion de serveur à serveur !

L'API répondra avec un corps JSON formaté comme suit :

{
  "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  
}

Codes d'erreur

L'API utilisera les codes d'erreur suivants pour signaler les problèmes. Le code d'erreur est envoyé via la statuscode propriété de la réponse.

CodeDescription
100-199Codes d'erreur généraux
101Aucune donnée d'entrée trouvée
102view/accessType manquant ou incorrect
103Aucun identifiant fourni / identifiants non valides. Veuillez fournir au moins un identifiant
104Filtre incorrect : le champ X n'existe pas dans Y
105L'action est manquante ou incorrecte
106Le paramètre X est obligatoire/manquant
107Action de la barre d'outils inconnue ou vide
108Action non autorisée
109Échec de l'action
110L'action n'autorise qu'un seul identifiant ou aucun identifiant.
111Données pour l'ID x introuvables.
112Erreur de création, voir le message d'erreur. Pour les messages spécifiques aux champs, voir response.data
113Erreur de mise à jour, voir le message d'erreur. Pour les messages spécifiques aux champs, voir response.data
114Aucune donnée pour la création/mise à jour d'un élément
115Les identifiants doivent être un tableau
116Impossible de signer le mot de passe
117Nombre maximal d'éléments dépassé
  
200-299Erreurs de connexion/d'accès
201Serveur publicitaire désactivé
202Utilisateur introuvable
203IP sur liste noire
204Mot de passe incorrect
205Identifiants manquants
206Erreur de connexion inconnue
207IP non autorisée
208Changement de mot de passe nécessaire (mot de passe trop ancien)
209Accès refusé
210Renouvellement du mot de passe échoué

211

Jeton incorrect
212Jeton expiré
213Compte pas encore actif
214Type d'accès inconnu
215Changement de mot de passe requis
216Désactivé
217Erreur inconnue
218Clé d'authentification manquante ou vide
219Authentification à deux facteurs manquante (envoyer le paramètre 2fa)
220Authentification à deux facteurs incorrecte
221Authentification à deux facteurs : code OTP manquant
222Authentification à deux facteurs : code OTP incorrect
223Authentification à deux facteurs : code par e-mail manquant
224Authentification à deux facteurs : code envoyé par e-mail incorrect
225Authentification à deux facteurs : code SMS manquant
226Authentification à deux facteurs : code SMS incorrect
227Authentification à deux facteurs : l'e-mail est en cours d'envoi
228Authentification à deux facteurs : SMS envoyé
229E-mail de mise à jour du mot de passe envoyé
230Mot de passe mis à jour
  
300-399Codes d'erreur internes
301Impossible de résoudre la dépendance de X sur Y
302La dépendance pour X a donné lieu à une liste vide
303Aucune colonne à mettre à jour
304Erreur de dépendance lors de l'utilisation du champ
305Erreur de dépendance sur un champ vide
306La requête de liste a renvoyé une liste de champs vide
307Rappel d'authentification introuvable
308Fichier d'inclusion de l'API introuvable : …
399Erreur interne générale
  
900-999Codes d'erreur personnalisés, veuillez consulter le message

Types d'accès

En fonction de la structure de l'API, différents types d'accès existent (champ JSON « accessType »). Veuillez contacter votre gestionnaire de compte afin d'obtenir l'ID correspondant au type d'accès que vous pouvez utiliser.

Modèles

En fonction du projet et de vos droits d'accès, vous pouvez voir différents modèles (structures de données à recevoir/insérer depuis/vers la base de données). Veuillez cliquer ici rights pour obtenir la liste des modèles et des actions.

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!