Введение


В данной документации будут представлены инструкции по быстрой интеграции услуг SMS в различные решения с использованием HTTP API.

Наш API основан на стандартах REST. Для взаимодействия с нашим API можно использовать любой клиент HTTP на любом языке программирования.

Документация интуитивно понятна и написана с учетом пожеланий разработчиков.

Предпосылка


Для того, чтобы использовать наш API, вам понадобится некоторая информация для входа в систему. Они используются не только для API, но и для других сервисов, таких как ваш клиентский раздел.

Базовый URL-адрес


Хотя вы можете использовать протокол HTTP, мы настоятельно рекомендуем отправлять все ваши запросы в SMS API через HTTPS, чтобы трафик был зашифрован и была обеспечена конфиденциальность.
URL de base :

Формат номера телефона


Мы используем форматирование цифр 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 в вашей учетной записи.

Отправка сообщения

POST : https://vavasms.com/api/v1/text/single

Параметры

Имя Введите . Описание
username string электронный адрес вашего аккаунта
password string пароль вашей учётной записи
sender_id string Длина буквенно-цифрового sender_id должна быть <br> от 3 до 11 символов (пример: <код>CompanyName</код>).
phone string Номер(ы) назначения сообщения. Разделенные запятыми, если вы хотите отправить на несколько номеров.
Пример отправки контакту : 22509000001
Пример отправки на несколько контактов: 22509000001,22509000002
message string Текст сообщения, которое будет отправлено.

Выборочный запрос
                                    
$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",
}


Проверка состояния отправленного сообщения

POST : https://vavasms.com/api/v1/check/status

Параметры

Имя Введите . Описание
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": []
}

Прием сообщений


URL-адрес уведомления

Ссылка на уведомление - это ссылка, вызываемая платформой для уведомления о получении SMS и его содержании. Этот URL должен быть доступен для получения HTTP-запросов типа POST.
Вы должны настроить URL-адрес уведомления в вашем бэк-офисе.

Параметры

Имя Введите . Описание
message_id string идентификатор сообщения
form string Отправитель SMS
content string содержание сообщения
sms_date string дата получения SMS

URL de Notification

POST : https://{your_url_notification.com}

WBS код: Отправить и проверить


Отправить WBS код

POST : https://vavasms.com/api/v1/otp/send

Параметры

Имя Введите . Описание
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",
}


Verifier et valider un code OTP

POST : https://vavasms.com/api/v1/otp/verify

Параметры

Имя Введите . Описание
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": []
}