Api для отправки sms

Если у вас есть необходимость в отправке СМС сообщения из вашей программы, то вы можете отправить следующие запросы на наш сервер.

Примеры запросов

Отправить один текст на один или несколько номеров, указанных через запятую:

Отправить разный текст на разные номера:

Пример ответа

При включенном параметре json=1:

Параметры

Параметр Обязательный Описание
to да Номер телефона получателя (либо несколько номеров, через запятую — до 100 штук за один запрос). Вы также можете указать номера в виде массива to[номер получателя]=текст&to[номер получателя]=текст. Если вы указываете несколько номеров и один из них указан неверно, то вместо идентификатора сообщения в выдаче вы получите трехзначный код ошибки. Если вы отправляете более, чем на 10 номеров за раз, то рекомендуем параметр to передавать в теле запроса методом POST, а не в адресной строке.
msg да Текст сообщения в кодировке UTF-8
json=1 рекомендуется Данный параметр вызывает ответ сервера в формате JSON, в котором предоставлено больше данных об отправленных сообщениях
from Имя отправителя (должно быть согласовано с администрацией). Если не заполнено, в качестве отправителя будет указан ваш отправитель по умолчанию.
time Если вам нужна отложенная отправка, то укажите время отправки. Указывается в формате UNIX TIME (пример: 1280307978). Должно быть не больше 2 месяцев с момента подачи запроса. Если время меньше текущего времени, сообщение отправляется моментально.
ttl Срок жизни сообщения в минутах (от 1 до 1440). Если сообщение не доставится за этот период (к примеру, телефон абонента не в сети), то оно будет уничтожено оператором. Если используется этот параметр, то стоимость недоставленного сообщения не компенсируется.
daytime=1 Учитывает часовой пояс получателя. Если у получателя сейчас ночь (уже наступило время 20:00), то откладывает отправку до 10 часов утра. Если указан этот параметр, то параметр time игнорируется.
translit=1 Переводит все русские символы в латинские.
test=1 Имитирует отправку сообщения для тестирования ваших программ на правильность обработки ответов сервера. При этом само сообщение не отправляется и баланс не расходуется.
partner_ > Если вы участвуете в партнерской программе, укажите этот параметр в запросе и получайте проценты от стоимости отправленных сообщений. Ваш уникальный идентификатор — — уже указан в параметре.

Авторизация осуществляется при помощи:

Параметр Обязательный Описание
api_id да Авторизацию по вашему уникальному ключу (api_id). Этот способ авторизации — самый удобный и приведен в примере выше. Ваш api_id вы можете найти на главной странице личного кабинета: [зарегистрируйтесь, чтобы получить api_id]
Параметр Обязательный Описание
login да Ваш номер телефона (логин): 79255070602
password да Пароль (безопасность гарантируется при использовании https)

Отправка СМС из PHP (со включенным модулем curl)

Мы настоятельно рекомендуем использовать нашу библиотеку под PHP. Данный код указан только в качестве простого примера.

Отправка СМС из PHP без curl

Мы настоятельно рекомендуем использовать нашу библиотеку под PHP. Данный код указан только в качестве простого примера.

Отправка СМС из Perl

Отправка СМС из командной строки bash

Если вы используете curl под Windows. То знак перед знаками ? и & необходимо убрать.

Значения кодов

Код Значение
-1 Сообщение не найдено
100 Запрос выполнен или сообщение находится в нашей очереди
101 Сообщение передается оператору
102 Сообщение отправлено (в пути)
103 Сообщение доставлено
104 Не может быть доставлено: время жизни истекло
105 Не может быть доставлено: удалено оператором
106 Не может быть доставлено: сбой в телефоне
107 Не может быть доставлено: неизвестная причина
108 Не может быть доставлено: отклонено
110 Сообщение прочитано
150 Не может быть доставлено: не найден маршрут на данный номер
200 Неправильный api_id
201 Не хватает средств на лицевом счету
202 Неправильно указан номер телефона получателя, либо на него нет маршрута
203 Нет текста сообщения
204 Имя отправителя не согласовано с администрацией
205 Сообщение слишком длинное (превышает 8 СМС)
206 Будет превышен или уже превышен дневной лимит на отправку сообщений
207 На этот номер нет маршрута для доставки сообщений
208 Параметр time указан неправильно
209 Вы добавили этот номер (или один из номеров) в стоп-лист
210 Используется GET, где необходимо использовать POST
211 Метод не найден
212 Текст сообщения необходимо передать в кодировке UTF-8 (вы передали в другой кодировке)
213 Указано более 100 номеров в списке получателей
220 Сервис временно недоступен, попробуйте чуть позже
230 Превышен общий лимит количества сообщений на этот номер в день
231 Превышен лимит одинаковых сообщений на этот номер в минуту
232 Превышен лимит одинаковых сообщений на этот номер в день
233 Превышен лимит отправки повторных сообщений с кодом на этот номер за короткий промежуток времени ("защита от мошенников", можно отключить в разделе "Настройки")
300 Неправильный token (возможно истек срок действия, либо ваш IP изменился)
301 Неправильный api_id, либо логин/пароль
302 Пользователь авторизован, но аккаунт не подтвержден (пользователь не ввел код, присланный в регистрационной смс)
303 Код подтверждения неверен
304 Отправлено слишком много кодов подтверждения. Пожалуйста, повторите запрос позднее
305 Слишком много неверных вводов кода, повторите попытку позднее
500 Ошибка на сервере. Повторите запрос.
901 Callback: URL неверный (не начинается на http://)
902 Callback: Обработчик не найден (возможно был удален ранее)

Последнее обновление: 11 Мая 2019 в 09:36

API позволяет рассылать сообщения через ваши проекты и сервисы по протоколам HTTP/HTTPS, SMTP и SMPP. Готовые библиотеки на разных языках программирования подключаются к вашему проекту и помогают отправлять сообщения из любого места с помощью одной команды.

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

&mes=
Для получения стоимости SMS необходимо вызвать методом GET или POST адрес: https://smsc.ru/sys/send.php?login= &psw=

&mes= &cost=1
Описание параметров, передаваемых Серверу :

Параметр Значение
login

Логин Клиента.
psw

Пароль Клиента (можно добавить или изменить на данной странице).
phones

Номер или разделенный запятой или точкой с запятой список номеров мобильных телефонов в международном формате, на которые отправляется сообщение. Номера могут передаваться без знака "+". Если номер передан без знака "+", то он может быть исправлен автоматическим форматированием и приведен к правильному международному формату. Таким образом, некоторые ошибки при вводе номеров телефонов могут быть исправлены автоматически. Для отключения автоисправления передайте номер со знаком "+".
Также можно отправлять сообщение на группу номеров, указав специальный код "G ". Сообщение будет отправлено на все номера, принадлежащие данной группе. Для e-mail сообщения передается список e-mail адресов получателей.
mes

Текст отправляемого сообщения. Максимальный размер – 1000 символов. Сообщение при необходимости будет разбито на несколько SMS, отправленных абоненту и оплаченных по отдельности. Размер одного SMS – 160 символов в латинице или 70 символов в кириллице. При разбивке сообщения на несколько SMS в каждую часть добавляется заголовок для объединения частей в одно сообщение на телефоне получателя, и максимальная длина становится 67 для кириллицы и 153 для латинских букв. В текст сообщения можно добавлять комментарии, предназначенные для просмотра отправителем истории в личном кабинете.
Дополнительные параметры
id

Идентификатор сообщения. Назначается Клиентом. Служит для дальнейшей идентификации сообщения. Если не указывать, то будет назначен автоматически. Не обязательно уникален. Идентификатор представляет собой 32-битное число в диапазоне от 1 до 2147483647, либо строку длиной до 40 символов, состоящую из латинских букв, цифр и символов ".-_".
sender

Имя отправителя, отображаемое в телефоне получателя. Разрешены английские буквы, цифры, пробел и некоторые символы. Длина – 11 символов или 15 цифр. Все имена регистрируются в личном кабинете на данной странице.
translit

Признак того, что сообщение необходимо перевести в транслит.
0 (по умолчанию) – не переводить в транслит.
1 – перевести в транслит в виде "translit".
2 – перевести в транслит в виде "mpaHc/Ium".
tinyurl

Автоматически сокращать ссылки в сообщениях. Позволяет заменять ссылки в тексте сообщения на короткие для сокращения длины, а также для отслеживания количества переходов на этой странице.
0 (по умолчанию) – оставить ссылки в тексте сообщения без изменений.
1 – сократить ссылки.
time

Время отправки SMS-сообщения абоненту.
Форматы:

  1. DDMMYYhhmm или DD.MM.YY hh:mm.
  2. h1-h2. Задает диапазон времени в часах. Если текущее время меньше h1, то SMS-сообщение будет отправлено абоненту при наступлении времени h1, если текущее время попадает в промежуток от h1 до h2, то сообщение будет отправлено немедленно, в другом случае отправка будет выполнена на следующий день при достижении времени h1. Данная функция, например, полезна для того, чтобы не допустить получение SMS-сообщений абонентами в ночное время.
  3. 0ts, где ts – timestamp, время в секундах, прошедшее с 1 января 1970 года.
  4. +m. Задает относительное смещение времени от текущего в минутах. Символ + должен кодироваться как %2B в http-запросе.

Если time = 0 (по умолчанию), то сообщение будет отправлено немедленно.

tz

Часовой пояс, в котором задается параметр time. Указывается относительно московского времени. Параметр tz может быть как положительным, так и отрицательным. Если tz равен 0, то будет использован московский часовой пояс, если же параметр tz не задан, то часовой пояс будет взят из настроек Клиента.
period

Промежуток времени, в течение которого необходимо отправить рассылку. Представляет собой число в диапазоне от 0.1 до 720 часов. Применяется совместно с параметром freq. Данный параметр позволяет растянуть рассылку во времени для постепенного получения SMS-сообщений абонентами.
freq

Интервал или частота, с которой нужно отправлять SMS-рассылку на очередную группу номеров. Количество номеров в группе рассчитывается автоматически на основе параметров period и freq. Задается в промежутке от 1 до 1440 минут. Без параметра period параметр freq игнорируется.
flash

Признак Flash сообщения, отображаемого сразу на экране телефона.
0 (по умолчанию) – обычное сообщение.
1 – Flash сообщение.
bin

Признак бинарного сообщения.
0 (по умолчанию) – обычное сообщение.
1 – бинарное сообщение. В http-запросе необходимо закодировать с помощью функции urlencode.
2 – бинарное сообщение, представленное в виде шестнадцатеричной строки (hex).

Бинарное сообщение передается вместе с UDH заголовком в начале в параметре mes, в котором первый байт задает длину заголовка. Чтобы передать бинарное сообщение без UDH заголовка, укажите нулевой байт в начале сообщения (00 в hex).
Для возможности передачи параметров p >dcs необходимо в конец бинарного сообщения добавить специальную комбинацию "

" (перевод строки, 3 символа тильды и снова перевод строки) и затем текст "pid: значение1, dcs: значение2" с точным сохранением пробелов.

push

Признак wap-push сообщения, с помощью которого можно отправить интернет-ссылку на телефон.
0 (по умолчанию) – обычное сообщение.
1 – wap-push сообщение. В параметре mes необходимо передать ссылку и заголовок через перевод строки. hlr

Признак HLR-запроса для получения информации о номере из базы оператора без отправки реального SMS.
0 (по умолчанию) – обычное сообщение.
1 – HLR-запрос. Будет выполнен HLR-запрос для каждого номера телефона в списке. Параметр mes не используется. ping

Признак специального SMS, не отображаемого в телефоне, для проверки номеров на доступность в реальном времени по статусу доставки.
0 (по умолчанию) – обычное сообщение.
1 – ping-sms. Будет отправлено Ping-SMS на каждый номер телефона в списке. Параметр mes не используется. mms

Признак MMS-сообщения, с помощью которого можно передавать текст (txt), изображения различных форматов (jpg, gif, png), музыку (wav, amr, mp3, mid) и видео (mp4, 3gp). Файлы передаются в теле http-запроса.
0 (по умолчанию) – обычное сообщение.
1 – MMS-сообщение. Будет отправлено MMS на каждый номер телефона в списке. mail

Признак e-mail сообщения. Файлы, прикрепляемые к сообщению, передаются методом POST в теле http-запроса.
0 (по умолчанию) – обычное сообщение.
1 – e-mail сообщение. soc

Признак soc-сообщения, отправляемого пользователям социальных сетей "Одноклассники", "ВКонтакте" или пользователям "Mail.Ru Агент".
0 (по умолчанию) – обычное сообщение.
1 – soc-сообщение. viber

Признак viber-сообщения, отправляемого пользователям мессенджера Viber. fileurl

Полный http-адрес файла для загрузки и передачи в сообщении. call

Признак голосового сообщения. При формировании голосового сообщения можно передавать как текст, так и прикреплять файлы. Файлы, добавляемые к сообщению, должны передаваться методом POST в теле http-запроса.
0 (по умолчанию) – обычное сообщение.
1 – голосовое сообщение. voice

Голос, используемый для озвучивания текста (только для голосовых сообщений).
m (по умолчанию) – мужской голос.
m2 – мужской альтернативный голос.
w – женский голос.
w2 – женский альтернативный голос. param

Разделенный запятой список параметров для голосового сообщения в формате "param=w,i,n".
Здесь:

  • w – время ожидания поднятия трубки абонентом после начала звонка в секундах. Если в течение указанного времени абонент не поднимет трубку, то звонок уйдет на повтор с ошибкой "абонент занят". Рабочий диапазон значений параметра от 10 до 35, но можно указывать интервал от 0 до 99 (в случае, если значение меньше 10, то оно будет приведено к 10, аналогично для верхней границы).
  • i – интервал повтора, то есть промежуток времени, по истечении которого произойдет повторный звонок (в секундах). Рабочий диапазон параметра от 10 до 3600 (в случае, если значение меньше 10, то оно будет приведено к 10).
  • n – общее количество попыток дозвона. Рабочий диапазон значений от 1 до 9 (0 будет приведен к 1).

При указании значения любого параметра, отличного от возможных, будут использованы значения всех параметров по умолчанию (n = 8, w = 25, i от 3 до 14 секунд по нарастающей). subj

Тема MMS или e-mail сообщения. При отправке e-mail указание темы, текста и адреса отправителя обязательно. Для MMS обязательным является указание темы или текста. Если не указать тему MMS, то в ее качестве будет использовано имя отправителя, переданное в запросе или используемое по умолчанию. charset

Кодировка переданного сообщения, если используется отличная от кодировки по умолчанию windows-1251. Варианты: utf-8 и koi8-r. cost

Признак необходимости получения стоимости рассылки.
0 (по умолчанию) – обычная отправка.
1 – получить стоимость рассылки без реальной отправки.
2 – обычная отправка, но добавить в ответ стоимость выполненной рассылки.
3 – обычная отправка, но добавить в ответ стоимость и новый баланс Клиента. fmt

Формат ответа сервера об успешной отправке.
0 – (по умолчанию) в виде строки (OK — 1 SMS, ID — 1234).
1 – вернуть ответ в виде чисел: > 2 – ответ в xml формате.
3 – ответ в json формате. list

Список номеров телефонов и соответствующих им сообщений, разделенных двоеточием или точкой с запятой и представленный в виде:
phones1:mes1
phones2:mes2
.
Строки разделяются через символ новой строки (%0A). В качестве phones можно указать несколько номеров телефонов через запятую. Если в сообщении mes требуется передать символ новой строки, то укажите его через
. В случае невозможности корректировки текста мультистрокового сообщения возможно включение специального режима для передачи такого типа сообщений. Для этого необходимо дополнительно передавать в запросе параметр nl, равный 1.
Параметр list позволяет выполнять множественную рассылку с разными сообщениями на несколько телефонов одним http-запросом. Сообщениям в запросе присваивается единый идентификатор. Весь параметр должен быть закодирован с помощью функции urlencode. valid

Срок "жизни" SMS-сообщения. Определяет время, в течение которого оператор будет пытаться доставить сообщение абоненту. Диапазон от 1 до 24 часов. Также возможно передавать время в формате чч:мм в диапазоне от 00:01 до 24:00. maxsms

Максимальное количество SMS, на которые может разбиться длинное сообщение. Слишком длинные сообщения будут обрезаться так, чтобы не переполнить количество SMS, требуемых для их передачи. Этим параметром вы можете ограничить максимальную стоимость сообщений, так как за каждое SMS снимается отдельная плата. imgcode

Значение буквенно-цифрового кода, введенного с "captcha" при использовании антиспам проверки. Данный параметр должен использоваться совместно с параметром userip. userip

Значение IP-адреса, для которого будет действовать лимит на максимальное количество сообщений с одного IP-адреса в сутки, установленный в настройках личного кабинета в пункте "Лимиты и ограничения". err

Признак необходимости добавления в ответ сервера списка ошибочных номеров.
0 (по умолчанию) – не добавлять список (обычный ответ сервера).
1 – в ответ добавляется список ошибочных номеров телефонов с соответствующими статусами. op

Признак необходимости добавления в ответ сервера информации по каждому номеру.
0 (по умолчанию) – не добавлять список (обычный ответ сервера).
1 – в ответ добавляется список всех номеров телефонов с соответствующими статусами, значениями mcc и mnc, стоимостью, и, в случае ошибочных номеров, кодами ошибок. pp

Осуществляет привязку Клиента в качестве реферала к определенному ID партнера для текущего запроса.
При передаче данного параметра в виде "pp= " Клиент с логином login временно становится рефералом партнера с ID . Отчисления по партнерской программе будут сделаны именно для текущего запроса, постоянной привязки не происходит. Данный параметр позволяет временно устанавливать Клиента в качестве реферала из своих сервисов и программ, где нет возможности зарегистрировать Клиента по реферальной ссылке.

Обязательными параметрами являются login, psw, phones и mes либо login, psw и list.

После принятия и обработки данных Сервер возвращает Клиенту подтверждение с указанием результата обработки.

Все параметры, которые содержат специальные символы (плюс, пробел и т.д.), должны быть закодированы при помощи функции urlencode для передачи в HTTP-запросе.

Ответ сервера и коды ошибок

Сервер отправляет ответ в виде строки:

Если произошла ошибка, то ответ будет одним из следующих:

При fmt = 0:

    ERROR = N (описание) – для ошибок 1,2,4,5,9;

  • ERROR = N (описание), ID — <id сообщения> – для ошибок 3,6,7,8.
  • При fmt = 1:

    • 0,-N – для ошибок 1,2,4,5,9;
    • <id сообщения>,-N – для ошибок 3,6,7,8.

    При fmt = 2:

    • Для ошибок 1,2,4,5,9:
    <result>
    <error>описание</error>
    <error_code>N</error_code>
    </result>

  • Для ошибок 3,6,7,8:
    <result>
    <error>описание</error>
    <error_code>N</error_code>
    <id>id сообщения</id>
    </result>
  • При fmt = 3:

    • Для ошибок 1,2,4,5,9:
      <
      "error": "описание",
      "error_code": N
      >

    • Для ошибок 3,6,7,8:
      <
      "error": "описание",
      "error_code": N,
      "id": <id сообщения>
      >

    N – номер ошибки, может принимать следующие значения:

    Значение Описание
    1

    Ошибка в параметрах.
    2

    Неверный логин или пароль.
    3

    Недостаточно средств на счете Клиента.
    4

    IP-адрес временно заблокирован из-за частых ошибок в запросах. Подробнее
    5

    Неверный формат даты.
    6

    Сообщение запрещено (по тексту или по имени отправителя). Также данная ошибка возникает при попытке отправки массовых и (или) рекламных сообщений без заключенного договора.
    7

    Неверный формат номера телефона.
    8

    Сообщение на указанный номер не может быть доставлено.
    9

    Отправка более одного одинакового запроса на передачу SMS-сообщения либо более пяти одинаковых запросов на получение стоимости сообщения в течение минуты.
    Данная ошибка возникает также при попытке отправки более 15 любых запросов одновременно.

    В случае успешной обработки запроса возвращается строка следующего вида:

      при cost = 0 и fmt = 0: OK — <n> SMS, ID — <id>

    при cost = 1 и fmt = 0: <cost> (<n> SMS)

    при cost = 2 и fmt = 0: OK — <n> SMS, ID — <id>, COST — <cost>

    при cost = 3 и fmt = 0: OK — <n> SMS, ID — <id>, COST — <cost>, BALANCE — <balance>

    при cost = 0 и fmt = 1: <id>,<n>

    при cost = 1 и fmt = 1: <cost>,<n>

    при cost = 2 и fmt = 1: <id>,<n>,<cost>

    при cost = 3 и fmt = 1: <id>,<n>,<cost>,<balance>

  • при cost = 0 и fmt = 2:
    <result>
    <id>id</id>
    <cnt>n</cnt>
    </result>

  • при cost = 1 и fmt = 2:
    <result>
    <cost>cost</cost>
    <cnt>n</cnt>
    </result>

  • при cost = 2 и fmt = 2:
    <result>
    <id>id</id>
    <cnt>n</cnt>
    <cost>cost</cost>
    </result>

  • при cost = 3 и fmt = 2:
    <result>
    <id>id</id>
    <cnt>n</cnt>
    <cost>cost</cost>
    <balance>balance</balance>
    </result>

  • при cost = 0 и fmt = 3:
    <
    "id": <id>,
    "cnt": <n>
    >

  • при cost = 1 и fmt = 3:
    <
    "cost": "<cost>",
    "cnt": <n>
    >

  • при cost = 2 и fmt = 3:
    <
    "id": <id>,
    "cnt": <n>,
    "cost": "<cost>"
    >

  • при cost = 3 и fmt = 3:
    <
    "id": <id>,
    "cnt": <n>,
    "cost": "<cost>",
    "balance": "<balance>"
    >

  • при op = 1 и fmt = 0 или 1, информация добавляется в конец обычного вывода с новой строки:
    <phone>,<mccmnc>,<cost>,<status>,<error>
  • при op = 1 и fmt = 2, в ответ добавляется массив:
    <phones>
    <phone mccmnc="mccmnc" cost="cost" status="status" error="error">phone</phone>
    .
    </phones>

  • при op = 1 и fmt = 3, в ответ добавляется массив:
    "phones": [ <
    "phone": "<phone>",
    "mccmnc": "<mccmnc>",
    "cost": "<cost>",
    "status": "<status>",
    "error": "<error>"
    >,
    .
    ]

  • Где:
    – это количество отправленных SMS, вычисляемое как количество SMS в сообщении, умноженное на количество получателей.
    – идентификатор сообщения, переданный Клиентом или назначенный Сервером автоматически.
    – количество частей (при отправке SMS-сообщения) либо 5-секундных блоков (при голосовом сообщении (звонке)).
    – новый баланс Клиента.

    – номер телефона.
    – числовой код страны абонента плюс числовой код оператора абонента.
    – стоимость SMS-сообщения.
    – код статуса SMS-сообщения.
    – код ошибки в статусе.

    Сервер не принимает более одного одинакового запроса на отправку SMS-сообщений в течение минуты для защиты от ошибок и зацикливаний в программе на стороне Клиента для того, чтобы снизить нагрузку и не расходовать средства Клиента, а также не допустить многократной отправки сообщения одному абоненту.

    Сервер также блокирует отправку более 50 сообщений одному абоненту, которые были отправлены с перерывом между сообщениями менее 60-ти секунд, для защиты от флуда и лишнего списания средств со счета Клиента, так как многие операторы не пропускают большое количество сообщений одному абоненту за короткий промежуток времени.

    Настраиваем API и отправляем SMS с помощью браузера

    Метод, получивший название SMS-рассылки по API, позволяет передавать SMS-сообщения через интернет, а также создавать недорогие программы для работы с SMS-трафиком.

    Немного теории

    SMS-центр, который отправляет сообщения абонентам внутри сети, принимает данные по протоколу SMPP. Работать с этим протоколом непросто. Одна только его спецификация занимает 166 страниц убористого текста на английском языке.

    Поскольку работа с протоколом SMPP отнимает много времени и сил и не позволяет быстро создавать недорогие программные решения – рационально передавать данные в SMS-центр через оборудование посредника.

    Таким посредником является SMS-провайдер, который принимает данные заказчика, например, по протоколу http, преобразовывает их в PDU-запрос и передает в SMS-центр.

    Что дает API

    SMS-провайдеры предлагают упрощенные процедуры для отправки данных в SMSC – через API. API позволяет сформировать запрос, который поступает на оборудование sms-провайдера и содержит номер абонента, текст и подпись, а также ряд служебных данных.

    SMPP API
    требует специальных знаний подстраивается под возможности заказчика
    используется для прямого подключения к SMSC используется для подключения к оборудованию SMS-провайдера
    требует больших вложений в разработку программного обеспечения удешевляет разработку программного обеспечения
    выгоды заметны только при большом объеме SMS-трафика выгода падает с увеличением объема SMS-трафика

    http и get-запросы

    Передавать данные посреднику можно любым способом, но чаще всего используют http протокол, поскольку он достаточно простой и его поддерживают популярные языки программирования.

    Пример #1

    CRM-система автоматически формирует сообщение со статусом заказа и передает его по протоколу http в SMS-центр.

    Пример #2

    Скрипт, установленный на сайте, отсылает по протоколу http код для подтверждения телефона, указанного пользователем при регистрации.

    SMS через интернет с помощью get-запроса

    Get-запрос – это строка, содержащая набор параметров и их значений, которые передаются по протоколу http с одного компьютера на другой.

    Пример get-запроса для передачи текста sms-сообщения на сервер sms-провайдера:

    https://our.server/somescript.php ? login=zajac&password=&service=342&space_force=1&space=TEST&subno=%2Btelephone_number&text=Тест API E-Vostok

    Синим выделен адрес php-скрипта на сервере e-vostok.ru

    Зленым выделен сам get-запрос, который начинается со знака «?». Параметры разделяются знаком &.

    Параметры Значение Комментарии
    login zajac логин
    password пароль
    service 342 уникальный код сервиса sms-рассылок в
    space_force 1 Очень важный параметр значение, которого никогда не меняется
    space TEST буквенная подпись
    subno telephone_number телефонный номер получателя
    text Тест API E-Vostok текст sms-сообщения

    Это значит, что пользователь под логином zajac передает скрипту somescript.php на сервере our.server сообщение с текстом Тест API E-Vostok и подписью TEST для номера telephone_number . Параметры service и space_force выполняют служебные функции.

    Как видно, строка с get-запросом очень похожа на ссылку в адресной строке браузера и имеет простой, понятный неспециалисту синтаксис, что и является главным достоинством http-протокола.

    С помощью get-запросов можно также получать статусы о доставке, информацию о балансе, сообщения абонентов и т.д.

    Важно! СМС-провайдер легко может доработать API, исходя из потребностей клиентов. Более того http – не единственный протокол для связи с провайдером. Существуют также SMTP, FTP, POP3, Telnet и DTN для рассылки спама в соседние звездные системы.

    Резюме

    API упрощает работу программистам и позволяет малыми силами создавать простые, надежные и недорогие инструменты для работы с SMS-трафиком. Большинство SMS-провайдером поддерживают передачу данных через http-протокол, но не ограничиваются этим. Если Вы ищите надежное решение для межгалактических рассылок, то мы к Вашим услугам.

    «>

    Читайте также:  Яндекс и гугл соотношение в россии