В данной документации будут представлены инструкции по быстрой интеграции услуг SMS в различные решения с использованием HTTP API.
Наш API основан на стандартах REST. Для взаимодействия с нашим API можно использовать любой клиент HTTP на любом языке программирования.
Документация интуитивно понятна и написана с учетом пожеланий разработчиков.
Для того, чтобы использовать наш API, вам понадобится некоторая информация для входа в систему.
Они используются не только для API, но и для других сервисов, таких как ваш клиентский раздел.
Хотя вы можете использовать протокол HTTP, мы настоятельно рекомендуем отправлять все ваши запросы в SMS API через HTTPS, чтобы трафик был зашифрован и была обеспечена конфиденциальность.
URL de base :
https://vavasms.com/api
Мы используем форматирование цифр E.164 которая стандартизирована на международном уровне. Телефонным номерам обычно предшествует знак + (плюс), за которым следует код страны, код сети и номер абонента.
Код | Номер телефона |
---|---|
225 | 09000001 |
Мы отправляем сообщения только на действительные телефонные номера (номера), например, написанные в международном формате. 22509000001, 22377000010
POST : https://vavasms.com/api/v1/check/balance
Имя | Введите . | Описание |
---|---|---|
username | string | электронный адрес вашего аккаунта |
password | string | пароль вашей учётной записи |
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://vavasms.com/api/v1/check/balance",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "username=your_email&password=your_password",
CURLOPT_HTTPHEADER => array(
"Content-Type: application/x-www-form-urlencoded"
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "username=your_email&password=your_password");
Request request = new Request.Builder()
.url("https://vavasms.com/api/v1/check/balance")
.method("POST", body)
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.build();
Response response = client.newCall(request).execute();
var settings = {
"url": "https://vavasms.com/api/v1/check/balance",
"method": "POST",
"timeout": 0,
"headers": {
"Content-Type": "application/x-www-form-urlencoded"
},
"data": {
"username": "your_email",
"password": "your_password"
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
var request = require("request");
var options = { method: 'POST',
url: 'https://vavasms.com/api/v1/check/balance',
headers:
{'cache-control': 'no-cache',
'Host': 'vavasms.com',
'Content-Type': 'application/x-www-form-urlencoded'},
form: { username: 'your_email', password: 'your_password' } };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import http.client
import mimetypes
conn = http.client.HTTPSConnection("vavasms.com")
payload = 'username=your_email&password=your_password'
headers = {
'Content-Type': 'application/x-www-form-urlencoded'
}
conn.request("POST", "/api/v1/check/balance", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
var client = new RestClient("https://vavasms.com/api/v1/check/balance");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddParameter("username", "your_email");
request.AddParameter("password", "your_password");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
{
"code": 0,
"message": "OPERATION_SUCCES",
"data": {
"amount": 25540,
"currency": "XOF"
}
}
{
"code": 901,
"message": "INVALID_CREDENTIALS",
"description": "Identifiant de connexion incorrect",
"data": []
}
NB: Баланс в FCFA (XOF)
По умолчанию вашим именем пользователя является SENDER_ID, но вы можете запросить другой SENDER_ID в вашей учетной записи.
Имя | Введите . | Описание |
---|---|---|
username | string | электронный адрес вашего аккаунта |
password | string | пароль вашей учётной записи |
sender_id | string | Длина буквенно-цифрового sender_id должна быть <br> от 3 до 11 символов (пример: <код>CompanyName</код>). |
phone | string |
Номер(ы) назначения сообщения. Разделенные запятыми, если вы хотите отправить на несколько номеров.
Пример отправки контакту : 22509000001 Пример отправки на несколько контактов: 22509000001,22509000002 |
message | string | Текст сообщения, которое будет отправлено. |
Максимальная длина сообщения составляет 160 символов для стандарта GSM7 или 70 символов для сообщений с кодировкой Unicode. При отправке текста, превышающего максимальное количество поддерживаемых символов, отправленное сообщение будет сегментировано и выставлен счет. Длинное SMS, состоящее из двух SMS-сообщений, засчитывается как два SMS-сообщения.
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://vavasms.com/api/v1/text/single",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "username=your_email&password=your_password&sender_id=your_sender_id&phone=your_receiver_phone_number&message=your_message_here",
CURLOPT_HTTPHEADER => array(
"Accept: */*",
"Content-Type: application/x-www-form-urlencoded",
"Host: vavasms.com"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "username=your_email&password=your_password&sender_id=your_sender_id&phone=your_receiver_phone_number&message=your_message_here");
Request request = new Request.Builder()
.url("https://vavasms.com/api/v1/text/single")
.post(body)
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.addHeader("Accept", "*/*")
.addHeader("Host", "vavasms.com")
.build();
Response response = client.newCall(request).execute();
var settings = {
"async": true,
"crossDomain": true,
"url": "https://vavasms.com/api/v1/text/single",
"method": "POST",
"headers": {
"Content-Type": "application/x-www-form-urlencoded",
"Accept": "*/*",
"Host": "vavasms.com"
},
"data": {
"username": "your_email",
"password": "your_password",
"sender_id": "your_sender_id",
"phone": "your_receiver_phone_number",
"message": "your_message_here"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
var request = require("request");
var options = { method: 'POST',
url: 'https://vavasms.com/api/v1/text/single',
headers:
{ 'Host': 'vavasms.com',
'Accept': '*/*',
'Content-Type': 'application/x-www-form-urlencoded' },
form:
{ username: 'your_email',
password: 'your_password',
sender_id: 'your_sender_id',
phone: 'your_receiver_phone_number',
message: 'your_message_here' } };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
import http.client
conn = http.client.HTTPConnection("vavasms.com")
payload = "username=your_email&password=your_password&sender_id=your_sender_id&phone=your_receiver_phone_number&message=your_message_here"
headers = {
'Content-Type': "application/x-www-form-urlencoded",
'Accept': "*/*",
'Host': "vavasms.com"
}
conn.request("POST", "api,v1,text,single", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
{
"code": 0,
"message": "OPERATION_SUCCES",
"data": {
"lot_id": "LOT-20190623-1217676",
"description": "Message envoyé avec succès",
"message_id": [
"SM-20190623-1217879"
]
}
}
{
"code": "901",
"status": "INVALID_CREDENTIALS",
"description": "Identifiant de connexion incorrect",
}
{
"code": "902",
"status": "INVALID_SENDER_ID",
"description": "Le sender_id n’existe pas",
}
{
"code": "903",
"status": "INVALID_PHONE_NUMBER",
"description": "Le format du numéro de téléphone est invalide",
}
Имя | Введите . | Описание |
---|---|---|
username | string | электронный адрес вашего аккаунта |
password | string | пароль вашей учётной записи |
message_id | string | Идентификатор сообщения Ex : RMA029VA222991919 |
lot_id | string | дополнительный | Идентификатор пакета Ex : RMA029VA222991919 |
{
"code": 0,
"message": "OPERATION_SUCCES",
"data": [
{
"lot_id": "LOT-20190617-1445425",
"message_id": "SM-20190617-1445914",
"status": "sent",
"description": "Envoyé"
}
]
}
{
"code": "901",
"status": "INVALID_CREDENTIALS",
"description": "Identifiant de connexion incorrect",
}
{
"code": "709",
"message": "EXECUTION_ERROR",
"description": "Aucun envoi existe pour ce ID",
"data": []
}
Ссылка на уведомление - это ссылка, вызываемая платформой для уведомления о получении SMS и его содержании.
Этот URL должен быть доступен для получения HTTP-запросов типа POST.
Вы должны настроить URL-адрес уведомления в вашем бэк-офисе.
Имя | Введите . | Описание |
---|---|---|
message_id | string | идентификатор сообщения |
form | string | Отправитель SMS |
content | string | содержание сообщения |
sms_date | string | дата получения SMS |
NB : Обратите внимание на значение « message_id strong>», чтобы избежать повторной обработки
Имя | Введите . | Описание |
---|---|---|
username | string | электронный адрес вашего аккаунта |
password | string | пароль вашей учётной записи |
sender_id | string | La longueur du sender_id alphanumérique doit être comprise entre 3 et 11 caractères (exemple : CompanyName ).
|
otp_length | integer | La longueur de l'OTP à generer. doit être comprise entre 4 et 9 par defaut : 4 .
|
otp_expiry | integer |
La durée de l'OTP à verifier en minute. par défaut : 60 |
phone | string | Le numéro de destination du message qui reçoit le code OTP. Exemple d'envoi à un contact : 22509000001 |
message | string | Texte du message qui sera envoyé. le message doit comporter la balise ##OTP## Par defaut, le message est : Votre code OTP est : ##OTP## |
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://vavasms.com/api/v1/otp/send",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "username=your_email&password=your_password&sender_id=your_sender_id&phone=your_receiver_phone_number",
CURLOPT_HTTPHEADER => array(
"Accept: */*",
"Content-Type: application/x-www-form-urlencoded",
"Host: vavasms.com"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "username=your_email&password=your_password&sender_id=your_sender_id&phone=your_receiver_phone_number");
Request request = new Request.Builder()
.url("https://vavasms.com/api/v1/otp/send")
.post(body)
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.addHeader("Accept", "*/*")
.addHeader("Host", "vavasms.com")
.build();
Response response = client.newCall(request).execute();
var settings = {
"async": true,
"crossDomain": true,
"url": "https://vavasms.com/api/v1/otp/send",
"method": "POST",
"headers": {
"Content-Type": "application/x-www-form-urlencoded",
"Accept": "*/*",
"Host": "vavasms.com"
},
"data": {
"username": "your_email",
"password": "your_password",
"sender_id": "your_sender_id",
"phone": "your_receiver_phone_number"
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
var request = require("request");
var options = { method: 'POST',
url: 'https://vavasms.com/api/v1/otp/send',
headers:
{ 'Host': 'vavasms.com',
'Accept': '*/*',
'Content-Type': 'application/x-www-form-urlencoded' },
form:
{ username: 'your_email',
password: 'your_password',
sender_id: 'your_sender_id',
phone: 'your_receiver_phone_number' } };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var request = require("request");
var options = { method: 'POST',
url: 'https://vavasms.com/api/v1/otp/send',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
form:
{ username: 'your_email',
password: 'your_password',
sender_id: 'your_sender_id',
phone: 'your_receiver_phone_number' } };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
{
"code": 0,
"message": "OPERATION_SUCCES",
"data": {
"message_id": "OTP-20190621-2234509",
"description": "OTP envoyé avec succès"
}
}
{
"code": "901",
"status": "INVALID_CREDENTIALS",
"description": "Identifiant de connexion incorrect",
}
{
"code": "902",
"status": "INVALID_SENDER_ID",
"description": "Le sender_id n’existe pas",
}
{
"code": "903",
"status": "INVALID_PHONE_NUMBER",
"description": "Le format du numéro de téléphone est invalide",
}
Имя | Введите . | Описание |
---|---|---|
username | string | электронный адрес вашего аккаунта |
password | string | пароль вашей учётной записи |
otp | integer | Le code OTP à verifier. |
phone | string | Le numéro de téléphone qui a reçu le code OTP. Exemple d'envoi à un contact : 22509000001 |
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://vavasms.com/api/v1/otp/verify",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "username=your_email&password=your_password&sender_id=your_sender_id&phone=your_receiver_phone_number&otp=otp_received",
CURLOPT_HTTPHEADER => array(
"Accept: */*",
"Content-Type: application/x-www-form-urlencoded",
"Host: vavasms.com"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "username=your_email&password=your_password&sender_id=your_sender_id&phone=your_receiver_phone_number&otp=otp_received");
Request request = new Request.Builder()
.url("https://vavasms.com/api/v1/otp/verify")
.post(body)
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.addHeader("Accept", "*/*")
.addHeader("Host", "vavasms.com")
.build();
Response response = client.newCall(request).execute();
var settings = {
"async": true,
"crossDomain": true,
"url": "https://vavasms.com/api/v1/otp/verify",
"method": "POST",
"headers": {
"Content-Type": "application/x-www-form-urlencoded",
"Accept": "*/*",
"Host": "vavasms.com"
},
"data": {
"username": "your_email",
"password": "your_password",
"sender_id": "your_sender_id",
"phone": "your_receiver_phone_number",
"otp": "otp_received",
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
var request = require("request");
var options = { method: 'POST',
url: 'https://vavasms.com/api/v1/otp/verify',
headers:
{ 'Host': 'vavasms.com',
'Accept': '*/*',
'Content-Type': 'application/x-www-form-urlencoded' },
form:
{ username: 'your_email',
password: 'your_password',
sender_id: 'your_sender_id',
otp: 'otp_received',
phone: 'your_receiver_phone_number' } };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
var request = require("request");
var options = { method: 'POST',
url: 'https://vavasms.com/api/v1/otp/verify',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
form:
{ username: 'your_email',
password: 'your_password',
sender_id: 'your_sender_id',
otp: 'otp_received',
phone: 'your_receiver_phone_number' } };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
{
"code": 0,
"message": "OPERATION_SUCCES",
"data": {
"message_id": "OTP-20190621-2250698",
"status": "success"
}
}
{
"code": "901",
"status": "INVALID_CREDENTIALS",
"description": "Identifiant de connexion incorrect",
}
{
"code": "902",
"status": "INVALID_SENDER_ID",
"description": "Le sender_id n’existe pas",
}
{
"code": 913,
"message": "INVALID_OTP",
"description": "vavasms.INVALID_OTP",
"data": []
}