Envoyer une vérification
Cette requête est utilisée pour envoyer une vérification HLR.
URL
POST https://api.smspartner.fr/v1/hlr/notify
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
tag
Chaine de caractères de 20 caractères maximum.
notifyUrl
Permet de récupérer le résultat de la requête HLR vers une URL de votre choixle résultat est envoyé en POST. Exemple de notification d'une requête HLR
_format
json ou xml
Requêtes
<?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;
?>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# 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 statuscurl -H "Content-Type: application/json" -X POST -d '{"apiKey":"xxxxx","phoneNumbers":"xxxx","notifyUrl":"http://..."}' https://api.smspartner.fr/v1/hlr/notifyRéponse
{
"success": true,
"code": 200,
"campaign_id": "HLR000000",
"number": 1,
"cost": 0.005,
"currency": "EUR"
}<?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
{
"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