Vérification de format
Cette requête est utilisée pour vérifier le format d'un numéro de téléphone portable. Elle est disponible gratuitement.
URL
POST https://api.smspartner.fr/v1/lookup
Limite de 360 requêtes par minute. Si vous dépassez ces limites vous recevrez une réponse HTTP 429.
Paramètres obligatoires
apiKey
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
_format
json ou xml
Requêtes
<?php
// Prepare data for POST request
$fields = array(
'apiKey'=> 'YOUR API KEY',
'phoneNumbers'=> '+336xxxxxxxx'
);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL,'https://api.smspartner.fr/v1/lookup');
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;
?>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 & "lookup"
#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}""}}",
apiKey,
"+33XXXXXXXXX")
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# 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)
])
url = URL + "/lookup"
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 statuscurl -H "Content-Type: application/json" -X POST -d '{"apiKey":"xxxxx","phoneNumbers":"xxxx"}' https://api.smspartner.fr/v1/lookupRéponse
{
"success": true,
"code": 200,
"lookup": [
{
"request": "336XXXXXXXX",
"success": true,
"countryCode": "France",
"prefixCode": 33,
"phoneNumber": "+336XXXXXXXX",
"type": "Mobile",
"network": "",
"format": {
"e164": "+336XXXXXXXX",
"international": "+33 6 XX XX XX XX",
"national": "06 XX XX XX XX",
"rfc3966": "tel:+33-6-XX-XX-XX-XX"
}
}
]
}<?xml version="1.0" encoding="UTF-8"?>
<result>
<entry>true</entry>
<entry>200</entry>
<entry>
<entry>
<entry>
<![CDATA[336XXXXXXXX]]>
</entry>
<entry>true</entry>
<entry>
<![CDATA[France]]>
</entry>
<entry>33</entry>
<entry>
<![CDATA[+336XXXXXXXX]]>
</entry>
<entry>
<![CDATA[Mobile]]>
</entry>
<entry>
<![CDATA[]]>
</entry>
<entry>
<entry>
<![CDATA[+336XXXXXXXX]]>
</entry>
<entry>
<![CDATA[+33 6 XX XX XX XX]]>
</entry>
<entry>
<![CDATA[06 XX XX XX XX]]>
</entry>
<entry>
<![CDATA[tel:+33-6-XX-XX-XX-XX]]>
</entry>
</entry>
</entry>
</entry>
</result>Erreurs
{
"success": false,
"code": 10,
"message": "Clé API incorrecte"
}<?xml version="1.0" encoding="UTF-8"?>
<result>
<entry>false</entry>
<entry>10</entry>
<entry>
<![CDATA[Clé API incorrecte]]>
</entry>
</result>Code erreurs
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
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'
)Code erreurs HLR
0
NO_ERRORAucune erreur.
1
EC_UNKNOWN_SUBSCRIBERLe 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_SUBSCRIBERAbonné non identifié.
6
EC_ABSENT_SUBSCRIBER_SMComme 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_EQUIPMENTLe 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_ALLOWEDL’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_SUBSCRIBERAbonné illégal.
12
EC_ILLEGAL_EQUIPMENTÉquipement illégal.
13
EC_CALL_BARREDL’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_SUBSCRIBERL’abonné est hors ligne. Cela est souvent dû au fait que le combiné est éteint.
255
EC_UNKNOWN_ERRORErreur inconnue.
Mis à jour