Envoyer une vérification
- Home
- Envoyer une vérification
Vérifier la validité d’un numéro
L’API de vérification de numéros de mobile (API HLR) permet de vérifier qu’un numéro de portable existe réellement.
Limite: 360 requêtes par minute.
Si vous dépassez ces limites, vous recevrez une réponse HTTP 429.
Si vous dépassez ces limites, vous recevrez une réponse HTTP 429.
URL
POST https://api.smspartner.fr/v1/hlr/notify
Paramètres
Chaque demande d’API prend en charge les paramètres suivants :
apiKey | Clé API de votre compte. Vous l’obtenez dans votre compte SMS Partner |
---|---|
phoneNumbers | Numéros de mobile à vérifier. Ils doivent être au format international (+336xxxxxxxx). Pour l’envoi de plusieurs vérifications les numéros doivent être séparés par des virgules. 500 numéros peuvent être vérifiés par requête. |
Paramètres optionnels | |
tag | Chaine de caractère de 20 caractères maximum. |
notifyUrl | Permet de récupérer le résultat de la requête HLR vers une URL de votre choix. Le résultat est envoyé en POST .
|
_format | Format de la réponse. Vous pouvez choisir entre JSON ou XML . Par défaut, le format de réponse est JSON . |
Requête
Exemple de requête :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?php // Prepare data for POST request $fields = array( 'apiKey'=> 'YOUR API KEY', 'phoneNumbers'=> '+336xxxxxxxx', 'notifyUrl'=>'http://...' ); $curl = curl_init(); curl_setopt($curl, CURLOPT_URL,'https://api.smspartner.fr/v1/hlr/notify'); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_TIMEOUT, 10); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS,json_encode($fields)); $result = curl_exec($curl); curl_close($curl); // Process your response here echo $result; ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
Imports System.IO Imports System.Net Module Module1 Sub Main() Dim base_url As String = "http://api.smspartner.fr/v1/" Dim apiKey As String = "VOTRE_APIKEY" #send sms url = base_url & "hlr/notify" #note : utiliser une librairie JSON en production, par exemple : #https//www.nuget.org/packages/Newtonsoft.Json/ Dim parameters As String = String.Format( "{{""apiKey"":""{0}"",""phoneNumbers"":""{1}"",""notifyUrl"":""{2}""}}", apiKey, "+33XXXXXXXXX", "http://...") Console.Write(parameters) apiRequest("POST", url, parameters) End Sub Function apiRequest(method As String, url As String, parameters As String) As String Dim request As HttpWebRequest request = WebRequest.Create(url) request.Method = method request.Timeout = 10000 # timeout in ms request.ContentType = "application/json; charset=utf-8" request.ContentLength = 0 #set POST data If Not String.IsNullOrEmpty(parameters) Then request.ContentLength = parameters.Length Using reqStream As StreamWriter = New StreamWriter(request.GetRequestStream()) reqStream.Write(parameters) End Using End If #get response Dim returnValue As String = Nothing Using response As HttpWebResponse = request.GetResponse() If response.StatusCode = HttpStatusCode.OK Then Using resStream = response.GetResponseStream() If resStream IsNot Nothing Then Using reader As New StreamReader(resStream) returnValue = reader.ReadToEnd() End Using End If End Using End If End Using apiRequest = returnValue End Function End Module |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# std import logging import json from collections import OrderedDict # 3p import requests API_KEY = "MY API KEY" URL = "https://api.smspartner.fr/v1" class SMSPartner(): def add_stop(self,phone_numbers): data = OrderedDict([ ("apiKey", API_KEY), ("phoneNumbers", phone_numbers, "notifyUrl", notify_url) ]) url = URL + "/hlr/notify" r = requests.post(url, data=json.dumps(data), verify=False) r_json = r.json() if r_json.get("success") == True: print(r_json) status = True else: print(r_json) status = False return status |
1 |
curl -H "Content-Type: application/json" -X POST -d '{"apiKey":"xxxxx","phoneNumbers":"xxxx","notifyUrl":"http://..."}' https://api.smspartner.fr/v1/hlr/notify |
Réponses
1 2 3 4 5 6 7 8 |
{ "success": true, "code": 200, "campaign_id": "HLR000000", "number": 1, "cost": 0.005, "currency": "EUR" } |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?xml version="1.0" encoding="UTF-8"?> <result> <entry>true</entry> <entry>200</entry> <entry> <![CDATA[HLR0000000]]> </entry> <entry>1</entry> <entry>0.005</entry> <entry> <![CDATA[EUR]]> </entry> </result> |
Erreurs
Exemple de message d’erreur :
1 2 3 4 5 |
{ "success": false, "code": 10, "message": "Clé API incorrecte" } |
1 2 3 4 5 6 7 8 |
<?xml version="1.0" encoding="UTF-8"?> <result> <entry>false</entry> <entry>10</entry> <entry> <![CDATA[Clé API incorrecte]]> </entry> </result> |
Code de contrôle
Réponse | ||
---|---|---|
1 | La Clé API est requise | |
2 | Le numéro de téléphone est requis | |
3 | Les numéros doivent être séparés par une virgule | |
10 | Clé API incorrecte | |
200 | Tout s’est bien passé ! |
Exemple de notification d’une requête HLR
1 2 3 4 5 6 7 8 9 10 |
Array( 'phone' => '+3300000000', 'messageId'=>'1234-12344-1234-1234', 'mccMnc' => '20815', 'ported'=> 1, 'errorGrpId'=> 0, 'errorName'=> 'NO_ERROR ', 'errorDesc'=>'No Error' , 'date'=>'2018-03-05T10:34:52.355+0000' ) |
Codes erreur HLR
errorGrpId | errorName | |
---|---|---|
0 | NO_ERROR Aucune erreur. |
|
1 | EC_UNKNOWN_SUBSCRIBER Le numéro n’existe pas ou n’a été attribué à aucun abonné actif dans la base de données utilisateur de l’opérateur. |
|
5 | EC_UNIDENTIFIED_SUBSCRIBER Abonné non identifié. |
|
6 | EC_ABSENT_SUBSCRIBER_SM Comme il n’y avait pas de réponse, l’abonné a été détecté comme indisponible. Cela est souvent dû au fait que le combiné est éteint ou dans une zone de faible signal. |
|
7 | EC_UNKNOWN_EQUIPMENT Le périphérique mobile n’a pas été reconnu par EIR (Equipment Identity Register) lors de la vérification du périphérique au niveau du protocole MAP sur l’infrastructure de l’opérateur. |
|
8 | EC_ROAMING_NOT_ALLOWED L’abonné est actuellement en itinérance dans un autre pays ou utilise l’infrastructure d’un autre opérateur – la livraison en itinérance n’est pas garantie en raison de l’absence d’accords d’itinérance entre de nombreux opérateurs différents. |
|
9 | EC_ILLEGAL_SUBSCRIBER Abonné illégal. |
|
12 | EC_ILLEGAL_EQUIPMENT Équipement illégal. |
|
13 | EC_CALL_BARRED L’abonné est configuré sur le service NPD (Ne pas déranger), et ne reçoit aucun trafic de service vers son numéro. |
|
27 | EC_ABSENT_SUBSCRIBER L’abonné est hors ligne. Cela est souvent dû au fait que le combiné est éteint. |
|
255 | EC_UNKNOWN_ERROR Erreur inconnue. |
© 2014 - 2023 NDA MEDIA. Tous droits réservés. Mentions légales