Создание, отправка, и другие функции для работы с одиночными сообщениями (не рассылками).
Получение отчета о статусе доставки SMS сообщения
https://api.mobizon.kz/service/Message/GetSMSStatus
Получение списка SMS сообщений
https://api.mobizon.kz/service/Message/List
Отправка одиночного SMS сообщения
https://api.mobizon.kz/service/Message/SendSmsMessage
https://api.mobizon.kz/service/Message/GetSMSStatus Метод принимает как строку с одним ID сообщения, так и массив ID сообщений. Независимо от типа входного параметра возвращаемый результат всегда представлен в виде массива. Если передавать несуществующие или не принадлежащие пользователю ID сообщений, то результат не будет содержать информации об этих сообщениях.
Cм. таблицу Список возможных статусов сообщений.
Параметр | Тип | Описание |
---|---|---|
ids | array | string | Идентификатор(ы) сообщения - массив или строка идентификаторов, разделенных запятыми. Максимум 100 штук. |
Поле | Тип | Описание |
---|---|---|
id | integer | ID сообщения |
status | string | Статус сообщения |
segNum | integer | Кол-во сегментов в данном сообщении |
startSendTs | string | Время начала отправки сообщения |
statusUpdateTs | string | Время последнего обновления статуса сообщения |
Код | Описание |
---|---|
2 | Eсли не указано ни одного идентификатора сообщений |
12 | Eсли указано более 100 идентификаторов сообщений |
curl -X POST \
'https://api.mobizon.kz/service/message/getSMSStatus?output=json&api=v1&apiKey=KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK' \
-H 'cache-control: no-cache' \
-H 'content-type: application/x-www-form-urlencoded' \
-d 'ids%5B0%5D=123&ids%5B1%5D=556&ids%5B2%5D=988'
var data = "ids%5B0%5D=123&ids%5B1%5D=556&ids%5B2%5D=988";
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === 4) {
console.log(this.responseText);
}
});
xhr.open("POST", "https://api.mobizon.kz/service/message/getSMSStatus?output=json&api=v1&apiKey=KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK");
xhr.setRequestHeader("content-type", "application/x-www-form-urlencoded");
xhr.setRequestHeader("cache-control", "no-cache");
xhr.send(data);
<?php
use Mobizon\MobizonApi;
$api = new MobizonApi('KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK', 'api.mobizon.kz');
// Вызов АПИ метода
if ($api->call(
'message',
'getSMSStatus',
array(
//идентификаторы сообщений
'ids' => array(
'123',
'556',
'988'
)
)
)
) {
// Получение результата выполнения метода
$result = $api->getData();
} else {
// Во время выполнения произошла ошибка, вывод кода ошибки и текста сообщения
echo '[' . $api->getCode() . '] ' . $api->getMessage() . PHP_EOL;
}
https://api.mobizon.kz/service/Message/List
Параметр | Тип | Описание |
---|---|---|
criteria | array | Критерии поиска (см. таблицу Критерии поиска) |
pagination | array | Параметры постраничного вывода (см. таблицу Параметры постраничного вывода) |
sort | array | Параметры сортировки (см. таблицу Параметры сортировки) |
withNumberInfo | integer | Флаг извлечения информации о номере получателя, по умолчанию - 0 |
Параметр | Тип | Описание |
---|---|---|
criteria[id] | integer | Идентификатор сообщения |
criteria[campaignId] | integer | Идентификатор кампании |
criteria[campaignIds] | array | Поиск по идентификаторам кампаний, параметр должнен быть передан в виде массива или строки идентификаторов, разделенных запятыми, макисмальное кол-во идентификаторов - 10, при превышениии этого лимита поиск будет происходить по первым 10 из списка (если данный параметр установлен, то принудительное ограничение по дате создания не используется и поиск происходит по всем когда-либо созданным кампаниям) |
criteria[from] | string | Подпись отправителя |
criteria[to] | string | Номер получателя |
criteria[text] | string | Текст сообщения |
criteria[status] | integer | Статус сообщения |
criteria[groups] | string | Группы получателя сообщения |
criteria[contentProviderId] | integer | Идентификатор SMS центра |
Параметр | Тип | Описание |
---|---|---|
pagination[pageSize] | integer | Количество отображаемых элементов на странице |
pagination[currentPage] | integer | Текущая страница |
Параметр | Тип | Описание |
---|---|---|
sort[id] | integer | Идентификатор сообщения |
sort[campaignId] | integer | Идентификатор кампании |
sort[from] | string | Подпись отправителя |
sort[to] | string | Номер получателя |
sort[text] | string | Текст сообщения |
sort[status] | string | Статус сообщения |
sort[groups] | string | Группы получателя сообщения |
sort[contentProviderId] | integer | Идентификатор SMS центра |
Массив данных
Поле | Тип | Описание |
---|---|---|
items | array | Список найденных сообщений (см. таблицу Список сообщений) |
totalItemCount | integer | Общее количество найденных элементов |
Каждое из сообщений содержит поля:
Поле | Тип | Описание |
---|---|---|
id | integer | Идентификатор сообщения |
campaignId | integer | Идентификатор кампании |
segNum | integer | Количество сегментов |
segUserBuy | float | Стоимость покупки сегмента для пользователя в валюте пользователя |
from | string | Подпись отправителя |
to | string | Номер получателя |
text | string | Текст сообщения |
status | string | Статус сообщения (см. таблицу Список возможных статусов сообщений) |
groups | string | Идентификаторы групп получателя сообщения, в которые входил данный номер на момент создания кампании |
uuid | string | Внутренний идентификатор сообщения |
countryA2 | string | Код страны получателя |
operatorName | string | Оператор получателя |
curl -X POST \
'https://api.mobizon.kz/service/message/list?output=json&api=v1&apiKey=KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK' \
-H 'cache-control: no-cache' \
-H 'content-type: application/x-www-form-urlencoded' \
-d 'criteria%5Bfrom%5D=Alpha&pagination%5BcurrentPage%5D=2&pagination%5BpageSize%5D=50&sort%5BcampaignId%5D=ASC'
var data = "criteria%5Bfrom%5D=Alpha&pagination%5BcurrentPage%5D=2&pagination%5BpageSize%5D=50&sort%5BcampaignId%5D=ASC";
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === 4) {
console.log(this.responseText);
}
});
xhr.open("POST", "https://api.mobizon.kz/service/message/list?output=json&api=v1&apiKey=KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK");
xhr.setRequestHeader("content-type", "application/x-www-form-urlencoded");
xhr.setRequestHeader("cache-control", "no-cache");
xhr.send(data);
<?php
use Mobizon\MobizonApi;
$api = new MobizonApi('KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK', 'api.mobizon.kz');
// Вызов АПИ метода
if ($api->call(
'message',
'list',
array(
//критерии поиска
'criteria' => array(
//подпись отправителя
'from' => 'Alpha'
),
//параметры постраничного вывода
'pagination' => array(
//текущая страница
'currentPage' => '2',
//количество отображаемых элементов на странице
'pageSize' => '50'
),
//параметры сортировки
'sort' => array(
//сортировка по идентификтору кампании
'campaignId' => 'ASC'
)
)
)
) {
// Получение результата выполнения метода
$result = $api->getData();
} else {
// Во время выполнения произошла ошибка, вывод кода ошибки и текста сообщения
echo '[' . $api->getCode() . '] ' . $api->getMessage() . PHP_EOL;
}
https://api.mobizon.kz/service/Message/SendSmsMessage Данный метод позволяет отправить одиночное SMS сообщение на указанный номер мобильного телефона.
Параметр | Тип | Описание |
---|---|---|
recipient | string | Получатель SMS сообщения - номер в международном формате, если в номере есть + в начале, то его следует закодировать в URL сущность %2B или удалить, оставив только цифры. |
text | string | Текст SMS сообщения, закодированный в URL сущность. Если во время попытки отправить сообщение при помощи GET запроса система не возвращает ответ с данными сообщения, следует в первую очередь обратить внимание на наличие спецсимволов в теле запроса, такими символами являются: ? / \ & + и [пробел] . |
from | string | Подпись отправителя. Можно не указывать, тогда в случае, если нет ни одной валидной подписи, будет использована общая системная подпись.Внимание: Подпись может отличаться для каждого оператора и может быть без предупреждения изменена в любое время. Если же есть заведенные подписи, то будет использована та, у которой установлен флаг "По умолчанию". |
params | array | Дополнительные параметры (см. таблицу Дополнительные параметры). |
Параметр | Тип | Описание |
---|---|---|
params[name] | string | Название кампании |
params[deferredToTs] | string | Дата и время отправки, если необходимо отложить отправку до указанного времени. Должна быть не позднее чем через 14 дней и не ранее чем через час от текущего времени. Формат: 2013-12-31 15:34:55 |
params[mclass] | integer | Способ обработки SMS мобильным устройством. 0 - отображается всплывающим окном и никуда не сохраняются (flashSMS), поддерживается не всеми телефонами; 1 (по умолчанию) - сохраняется в папку Входящие SMS в телефоне получателя;2 - сохраняется на сим карту; 3 - SIM Toolkit SMS |
params[validity] | integer | Время жизни SMS сообщения в минутах от 1 мин до 3 суток (4320 мин) с момента отправки. По умолчанию: 1440 (24 часа) |
Поле | Тип | Описание |
---|---|---|
campaignId | integer | Идентификатор SMS кампании (по нему можно затем узнать различные параметры кампании, запросить список сегментов, их статусы и другую информацию модуля campaign) |
messageId | integer | Идентификатор SMS сообщения (по нему можно узнать статус доставки сообщения с помощью message::getsmsstatus |
status | integer | Статус отправки SMS кампании. 1 - кампания ожидает модерации, 2 - кампания отправлена без модерации |
Код | Описание |
---|---|
1 | Если хотя бы один из параметров указан неверно |
curl -X POST \
'https://api.mobizon.kz/service/message/sendSmsMessage?output=json&api=v1&apiKey=KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK' \
-H 'cache-control: no-cache' \
-H 'content-type: application/x-www-form-urlencoded' \
-d 'recipient=77273573423&text=Test+sms+message&from=YourAlpha¶ms%5Bvalidity%5D=1440'
var data = "recipient=77273573423&text=Test+sms+message&from=YourAlpha¶ms%5Bvalidity%5D=1440";
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === 4) {
console.log(this.responseText);
}
});
xhr.open("POST", "https://api.mobizon.kz/service/message/sendSmsMessage?output=json&api=v1&apiKey=KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK");
xhr.setRequestHeader("content-type", "application/x-www-form-urlencoded");
xhr.setRequestHeader("cache-control", "no-cache");
xhr.send(data);
<?php
use 'Mobizon\MobizonApi.php';
$api = new Mobizon\MobizonApi('KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK', 'api.mobizon.kz');
// API call to send a message
if ($api->call('message',
'sendSMSMessage',
array(
// Recipient international phone number
'recipient' => '77273573423',
// Message text
'text' => 'Test sms message',
// Alphaname is optional, if you don't have registered alphaname, just skip this parameter and your message will be sent with our free common alphaname, if it's available for this direction.
'from' => 'YourAlpha',
// Message will be expired after 1440 min (24h)
'params[validity]' => 1440
))
) {
// Get message ID assigned by our system to request it's delivery report later.
$messageId = $api->getData('messageId');
if (!$messageId) {
// Message is not accepted, see error code and data for details.
}
// Message has been accepted by API.
} else {
// An error occurred while sending message
echo '[' . $api->getCode() . '] ' . $api->getMessage() . 'See details below:' . PHP_EOL . print_r($api->getData(), true) . PHP_EOL;
}