Подробную документацию по всему API можно скачать по этой ссылке. Если необходимой функции нет, можем ее добавить для Вас.
Наше API разработано для быстрой и легкой интеграции, позволяя вам начать отправку SMS и Viber всего за несколько минут.
Достигните своих клиентов в любой точке мира с нашим глобальным охватом и высокой доставляемостью.
Наше API способно обрабатывать любые объемы рассылок, обеспечивая быструю и надежную доставку сообщений.
Мы придаем большое значение безопасности ваших данных и конфиденциальности сообщений.
$url = 'https://cabinet.smsp.by/api/'; // URL сервиса
$func = 'msg_send_bulk'; // имя вызываемой функции
// Формируем пакет сообщений
$package = [
['recipient' => '39624456789', 'message' => 'Первое тестовое сообщение. Срочное, с подписью', 'sender' => 'MyCompany'],
['recipient' => '39624746363', 'message' => 'Второе тестовое сообщение. Обычное, с custom_id', 'custom_id' => '111']
];
// Инициализируем cURL
$ch = curl_init($url);
// Задаем параметры cURL
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => [
'r' => 'api/' . $func,
'user' => 'some@mail.com',
'apikey' => 'ABC123',
'messages' => json_encode($package)
],
CURLOPT_TIMEOUT => 15
]);
// Получаем ответ
$result = curl_exec($ch);
if ($result === false) {
echo 'Ошибка cURL: ' . curl_error($ch);
} else {
$result = json_decode($result);
echo $result->status . "\n";
echo print_r($result, true);
}
// Закрываем cURL
curl_close($ch);
import requests
import json
# Формируем пакет сообщений
package = [
{'recipient': '39624456789', 'message': 'Первое тестовое сообщение.', 'sender': 'MyCompany'},
{'recipient': '39624746363', 'message': 'Второе тестовое сообщение.', 'custom_id': '111'}
]
# Отправляем POST-запрос
response = requests.post(
'https://cabinet.smsp.by/api/',
data={
'r': 'api/msg_send_bulk',
'user': 'some@mail.com',
'apikey': 'ABC123',
'messages': json.dumps(package)
}
)
# Выводим результат
print(response.json())
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
// Message представляет структура для описания сообщения.
type Message struct {
Recipient string `json:"recipient"`
Message string `json:"message"`
Sender string `json:"sender,omitempty"`
CustomID string `json:"custom_id,omitempty"`
}
func main() {
url := "https://cabinet.smsp.by/api/"
funcName := "msg_send_bulk"
messages := []Message{
{Recipient: "39624456789", Message: "Первое тестовое сообщение.", Sender: "MyCompany"},
{Recipient: "39624746363", Message: "Второе тестовое сообщение.", CustomID: "111"}
}
jsonData, err := json.Marshal(messages)
if err != nil {
fmt.Printf("Ошибка при кодировании сообщений: %s\n", err)
return
}
// Формируем данные для отправки с запросом
reqData := bytes.NewBuffer([]byte(fmt.Sprintf("r=api/%s&user=some@mail.com&apikey=ABC123&messages=%s", funcName, jsonData)))
req, err := http.NewRequest("POST", url, reqData)
if err != nil {
fmt.Printf("Ошибка при создании запроса: %s\n", err)
return
}
req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
// Отправляем запрос
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Printf("Ошибка при выполнении запроса: %s\n", err)
return
}
defer resp.Body.Close()
// Читаем ответ
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Printf("Ошибка при чтении ответа: %s\n", err)
return
}
// Выводим результат
fmt.Println(string(body))
}
require 'net/http'
require 'json'
require 'uri'
url = URI('https://cabinet.smsp.by/api/')
# Формируем пакет сообщений
messages = [
{ recipient: '39624456789', message: 'Первое тестовое сообщение.', sender: 'MyCompany' },
{ recipient: '39624746363', message: 'Второе тестовое сообщение.', custom_id: '111' }
]
# Подготавливаем данные для POST-запроса
request_body = {
'r' => 'api/msg_send_bulk',
'user' => 'some@mail.com',
'apikey' => 'ABC123',
'messages' => messages.to_json
}
# Создаем запрос
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request.set_form_data(request_body)
# Отправляем запрос
begin
response = http.request(request)
puts response.body
rescue => e
puts "Произошла ошибка: #{e.message}"
end
const https = require('https');
const querystring = require('querystring');
// Формируем пакет сообщений
const messages = [
{ recipient: '39624456789', message: 'Первое тестовое сообщение.', sender: 'MyCompany' },
{ recipient: '39624746363', message: 'Второе тестовое сообщение.', custom_id: '111' }
];
// Подготавливаем данные для POST-запроса
const postData = querystring.stringify({
'r': 'api/msg_send_bulk',
'user': 'some@mail.com',
'apikey': 'ABC123',
'messages': JSON.stringify(messages)
});
// Опции для запроса
const options = {
hostname: 'cabinet.smsp.by',
port: 443,
path: '/api/',
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': Buffer.byteLength(postData)
}
};
// Создаем запрос
const req = https.request(options, (res) => {
console.log(`STATUS: ${res.statusCode}`);
console.log(`HEADERS: ${JSON.stringify(res.headers)}`);
res.setEncoding('utf8');
res.on('data', (chunk) => {
console.log(`BODY: ${chunk}`);
});
res.on('end', () => {
console.log('No more data in response.');
});
});
req.on('error', (e) => {
console.error(`problem with request: ${e.message}`);
});
// Пишем данные в тело запроса
req.write(postData);
req.end();
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace HttpPostExample
{
class Program
{
static readonly HttpClient client = new HttpClient();
static async Task Main(string[] args)
{
// Формируем пакет сообщений
var messages = new[]
{
new { recipient = "39624456789", message = "Первое тестовое сообщение.", sender = "MyCompany" },
new { recipient = "39624746363", message = "Второе тестовое сообщение.", custom_id = "111" }
};
// Подготавливаем данные для POST-запроса
var postData = new
{
r = "api/msg_send_bulk",
user = "some@mail.com",
apikey = "ABC123",
messages = messages
};
// Конвертируем данные в JSON
string json = JsonConvert.SerializeObject(postData);
StringContent content = new StringContent(json, Encoding.UTF8, "application/json");
try
{
// Отправляем POST-запрос
HttpResponseMessage response = await client.PostAsync("https://cabinet.smsp.by/api/", content);
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
// Выводим результат
Console.WriteLine(responseBody);
}
catch (HttpRequestException e)
{
// Обработка ошибок запроса
Console.WriteLine("\nException Caught!");
Console.WriteLine("Message :{0} ", e.Message);
}
}
}
}
Данное соглашение об обработке персональных данных разработано в соответствии с законодательством Республики Беларусь.
Все лица заполнившие сведения, составляющие персональные данные на данном сайте, а также разместившие иную информацию обозначенными действиями подтверждают свое согласие на обработку персональных данных и их передачу оператору обработки персональных данных.
Под персональными данными Гражданина понимается нижеуказанная информация: общая информация (Имя, телефон и адрес электронной почты); посетители сайта направляют свои персональные данные для получения информации.
Гражданин, принимая настоящее Соглашение, выражают свою заинтересованность и полное согласие, что обработка их персональных данных может включать в себя следующие действия: сбор, систематизацию, накопление, хранение, уточнение (обновление, изменение), использование, уничтожение.
Гражданин гарантирует: информация, им предоставленная, является полной, точной и достоверной; при предоставлении информации не нарушается действующее законодательство Республики Беларусь, законные права и интересы третьих лиц; вся предоставленная информация заполнена Гражданина в отношении себя лично.