Codes d'erreur
Ce document s'applique au SDK Web MA autonome en version 2.x.
Définition des codes d'erreur côté client
Les codes de callback générés localement par le SDK Web prennent l'une des trois valeurs suivantes :
| Code | Description | Explication détaillée |
|---|---|---|
| 0 | Requête réussie | La requête d'interface a réussi (message vaut toujours success) |
| -1 | Échec de la requête | Échec de la validation locale des paramètres, SDK non prêt (non initialisé / RID/EUID non obtenu), erreur réseau, réponse impossible à analyser, ou réponse invalide renvoyée par le serveur. Voir le message du callback pour la raison précise |
| -8 | Collecte de données désactivée | Depuis 2.2.0. Après désactivation de la collecte via l'Interrupteur de collecte de données, les interfaces de propriétés utilisateur (setProperty, increaseProperty, addProperty, deleteProperty, removeProperty, updateProperty) sont interceptées et l'opération n'est pas exécutée ; message vaut toujours data collection disabled. Les interfaces sans callback, comme les événements et les UTM, rejettent silencieusement les données pendant la désactivation et ne renvoient pas ce code |
Messages -1 locaux courants (renvoyés à l'application dans leur texte original en anglais) :
| message | Scénario de déclenchement |
|---|---|
invalid argument: enabled must be boolean |
Le paramètre de setDataCollectionEnabled n'est pas un booléen |
sdk hasn't registered yet, request will be cancel |
init n'est pas terminé ou /get-rid n'a pas encore réussi, les interfaces utilisateur sont interceptées |
MA EUID is not a valid Long |
L'EUID local est manquant ou invalide (généralement /get-euid n'a pas réussi) |
identifyAccount fail loginID and mobile are nil |
identifyAccount a été appelé avec un objet d'identification vide (texte identique octet pour octet à la v1) |
user_id cannot be "0" / email format is invalid / phone must be E.164 format (+[1-9] followed by 1-14 digits) etc. |
Échec de la pré-validation des règles des champs d'identification de l'utilisateur (règles : voir « Guide de l'API · Définir l'identification de l'utilisateur ») |
channelId must be greater than 0 / channel values cannot be empty / channel value element cannot be empty |
Échec de la validation des paramètres de setChannelValue |
userIdentity is invalid: ... |
Tous les champs du userIdentity transmis lors d'un nouvel init sont invalides (depuis 2.1.0, transmettre une AppKey différente lors d'un nouvel init bascule la source de données et ne renvoie plus d'erreur) |
network exception |
Échec de la requête réseau ou réponse invalide |
Codes métier côté serveur
Lorsque le serveur renvoie explicitement un échec métier, le SDK ne le replie pas en -1 : il transmet tels quels le code et le texte du serveur au callback, des codes positifs peuvent donc apparaître dans le callback.
Les codes métier côté serveur servent uniquement au diagnostic des problèmes et ne font pas partie du contrat externe stable du SDK ; n'écrivez pas de branches métier basées sur des codes positifs précis. Utilisez systématiquement code === 0 pour déterminer le succès et, en cas d'échec inattendu, fournissez le code et le message d'origine au support technique.
Lors d'appels répétés à init (depuis 2.1.0, chaque appel récupère de nouveau l'EUID), les échecs de la nouvelle requête de l'EUID d'appartenance sont également transmis tels quels comme codes métier côté serveur, selon la règle ci-dessus.
Annexe : codes métier côté serveur courants
Les valeurs suivantes sont fournies uniquement à titre de référence pour le dépannage et ne sont pas garanties stables entre les versions du SDK ou du serveur :
| Code | Signification |
|---|---|
| 55004 | Paramètre métier invalide, par exemple l'AppKey du canal n'est pas mappée dans le projet actuel, le channelId n'existe pas dans le projet actuel, la valeur du canal est égale au RID MA, ou updateProperty / removeProperty est appelé sur une propriété object_array non encore définie |
| 55100 | Échec de l'enregistrement de l'utilisateur |
| 55101 | Le nombre d'identifications de l'utilisateur dépasse la limite |
| 55102 | Présence d'un nom de propriété utilisateur invalide |
| 55103 | La valeur de la propriété utilisateur est vide |
| 55105 | La valeur d'identification de l'utilisateur dépasse 256 caractères |
| 55106 | Le nom d'identification de l'utilisateur n'est pas pris en charge |
| 55107 | La valeur d'identification de l'utilisateur est vide |
| 55108 | EUID invalide, par exemple maEuid et maRid n'appartiennent pas au même utilisateur MA |
| 55110 | Requêtes trop fréquentes, réessayez plus tard |
| 55000 | Erreur système côté serveur |
| 40007 | L'EUID est vide |










