Valider et formater un numéro de téléphone
| Paramètre | Type | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|---|
number | string | Oui | — | Obligatoire, 3 à 32 caractères. Chiffres ASCII, espaces, parenthèses et traits d'union, avec un + initial facultatif. Les extensions et les lettres ne sont pas acceptées. |
country | string | Sous condition | — | Code ISO 3166-1 alpha-2 en majuscules. Obligatoire pour un numéro national ; facultatif lorsque number commence par +. Omettez-le s'il n'est pas utilisé. |
Envoyez number et, si nécessaire, country à POST https://api.genderapi.io/api/v2/phone/validate. Utilisez un numéro international commençant par +, ou indiquez un code pays ISO en majuscules pour un numéro national. GenderAPI.io V2 renvoie data.valid, data.possible, data.e164, data.country et data.country_calling_code, ainsi que meta pour l'accès et la facturation. Cette vérification porte sur la structure du numéro, et non sur l'existence de l'abonné. Chaque validation terminée coûte 1 crédit, y compris pour un résultat non valide. La réponse synthétique ci-dessous illustre un numéro non valide, indépendamment de l'exemple de requête.
Choisissez un langage de programmation. Configurez votre clé API, puis exécutez l'exemple sur votre serveur.
Chaque requête de prédiction est une nouvelle opération facturable, y compris les nouvelles tentatives. Ces exemples ne réessaient pas automatiquement. Vérifiez le statut de facturation avant d'envoyer une autre requête.
Avant l'exécution : accès et gestion des erreurs
Exécutez ces exemples sur votre serveur. Définissez GENDERAPI_API_KEY dans l'environnement du processus avec votre clé API existante. Vérifiez que meta.access.mode vaut api_key : une clé non reconnue peut basculer vers l'essai par IP.
Pour les réponses JSON HTTP 4xx et 5xx, les exemples conservent le corps de l'erreur et renvoient un code de sortie non nul. Vérifiez code, action et meta.usage.billing_status avant de réessayer.
Guide des erreurs et des nouvelles tentatives →cURL 7.76+ dans un shell POSIX. À exécuter dans votre terminal. Documentation de l'environnement d'exécution
Node.js 22+ ; fetch intégré. Enregistrez sous example.mjs et exécutez node example.mjs. Documentation de l'environnement d'exécution
Python 3.10+ ; bibliothèque standard. Enregistrez sous example.py et exécutez python3 example.py. Documentation de l'environnement d'exécution
PHP 8+ avec l'extension cURL. Enregistrez sous example.php et exécutez php example.php. Documentation de l'environnement d'exécution
Java 17+ ; client HTTP standard. Enregistrez sous GenderApiExample.java et exécutez java GenderApiExample.java. Documentation de l'environnement d'exécution
Application console .NET 8+. Utilisez-le comme Program.cs dans un projet console, puis exécutez dotnet run. Documentation de l'environnement d'exécution
Go 1.22+ ; bibliothèque standard. Enregistrez sous main.go et exécutez go run main.go. Documentation de l'environnement d'exécution
{
"data": {
"valid": false,
"possible": false,
"e164": null,
"country": null,
"country_calling_code": null
},
"meta": {
"request_id": "11111111-1111-4111-8111-111111111111",
"duration_ms": 12,
"access": {
"mode": "ip_trial",
"reason": "api_key_missing"
},
"usage": {
"charged_credits": 1,
"remaining_credits": 7,
"billing_status": "confirmed",
"resets_at": "2026-09-26T12:00:00.000Z",
"limit": 10,
"period_seconds": 86400
}
}
}Lire les champs de validation du téléphone
Une réponse 422 rejette une entrée mal formée avant facturation. Une requête bien formée dont le numéro ne peut pas être analysé peut se terminer avec HTTP 200, valid: false et des champs de formatage null ; cette validation terminée coûte 1 crédit. Un numéro analysable mais non valide peut tout de même avoir une valeur e164. Vérifiez valid au lieu de considérer la sortie formatée comme une preuve de validité.
| Champ | Type | Peut valoir null | Exemple | Description |
|---|---|---|---|---|
data.valid | boolean | Non | false | Indique si le numéro correspond aux règles de validation du plan de numérotation. |
data.possible | boolean | Non | false | Indique si le numéro a une longueur plausible pour son plan de numérotation ; critère moins strict que valid. |
data.e164 | string | Oui | null | Numéro au format international lorsque l'analyse réussit, sinon null. |
data.country | string | Oui | null | Région déduite du numéro, ou null si elle est indisponible ; elle ne localise pas l'abonné. |
data.country_calling_code | integer | Oui | null | Indicatif d'appel international numérique, ou null s'il est indisponible. |
Accès, facturation et métadonnées de la requête
| Champ | Type | Peut valoir null | Exemple | Description |
|---|---|---|---|---|
meta.request_id | string | Non | "550e8400-e29b-41d4-a716-446655440000" | Identifiant unique de cette tentative HTTP ; également envoyé dans X-Request-ID. |
meta.duration_ms | integer | Non | 42 | Durée de traitement de la requête en millisecondes. |
meta.access.mode | string | Non | "api_key" | api_key, ip_trial ou unauthenticated. Vérifiez api_key lorsque vous utilisez un compte payant. |
meta.access.reason | string | Oui | null | Motif du passage à l'essai : api_key_missing, api_key_invalid ou api_key_not_found ; null sinon. |
meta.usage.charged_credits | integer | Oui | 1 | Crédits nets débités. Zéro avant débit ou après remboursement intégral confirmé ; null si la facturation n'est pas confirmée. |
meta.usage.remaining_credits | integer | Oui | 99 | Solde à la fin de l'opération. Peut être négatif ; null si indisponible ou si la facturation n'est pas confirmée. |
meta.usage.billing_status | string | Non | "confirmed" | not_charged, confirmed ou unconfirmed. Vérifiez ce champ avant de relancer une prédiction échouée. |
meta.usage.resets_at | string | Oui | "2026-09-27T12:00:00.000Z" | Réinitialisation de l'essai par IP en UTC (ISO 8601) ; null pour les comptes avec clé API ou si inconnue. |
meta.usage.limit | integer | Oui | 10 | Crédits de l'essai par IP ; null pour les comptes avec clé API. |
meta.usage.period_seconds | integer | Oui | 86400 | Durée de l'essai par IP en secondes ; null pour les comptes avec clé API. |
Authentification et nouvelles tentatives
Envoyez votre clé API existante avec l'en-tête Bearer et Content-Type: application/json. Les exemples de code lisent GENDERAPI_API_KEY depuis l'environnement. country est obligatoire pour les numéros nationaux et facultatif lorsque number commence par +.