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.