DIAGNOSTICS
Une erreur.
Une piste concrète.
L’enveloppe utilise un code OAuth dans error et un diagnostic précis dans error_code. Le request_id correspond à une ligne du journal.
invalid_request
La requête est incomplète ou invalide.
QUE FAIREVérifiez state (16 caractères minimum), les paramètres et le format JSON.
invalid_client
Le client est inconnu, désactivé ou ses identifiants sont invalides.
QUE FAIREVérifiez le client_id, son état actif et le secret côté serveur.
invalid_grant
Le code ne correspond pas à cette requête.
QUE FAIRERelancez le parcours depuis l’application. Le code doit appartenir au même client.
access_denied
Authentification refusée.
QUE FAIRERecommencez vous-même la connexion. En sandbox, le numéro 22300000099 simule ce refus.
expired_code
Le code a expiré. Les codes sont valables 60 secondes.
QUE FAIREÉchangez le code côté serveur dès le retour du navigateur.
already_used
Ce code a déjà été utilisé.
QUE FAIREN’échangez le code qu’une seule fois. Évitez les doubles appels du callback.
invalid_verifier
Le vérificateur PKCE ne correspond pas au challenge.
QUE FAIREUtilisez le code_verifier conservé au démarrage, sans le modifier.
redirect_uri_mismatch
Cette URL de retour ne correspond pas à celle autorisée.
QUE FAIREUtilisez exactement la même URL autorisée au démarrage et à l’échange.
key_not_activated
La clé doit être activée depuis votre navigateur.
QUE FAIREAppelez activate depuis le clic avant d’envoyer le message.
key_expired
La clé a expiré. Recommencez la connexion.
QUE FAIRERecommencez la connexion. Après ouverture de WhatsApp, le message doit partir dans les 90 secondes.
rate_limited
Trop de tentatives. Réessayez dans une minute.
QUE FAIREAttendez le délai Retry-After avant de recommencer.
session_mismatch
Reprenez la connexion dans le navigateur d’origine.
QUE FAIREConservez le cookie et le navigateur d’origine. Ne transférez pas le lien.
invalid_signature
La signature du message est invalide.
QUE FAIRECôté SMSV, signez les octets JSON envoyés avec le secret partagé.
stale_message
Le message est trop ancien.
QUE FAIRESynchronisez les horloges. timestamp est un Unix timestamp en millisecondes.
otp_send_failed
Le code n’a pas pu être envoyé. Réessayez dans un instant.
QUE FAIREL’API Notif a refusé l’envoi. Vérifiez la clé API et le journal du service, puis réessayez.
otp_too_soon
Un code vient d’être envoyé. Patientez avant d’en demander un autre.
QUE FAIREUn renvoi est possible 60 secondes après l’envoi précédent, trois envois au plus par connexion.
otp_invalid
Le code saisi est incorrect.
QUE FAIRESaisissez les six chiffres reçus sur WhatsApp. Cinq erreurs invalident la connexion.
otp_expired
Le code a expiré. Demandez un nouveau code.
QUE FAIRELe code est valable cinq minutes. Demandez un nouveau code depuis la page d’attente.
invalid_phone
Le numéro de téléphone est invalide.
QUE FAIREEnvoyez phone_e164 en chiffres, avec ou sans +. Huit chiffres sont lus comme un numéro malien (+223). En sandbox, seuls 22300000001 à 22300000009 sont acceptés.
challenge_not_found
Cette demande de code est introuvable ou déjà utilisée.
QUE FAIREUtilisez le challenge_id renvoyé par /server/otp/send, avec le même client. Un challenge sert une seule fois : après un succès, demandez un nouveau code.
invalid_branding
Personnalisation refusée : nom de 2 à 40 caractères, logo en URL https terminée par .png, .svg, .jpg ou .webp, couleur d’accent #rrggbb assez sombre pour un texte blanc (contraste 4,5:1 minimum).
QUE FAIREDepuis le dashboard, section Apparence : raccourcissez le nom, servez le logo en https avec une extension d’image, ou assombrissez la couleur d’accent jusqu’à un contraste de 4,5:1 avec du blanc (#15803d convient).