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.

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

211

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