API SMS-шлюза SMSPILOT.RU

SMS-шлюз SMSPILOT.RU - это сервер отправки SMS с помощью HTTP-запросов. Вам не нужно покупать gsm-модем. Ваш программист может добавить отправку SMS на сайт, интернет-магазин, Android-приложение или в программу для Windows.

API-ключ

API-ключ - это 64-символьная строка, которая служит для авторизации внешних приложений.
API-ключ можно скопировать из настроек: Личный кабинетНастройкиAPI
Для тестирования можно использовать ключ эмулятор (реальной отправки SMS не происходит).

$test_apikey = "XXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZXXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZ";

API-1 Отправка/статус/баланс

API-1 позволяет: отправить SMS, разослать SMS на несколько номеров за один запрос, отправлять длинные SMS, получить статус сообщения, узнать баланс, указать транслит/кодировку, указать дату/время отправки и время жизни SMS, указать callback-url для получения статуса, привязать реферала, указать эл. почту для отладки, получить список входящих SMS. Ответ в текстовом формате, XML или JSON.

PHP
<?php // отправка SMS через шлюз SMSPILOT.RU на чистом PHP
$phone = '79037672215'; // номер телефона в международном формате
$text = 'проверка'; // текст сообщения
$sender = 'INFORM'; //  имя отправителя из списка https://www.smspilot.ru/my-sender.php
// !!! Замените API-ключ на свой https://www.smspilot.ru/my-settings.php#api
$apikey = 'XXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZXXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZ';

$url = 'http://smspilot.ru/api.php?send='.urlencode( $text ).'&to='.urlencode( $phone ).'&from='.$from.'&apikey='.$apikey.'&format=json';

$json = file_get_contents( $url );
echo $json.'<br/>';
// {"send":[{"server_id":"10000","phone":"79037672215","price":"1.68","status":"0"}],"balance":"11908.50","cost":"1.68"}
$j = json_decode( $json, true );
echo 'id='.$j['send'][0]['server_id'].'<br/>';
// id=10000
<?php // используем библиотеку PHP для отправки SMS
include('smspilot.php');
sms('79081231212','Привет Мир!');
sms('79131231212','Ваш заказ отправлен!','example.com');
sms('79511231212,79511231213','Ваш сын получил 2 за поведение (отправлял смски во время урока)!','School');

— PHP разработчикам рекомендуем библиотеку PHP для отправки SMS или PHP класс для отправки SMS с примерами 2013-11-18

— Попробуйте МАСТЕР КОДА/URL, а также ещё примеры на GitHub

C# .Net
// Отправка SMS на чистом C#
using System;
using System.Net;
using System.IO;
using System.Web;

namespace smspilot
{
	class Program
	{
		public static void Main(string[] args)
		{
			string send = "Привет мир!"; // текст SMS
			string to = "79876543210"; // номер телефона в международном формате
			//  имя отправителя из списка https://www.smspilot.ru/my-sender.php
			string _from = "";
			// !!! Замените API-ключ на свой https://www.smspilot.ru/my-settings.php#api
			string apikey = "XXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZXXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZ";
			string url = "http://smspilot.ru/api.php" +
				"?send="+Uri.EscapeUriString( send ) +
				"&to=" + to +
				"&from=" + _from +
				"&apikey=" + apikey; // +
				//"&charset=windows-1251";

			HttpWebRequest myHttpWebRequest =
			  (HttpWebRequest)HttpWebRequest.Create( url );

			// выполняем запрос
			HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();

			// выводим результат в консоль
			StreamReader myStreamReader =
			  new StreamReader(myHttpWebResponse.GetResponseStream());
			Console.WriteLine(myStreamReader.ReadToEnd());
			Console.WriteLine("Нажмите любую клавишу для завершения.");
			Console.ReadKey();

		}
	}
}
Python
# -*- coding: utf-8 -*-
# Отправка SMS на чистом Python через sms-шлюз SMSPILOT.RU
import urllib
import json

phone = '79037672215' # номер телефона в международном формате
text = 'проверка'; # текст сообщения
sender = 'INFORM'; #  имя отправителя из списка https://www.smspilot.ru/my-sender.php
# !!! Замените API-ключ на свой https://www.smspilot.ru/my-settings.php#api
apikey = 'XXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZXXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZ';

url = "http://smspilot.ru/api.php?send=%s&to=%s&from=%s&apikey=%s&format=json" % (text, phone, sender, apikey )

j = json.loads(urllib.urlopen(url).read())

if 'error' in j:
	print 'Ошибка: %s' % j.description_ru
else:
	print j
	# {u'balance': u'11908.50', u'cost': u'1.68', u'send': [{u'status': u'0', u'phone': u'79037672215', u'server_id': u'10000', u'price': u'1.68'}]}
	print 'ID: %s' % j['send'][0]['server_id']
	# ID: 10000

— Спасибо Stanislav Sokolov (ratso) за Python класс на гитхабе https://github.com/ratso/pySMSPilot

Ruby
require 'net/http'
require 'json'
uri = URI('http://smspilot.ru/api.php')
params = {
	:send => 'проверка', # текст сообщения
	:to => '79087964781', # номер телефона в международном формате
	# !!! Замените API-ключ на свой https://www.smspilot.ru/my-settings.php#api
	:apikey => 'XXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZXXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZ',
	:format => 'json'
}
uri.query = URI.encode_www_form(params)

res = Net::HTTP.get_response(uri)
j = JSON.parse( res.body )
puts j
if ( j['error'] )
	puts j['error']['description_ru']
else
	puts j['send'][0]['server_id'] # id сообщения
end

— Спасибо разработчику Armen P. (edg3r) за Ruby пакет на гитхабе https://github.com/edg3r/smspilot

Node.js
// отправка SMS на чистой Node
var http                = require('http');
var querystring         = require('querystring');

var phone = '79037672215'; // номер телефона
var text = 'проверка'; // текст
var from = ''; // имя отправителя из списка https://www.smspilot.ru/my-sender.php
// !!! Замените API-ключ на свой https://www.smspilot.ru/my-settings.php#api
var apikey = 'XXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZXXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZ';
var uri = [
	'http://smspilot.ru/api.php',
	'?send=', querystring.escape( text ),
	'&to=', phone,
	'&from=', from,
	'&apikey=', apikey,
	'&format=json'
].join('');

http.get(uri, function(res) {
	var str = ''
	res.on('data', function (chunk) {
		str += chunk;
	});

	res.on('end', function () {
		console.log('ответ сервера: '+str);
		var parsedData = JSON.parse(str);
		console.log('server_id='+parsedData.send[0].server_id);
	});

}).on('error', function(err) {
	console.log('ошибка сети '+err);
});

— Node.js разработчикм могут посмотреть устаревший модуль от corpix-а здесь SMS на Node.js

Delphi
program delphi7_example01;
// Отправка SMS на Delphi через SMS-шлюз SMSPILOT.RU
// File - New - Other - Console Application

{$APPTYPE CONSOLE}

uses
  IdHTTP;

var phone, text, sender, apikey, url, response, id: string;
var pos_13,pos_comma: integer;
var http: TIdHTTP;
begin
  http := TIdHTTP.Create(nil);
  phone := '79037672215'; // номер телефона в междлународном формате
  text := 'проверка'; // текст сообщения
  sender := '';  // имя отправителя из списка https://www.smspilot.ru/my-sender.php
  // !!! Замените API-ключ на свой https://www.smspilot.ru/my-settings.php#api
  apikey := 'XXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZXXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZ';

  url := 'http://www.smspilot.ru/api.php';
  url := url + '?send='    + http.URL.ParamsEncode( text );
  url := url + '&to='     + http.URL.ParamsEncode( phone );
  url := url + '&from='   + http.URL.ParamsEncode( sender );
  url := url + '&apikey=' + http.URL.ParamsEncode( apikey );
  url := url + '&charset=windows-1251';

  writeln( url );

  response := http.Get( url );
{
SUCCESS=SMS SENT 0.89/320.50
4566,79037672215,0.60,0
}
  if pos('ERROR', response ) = 1 then
    writeln( response )
  else begin
    pos_13 := pos(#13, response );
    pos_comma := pos(',', response);
    id := copy( response, pos_13, pos_comma - pos_13-1 );
    writeln( 'id=' + id ); // получили ID сообщения
  end;

  writeln('Press [Enter]');
  readln;
end.

— Delphi разработчики могут скачать проект SMS на Delphi 7, а также SMS на Delphi XE

VBA (Excel)
Sub Кнопка1_Щелчок()

If SMS("79087964781", "Привет") Then MsgBox ("Сообщение отправлено") Else MsgBox SMSError()

End Sub

' Собственнно функция для отправки SMS http://www.smspilot.ru/apikey.php
Public Function SMS(Phone As String, Text As String) As Boolean

  SMS = False

  Set HttpReq = CreateObject("WinHttp.WinHttpRequest.5.1")

  URL = "http://smspilot.ru/api.php"
  URL = URL & "?send=" & URLEncode(Text)
  URL = URL & "&to=" & Phone

  ' Своя подпись
  ' URL = URL & "&from="

  ' (!) Замените на свой API-ключ https://www.smspilot.ru/my-settings.php#api
  URL = URL & "&apikey=XXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZXXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZ"

  URL = URL & "&charset=windows-1251"

  If HttpReq.Open("GET", URL, False) <> 0 Then
    SMSError ("Connection error")
    Exit Function
  End If
  If HttpReq.Send() <> 0 Then
    SMSError ("Open URL " & URL & " error")
    Exit Function
  End If

  If Left$(HttpReq.responseText, 7) <> "SUCCESS" Then
    SMSError (HttpReq.responseText)
    Exit Function
  End If

  SMS = True
  SMSError ("")

End Function


' Функция для хранения последней ошибки
Public Function SMSError(Optional SetErr As String = "") As String
    Static Err
    If SetErr <> "" Then Err = SetErr
    SMSError = Err
End Function


' Кодирование URL параметров http://ru.wikipedia.org/wiki/URL
Public Function URLEncode(StringVal As String, Optional SpaceAsPlus As Boolean = False) As String

  Dim StringLen As Long: StringLen = Len(StringVal)

  If StringLen > 0 Then
    ReDim result(StringLen) As String
    Dim i As Long, CharCode As Integer
    Dim Char As String, Space As String

    If SpaceAsPlus Then Space = "+" Else Space = "%20"

    For i = 1 To StringLen
      Char = Mid$(StringVal, i, 1)
      CharCode = Asc(Char)
      Select Case CharCode
        Case 97 To 122, 65 To 90, 48 To 57, 45, 46, 95, 126
          result(i) = Char
        Case 32
          result(i) = Space
        Case 0 To 15
          result(i) = "%0" & Hex(CharCode)
        Case Else
          result(i) = "%" & Hex(CharCode)
      End Select
    Next i
    URLEncode = Join(result, "")
  End If
End Function
1C
//*******************************************************
Функция UTF8(Стр)
	Длина=СтрДлина(Стр);
	Итог="";
	Для Н=1 По Длина Цикл
		Знак=Сред(Стр,Н,1);
		Код=КодСимв(Знак);
		Если Код<128 Тогда
			Итог=Итог+Знак;
		Иначе
			Если (Код>=КодСимв("А"))И(Код<=КодСимв("п")) Тогда
				Итог=Итог+Симв(208)+Симв(144+Код-КодСимв("А"));
			ИначеЕсли (Код>=КодСимв("р"))И(Код<=КодСимв("я")) Тогда
				Итог=Итог+Симв(209)+Симв(128+Код-КодСимв("р"));
			ИначеЕсли (Знак="ё") Тогда
				Итог=Итог+Симв(209)+Симв(145);
			ИначеЕсли (Знак="Ё") Тогда
				Итог=Итог+Симв(208)+Симв(129);
			КонецЕсли;
		КонецЕсли;
	КонецЦикла;
	Возврат Итог;
КонецФункции
//*******************************************************
Процедура ОтправитьСМС(Телефон,ТекстСМС)
	//Телефон в формате +79ххххххххх
	// (!) Замените на свой API-ключ https://www.smspilot.ru/my-settings.php#api
	API = "XXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZXXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZ";

	Если ЗагрузитьВнешнююКомпоненту("v7plus.dll")=0 Тогда
		Сообщить("Не удалось обнаружить компоненту V7Plus.dll!");
	КонецЕсли;

	Попытка
		Соединение = СоздатьОбъект("Addin.V7HttpReader");
		Соединение.КоличествоПопытокАвторизации = 1;
	Исключение
		Сообщить("Не удалось создать объект Addin.V7HttpReader!");
	КонецПопытки;
	Адрес = "http://smspilot.ru/api.php?send=";

	стр="";

	СМС = UTF8(ТекстСМС);

	Адрес = Адрес+СокрЛП(СМС)+"&to="+Прав(СокрЛП(Телефон),11)+"&apikey="+API;
	Попытка
		Соединение.ПолучитьКакСтроку(Адрес, Стр);
		Сообщить("-+-============== Отправка СМС ================-+-");
		Успешно = "SUCCESS=SMS SENT";
		Если лев(стр,16)=Успешно Тогда
			Сообщить("Сообщение на номер: "+Телефон);
			Сообщить("С текстом: "+ТекстСМС);

			Тхт=СокрЛП(СтрЗаменить(Стр,Успешно,""));
			ЦенаСМС = Лев(Тхт,Найти(Тхт,"/")-1);
			Тхт=СтрЗаменить(Тхт,ЦенаСМС+"/","");
			ОстатокНаСчете = Лев(Тхт,Найти(Тхт,Симв(13))-1);

			Сообщить("Успешно отправлено! Цена за СМС = "+ЦенаСМС+" руб.; Остаток на счету = "+ОстатокНаСчете+" руб.");
		КонецЕсли;
	Исключение
		Сообщить("Неудачная попытка отправки СМС.");
	КонецПопытки;
КонецПроцедуры
Perl
#!/usr/bin/perl -w
use Output;
use Socket;
$send = "Hello World!";  # текст сообщения
$to = "79087964781";  # номер телефона в международном формате
# !!! Замените API-ключ на свой https://www.smspilot.ru/my-settings.php#api
$apikey = "XXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZXXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZ";
$host="smspilot.ru";
$port="80";
socket(SOCK, PF_INET, SOCK_STREAM, getprotobyname('tcp'));
$iaddr = inet_aton($host);
$paddr = sockaddr_in($port, $iaddr);
connect(SOCK, $paddr);
$send =~ s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg;
send (SOCK, "GET /api.php?send=$send&to=$to&apikey=$apikey HTTP/1.0\nHOST:$host\n\n", 0);
@data=;
close(SOCK);
print $data;

— Perl разработчикам рекомендуем модуль Net::SMS::SMSPilot (Даниил Путилин, независимый разработчик)

Bash

Скрипт sendsms.sh для отправки SMS из консоли Linux (CentOS,Ubuntu,Debian,Fedora...)

#!/bin/bash
# Отправка SMS через шлюз SMSPILOT.RU на Bash
#
# ./sendsms.sh "test" "79087964781"
#
text=$1
phone=$2

# (!!!) Замените XXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZXXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZ
# на свой API-ключ: https://www.smspilot.ru/my-settings.php#api

apikey=XXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZXXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZ

curl -v --data-urlencode send="$text" --data-urlencode to="$phone" --data apikey="$apikey" http://smspilot.ru/api.php

# альтернативный вариант это запрос через wget, замените XYZ на свой API-ключ
# wget -q http://smspilot.ru/api.php?send=Hello&to=79087964781&apikey=XYZ"
Консоль Windows

Можно использовать консольную программу для отправки SMS (1С,C#,Delphi,VB...) или smspilot.vbs скприт для оболочки WSH VBS:

' SMS через SMSPILOT.RU
Phone = "79087964781"
' Для поддержки кириллицы нужен очень длинный скрипт, поэтому используем транслит
Text = "Otpravka SMS cherez SMSPILOT WSH VBS"
APIKEY = "ЗДЕСЬ НУЖНО ПОДСТАВИТЬ СВОЙ API-ключ https://www.smspilot.ru/settings.php#api"

SMS = False

Set HttpReq = CreateObject("WinHttp.WinHttpRequest.5.1")

URL = "http://smspilot.ru/api.php"
URL = URL & "?send=" & Replace(Text," ", "%20")
URL = URL & "&to=" & Phone

' Своя подпись
' URL = URL & "&from=smspilot"

' (!) Замените на свой API-ключ
URL = URL & "&apikey=" & APIKEY

If HttpReq.Open("GET", URL, False) <> 0 Then
  wscript.echo "Connection error"
ElseIf HttpReq.Send() <> 0 Then
  wscript.echo "Open URL " & URL & " error"
Else
  wscript.echo HttpReq.responseText
End If

API-2 Продвинутые возможности

API-2 сложнее, но интереснее, т.к. позволяет в одном пакете отправлять разные сообщения, поддерживаются форматы XML или JSON, поддерживается client_id, режим отладки, проверка статуса, выборка входящих, привязка партнера.

<?php // Отправка нескольких SMS через SMSPILOT.RU (API-2)
// !!! Замените API-ключ на свой https://www.smspilot.ru/my-settings.php#api
$apikey = 'XXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZXXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZ';

$send = array(
	'apikey' => $apikey,
	'send' => array(
		array('from' => 'smspilot.ru', 'to' => '79087964781', 'text' => "Перенос\nстроки"),
		array('from' => 'smspilot.ru', 'to' => '79131437355', 'text' => 'Отложенная отправка', 'send_datetime' => time() + 24 * 3600),
		array('from' => 'ОШИБКА', 'to' => '791122233322', 'text' => 'Неправильное имя отправителя')
	)
);

$result = file_get_contents('http://smspilot.ru/api2.php', false, stream_context_create(array(
	'http' => array(
		'method' => 'POST',
		'header' => "Content-Type: application/json\r\n",
		'content' => json_encode( $send ),
	),
)));


echo '<pre>request data --
'.print_r( $send, true ).'

raw response --
'.$result.'

json_decode --
'.print_r( json_decode( $result ), true ).'

</pre>';

API Приём входящих SMS

  1. Сообщения принимаются на номер 79037672215
  2. Текст должен начинаться с номера договора, например 123 test inbound
  3. Наш сервер отправляет POST-уведомления на заданный в настройках адрес ($_POST['phone'] - телефон, $_POST['message'] - текст)
  4. Извлечь список входящих можно запросом http://smspilot.ru/api.php?inbound=all&apikey=XYZ (см. документацию к API-1)
  5. Стоимость обработки - 0.29 руб.

Подробное описание сервиса приём входящих SMS

API имена отправителя

Можно отправить заявку на регистрацию имени отправителя по API.

http://smspilot.ru/api.php?add_sender=Sender&description=Description&callback=http://example.com/t.php&format=text&test=0&apikey=API-ключ

  • add_sender - правильное имя отправителя
  • description - название проекта, адрес сайта, примеры сообщений (не забудьте urlencode!)
  • callback - URL скрипта (не забудьте urlencode!) для уведомления о результатах проверки, будет вызван с параметрами:
    • $_POST['sender'] - имя отправителя
    • $_POST['id'] - код отправителя
    • $_POST['status'] - статус проверки: 1 - Имя принято, -1 - администратор отклонил заявку
    • Скрипт должен вернуть ОК
    • Тестирование callback-скрипта
  • callback - может быть адресом эл. почты
  • format - формат возвращаемого сообщения text, xml, json
  • test - 0 - реальная регистрация, 1 - отладка
  • возращается ID добавленного имени
    SUCCESS=12345
    <id>12345</id> - при &format=xml
    {"id": 12345} - при &format=json
    или ошибка
    ERROR=123: ERROR TEXT
    <error><code>123</code><description>ERROR TEXT</description><description_ru>ТЕКСТ ОШИБКИ</description_ru></error> - при &format=xml {"error": {"code": "123", "description": "ERROR TEXT", "description_ru": "ТЕКСТ ОШИБКИ"}}'; - при &format=json
  • ошибки
    640 Введите имя отправителя
    641 Неправильное имя отправителя
    642 Уже добавленное имя отправителя
    643 Введите название проекта, сайт, примеры сообщений
    644 Нужен callback (URL или email)
    645 Неправильный callback (URL или email)

Как получить список отправителей?

Метод 1: См. метод "Информация о пользователе" в документации

Метод 2: list=senders

http://smspilot.ru/api.php?list=senders&format=json&apikey=API-ключ

  • list=senders - показать список отправителей
  • если format=json
    {"senders": [
    	{"id":"123","sender":"MyCompany","status":"1"},
    	{"id":"124","sender":"Err-999","status":"-1"}
    ]}
    
  • format=xml
    <senders>
    <s id="123" sender="MyCompany" status="1" />
    <s id="124" sender="INF-Err" status="-1" />
    </senders>
    
  • format=text (по умолчанию)
    123,MyCompany,1
    124,INF-Err,-1
    
  • status: 1 - заявка принята, -1 - заявка отклонена, 0 - заявка ещё рассматривается

API антиспам-шаблоны

Шаблоны нужны реселлерам, чтобы в атоматическом режиме отправлять шаблоны SMS на проверку, связанную с запретом на рекламу без договора.

http://smspilot.ru/api.php?add_template=template_text&callback=http://example.com/t.php&format=text&apikey=API-ключ

  • add_template - текст шаблона с подчеркиваниями на месте подстановки
  • callback - URL для уведомления о результатах проверки
    • $_POST['type'] - тип
      -3 - реклама с подстановкой строк
      -2 - реклама с подстановкой чисел/дат
      -1 - реклама 1 - уведомление
      2 - уведомление с подстановкой чисел/дат
      3 - уведомление с подстановкой строк
    • $_POST['status'] - статус
      -2 - запрещено
      -1 - есть вопросы (ответить в ЛК)
      2 - принят
    • Скрипт должен вернуть ОК
  • callback - может быть адресом эл. почты
  • format - формат возвращаемого сообщения text, xml, json
  • возращается ID добавленного шаблона
    SUCCESS=12345
    <id>12345</id> - при &format=xml
    {"id": 12345} - при &format=json
    или ошибка
    ERROR=123: ERROR TEXT
    <error><code>123</code><description>ERROR TEXT</description><description_ru>ТЕКСТ ОШИБКИ</description_ru></error> - при &format=xml {"error": {"code": "123", "description": "ERROR TEXT", "description_ru": "ТЕКСТ ОШИБКИ"}}'; - при &format=json
    ошибки
    630 Пустой текст шаблона
    631 Слишком длинный текст шаблона
    632 Такой уже есть
    633 Не указан callback
    634 callback не правильный

Email2SMS

Используйте обычную электронную почту для отправки SMS.

Отправка SMS на телефон указанный при регистрации:

От кого: не важно
Кому: 79999999999@smspilot.ru
Тема: не важно Текст: проверка

79999999999 - замените на телефон указанный при регистрации на сайте smspilot.ru
текст проверка замените на свой

Используем тему письма для передачи параметров отправки SMS

От кого: не важно
Кому: email2sms@smspilot.ru
Тема: to=79999999999&apikey=XXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZXXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZ
Текст: проверка

79999999999 - замените на номер получателя, а строку
XXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZXXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZ замените на свой API-ключ
текст проверка замените на свой

В теме письма можно указать и другие параметры, см. документацию к API-1, в том числе логин и пароль вместо API-ключа

Ошибки

КодТекст (EN)Текст (RU)
0SuccessНет ошибок
10INPUT data is requiredНет входных данных
11Unknown INPUT formatНеизвестный формат
12XML structure is invalidОшибка XML
13JSON structure is invalidОшибка JSON
14Unknown COMMANDНеизвестная команда
100APIKEY is requiredНе указан API-ключ (параметр apikey)
101APIKEY is invalidНеправильный API-ключ (см. настройки API в личном кабинете)
102APIKEY not foundТакой API-ключ не найден в системе
105User is blocked (balance)Пользователь блокирован из-за низкого баланса
106User is blockedПользователь блокирован за спам/ошибки
108Phone is requiredНе указан телефон
110System errorСистемная ошибка
111Invalid phoneНеправильный номер телефона
112No moneyНет денег
113IP restrictionНедопустимый IP
115Invalid senderНеправильный отправитель
200Sender (from) is requiredНе указан отправитель
201Sender (from) is invalidНеправильный формат отправителя
204Sender (from) unregisteredОтправитель (from) не зарегистрирован
212Phone is depricatedПолучатель запретил получение SMS
213Unsupported operatorОператор не поддерживается
214Phone is dublicatedДубликат получателя
215Invalid phone lengthНеправильная длина номера телефона
220TEXT is requiredВведите текст сообщения
221TEXT too longТекст сообщения слишком длинный
223Spam protectionЗащита от спама (добавьте шаблон)
224Spam protection (INFORM)Защита от спама (не используйте имя INFORM)
225Spam protection (MTS,Megafon)Защита от спама (загрузите гарантийные письма для МТС и Мегафона)
230ID is invalidID неправильный
231PACKET_ID is invalidPACKET_ID неправильный
240Invalid SMS listНеправильный список SMS
243Loop protectionЗащита от дубликатов
247FilterФильтры
248CyrLat filterКириллица и латиница в одном слове
250Invalid SEND_DATETIMEНеправильное время отправки
260Invalid callback URLНеправильный адрес скрипта
270Invalid ttlНеправильное время жизни сообщения
300SMS server_id is requiredserver_id не указан
301SMS server_id is invalidserver_id неправильный
302SMS server_id not foundSMS не найдена
303Invalid IDs listОшибка запроса
304SERVER_PACKET_ID is invalidserver_packet_id неправильный
400User not foundПользователь не найден
401Invalid login detailsНе введен логин или пароль
500Invalid -since- format YYYY-MM-DD HH:II:SSНеправильный формат параметра -since- YYYY-MM-DD HH:II:SS
600ExpiredПросрочено
601UndeliverableНевозможно доставить
602Destination unreachableНомер недоступен
603RejectedОтказано оператором
630TEMPLATE is requiredВведите шаблон
631TEMPLATE too longШаблон слишком длинный
632TEMPLATE exitsТакой шаблон уже есть
633TEMPLATE callback is requiredНужен callback
634TEMPLATE callback is invalidНеправильный callback
640Sender is requiredВведите имя отправителя
641Sender is invalidНеправильное имя отправителя
642Sender is addedУже добавленное имя отправителя
643Description is requiredВведите название проекта, сайт, примеры сообщений
644Callback is required (URL or email)Нужен callback (URL или email)
645Callback is invalid (URL or email)Неправильный callback (URL или email)

Что дальше?