Тіркеу

Module Message

Жасау, жіберу және жалғыз хабарламалармен (тарату емес) жұмыс істеуге арналған басқа функциялар.

API methods

SMS хабарламасының жеткізілу мәртебесі туралы есеп алу
https://api.mobizon.kz/service/Message/GetSMSStatus

SMS хабарламаларының тізімін алу
https://api.mobizon.kz/service/Message/List

Жалғыз SMS хабарламасын жіберу
https://api.mobizon.kz/service/Message/SendSmsMessage

SMS хабарламасының жеткізілу мәртебесі туралы есеп алу

https://api.mobizon.kz/service/Message/GetSMSStatus

Бұл әдіс бір немесе бірнеше SMS-хабарламалардың ағымдағы жеткізілу мәртебесі туралы деректерді алуға мүмкіндік береді.

Кіріс параметрінің түріне қарамастан, қайтарылатын нәтиже әрқашан массив түрінде ұсынылады.

Егер пайдаланушыға тиесілі емес немесе жоқ хабарлама идентификаторларын берсеңіз, нәтиже бұл хабарламалар туралы ақпаратты қамтымайды.

Сұрау параметрлері

ПараметрТүріСипаттамасы
idsarray stringХабарлама(лар) идентификаторы(ры).
Идентификаторлар массиві немесе үтірмен бөлінген жол.
Бір сұраудағы максималды идентификаторлар саны – 100.

Сервердің жауабы

ӨрісТүріСипаттамасы
idintegerХабарлама идентификаторы.
statusstringХабарлама мәртебесі.
Қараңыз: Хабарламалар мәртебесінің мүмкін тізімі.
segNumintegerБұл хабарламадағы сегменттер саны.
startSendTsstringХабарламаны жіберу уақыты.
Формат: ЖЖЖЖ-АА-КК СС-ММ-СС.
Егер хабарлама әлі жіберілмесе, өріс мәні NULL болады.
statusUpdateTsstringХабарлама мәртебесінің соңғы жаңартылу уақыты.
Формат: ЖЖЖЖ-АА-КК СС-ММ-СС.
Егер хабарлама әлі жіберілмесе, өріс мәні NULL болады.

API жауап кодтары

КодСипаттамасы
0Жеткізілу мәртебесі туралы есеп сәтті алынды.
2Ешқандай хабарлама идентификаторлары көрсетілмеген болса.
12100-ден астам хабарлама идентификаторлары көрсетілсе.

Examples

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;
}

SMS хабарламаларының тізімін алу

https://api.mobizon.kz/service/Message/List

Бұл әдіс жасалған SMS хабарламаларының тізімін алуға мүмкіндік береді.

Іздеу ID және кампания өрістерінің деректері бойынша жүргізілуі мүмкін.

Сұрау параметрлері

ПараметрТүріСипаттамасы
criteriaarrayІздеу критерийлері (қараңыз Іздеу критерийлері кестесі).
paginationarrayБет бойынша шығару параметрлері (қараңыз Бет бойынша шығару параметрлері кестесі).
sortarrayСұрыптау параметрлері (қараңыз Сұрыптау параметрлері кестесі).
withNumberInfointegerБұл параметр қабылдаушының нөмірі туралы қосымша ақпарат алуға мүмкіндік береді, мысалы, «ел» және «оператор».
Мүмкін мәндер:
0 – алмаған (әдепкі бойынша орнатылған);
1 – алу.

Іздеу критерийлері

SMS хабарламаларының іздеу жүргізілетін өрістері туралы ақпарат. Іздеу үшін бір өрісті де, бірнеше өрісті де бір мезгілде пайдалануға болады.

ПараметрТүріСипаттамасы
criteria[campaignIds]array \ stringКампания идентификаторлары бойынша іздеу.
Параметр массив немесе үтірлермен бөлінген идентификаторлар жолы түрінде берілуі керек.
Идентификаторлардың максималды саны – 100, бұл лимиттен асқанда іздеу тізімдегі алғашқы 100 ID бойынша жүргізіледі.
criteria[from]stringЖіберушінің қолтаңбасы бойынша іздеу.
Іздеу кампанияда жасалған жіберушінің қолтаңбасы бойынша жүргізіледі.
criteria[to]stringҚабылдаушының телефон нөмірі бойынша іздеу.
Толық нөмір бойынша немесе оның бөлігі бойынша іздеуге рұқсат етіледі.
Мысалы:
77273573423 – бұл нөмір қатысқан барлық кампаниялар табылатын болады;
38097 – көрсетілген цифрлар комбинациясын қамтитын нөмірлері бар барлық кампаниялар табылатын болады.
Іздеуде тек бір нөмір қатыса алады.
criteria[text]stringКампания хабарламасының мәтіні бойынша іздеу.
Іздеу мәнінің толық сәйкестігі принципі бойынша жүргізіледі.
criteria[status]integerХабарлама статусы бойынша іздеу.
criteria[groups]stringКампанияда пайдаланылған байланыс топтарының идентификаторлары бойынша іздеу.
Параметр массив немесе үтірлермен бөлінген идентификаторлар жолы түрінде берілуі керек.
criteria[campaignStatus]stringSMS хабарламасының кампания статусы бойынша іздеу.
criteria[campaignCreateTsFrom]stringКампанияларды жасалған күні мен уақыты бойынша көрсетілген күн мен уақыттан бастап іздеу.
Формат: ЖЖЖЖ-АА-КК СС:ММ:СС.
criteria[campaignCreateTsTo]stringКампанияларды жасалған күні мен уақыты бойынша көрсетілген күн мен уақытқа дейін іздеу.
Формат: ЖЖЖЖ-АА-КК СС:ММ:СС.
criteria[campaignSentTsFrom]stringЖіберілген кампанияларды жіберілген күні мен уақыты бойынша көрсетілген күн мен уақыттан бастап іздеу.
Формат: ЖЖЖЖ-АА-КК СС:ММ:СС.
criteria[campaignSentTsTo]stringЖіберілген кампанияларды жіберілген күні мен уақыты бойынша көрсетілген күн мен уақытқа дейін іздеу.
Формат: ЖЖЖ-АА-КК СС:ММ:СС.
criteria[startSendTsFrom]stringХабарламаларды жіберілген күні мен уақыты бойынша көрсетілген күн мен уақыттан бастап іздеу.
Формат: ЖЖЖ-АА-КК СС:ММ:СС.
criteria[startSendTsTo]stringХабарламаларды жіберілген күні мен уақыты бойынша көрсетілген күн мен уақытқа дейін іздеу.
Формат: ЖЖЖ-АА-КК СС:ММ:СС.
criteria[statusUpdateTsFrom]stringСтатусы өзгертілген хабарламаларды көрсетілген күн мен уақыттан бастап іздеу.
Формат: ЖЖЖ-АА-КК СС:ММ:СС.
criteria[statusUpdateTsTo]stringСтатусы өзгертілген хабарламаларды көрсетілген күн мен уақытқа дейін іздеу.
Формат: ЖЖЖ-АА-КК СС:ММ:СС.

Бет бойынша шығару параметрлері

Бұл параметрлер сұратылған ақпаратты құрылымдық (жартылай) шығару үшін жасалған.

ПараметрТүріСипаттамасы
pagination[pageSize]integerБетте көрсетілетін элементтер саны (25, 50, 100).
pagination[currentPage]integerАғымдағы бет
Беттер нөмірі 0-ден басталады.

Сұрыптау параметрлері

Бұл параметрлерді пайдалана отырып, іздеу нәтижелерін өрістердің бірі бойынша өсу ретімен (ASC) немесе кему ретімен (DESC) сұрыптауға болады.

Мысалы:

Қабылдаушы нөмірі бойынша өсу ретімен сұрыптау – sort[to]: ASC.

Хабарлама статусы бойынша кему ретімен сұрыптау – sort[status]: DESC.

ПараметрСипаттамасы
sort[campaignId]Кампания идентификаторы бойынша сұрыптау.
sort[from]Жіберуші қолтаңбасы бойынша сұрыптау.
sort[to]Алушы нөмірі бойынша сұрыптау.
sort[text]Мәтін бойынша сұрыптау.
sort[status]Хабарлама мәртебесі бойынша сұрыптау.
sort[startSendTs]Жіберу уақыты бойынша сұрыптау.
sort[statusUpdateTs]Мәртебені жаңарту уақыты бойынша сұрыптау.
sort[segNum]Сегменттер саны бойынша сұрыптау.

Сервер жауабы

Деректер массиві:

ӨрісТүріСипаттамасы
itemsarrayТабылған хабарламалар тізімі (қараңыз: Хабарламалар тізімі кестесі).
totalItemCountintegerТабылған элементтердің жалпы саны.
Хабарламалар тізімі

Әр хабарламада келесі өрістер бар:

ӨрісТүріСипаттамасы
idintegerХабарлама идентификаторы.
campaignIdintegerХабарлама кампаниясының идентификаторы.
segNumintegerСегменттер саны.
segUserBuyfloatПайдаланушыға хабарлама сегментінің құны
Пайдаланушы валютасында көрсетіледі.
fromstringЖіберуші қолтаңбасы.
tostringАлушының нөмірі.
textstringХабарлама мәтіні.
statusstringХабарлама мәртебесі (қараңыз: Хабарлама мәртебесінің мүмкін тізімі).
groupsstringНөмірдің кампания жасалған кездегі байланыс топтарының идентификаторлары.
uuidstringХабарламаның ішкі идентификаторы.
countryA2stringАлушының елінің коды ISO-3166 alpha2 форматында.
operatorNamestringАлушы операторының атауы.
startSendTsdateХабарламаны жіберу күні мен уақыты.
Формат: ЖЖЖЖ-АА-КК СС-ММ-СС.
statusUpdateTsdateХабарлама мәртебесінің соңғы жаңартылу күні мен уақыты.
Формат: ЖЖЖЖ-АА-КК СС-ММ-СС.

Examples

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;
}

Жалғыз SMS хабарламасын жіберу

https://api.mobizon.kz/service/Message/SendSmsMessage

Бұл әдіс көрсетілген мобильді телефон нөміріне жалғыз SMS хабарламасын жіберуге мүмкіндік береді.

Сұрау параметрлері

ПараметрТүріСипаттамасы
recipientstringSMS-хабарлама алушысының телефон нөмірі.
Нөмір халықаралық форматта болуы керек және тек цифрлардан тұруы тиіс.
Мысалы: 77273573423.
Егер нөмірдің басында “+” болса, оны URL-сущность %2B деп кодтау немесе жою керек, тек цифрларды қалдыру қажет.
textstringSMS-хабарламасының мәтіні, URL-сущность бойынша кодталған.
Егер GET сұрауы арқылы хабарлама жіберу әрекеті кезінде жүйе хабарлама деректерін қайтармаса, ең алдымен сұрау мәтінінде арнайы символдардың бар-жоғын тексеру керек: ? / \ & + және [бос орын].
Мұндай символдардың болуы мәтіннің кодталмағанын білдіреді.
fromstringЖіберуші қолтаңбасы.
Өз жіберуші қолтаңбаңызды пайдалану үшін оны алдын ала тіркеу қажет.
Егер қолтаңба көрсетілмесе, сіздің аккаунтыңызда әдепкі бойынша таңдалған қолтаңба пайдаланылады.
Егер сізде тіркелген қолтаңбалар болмаса немесе көрсетілген қолтаңбамен жіберу мүмкіндігі болмаса, мүмкіндігінше қызметтің жалпы қолтаңбаларының бірі пайдаланылады.
Жіберуші қолтаңбалары туралы толығырақ “Жіберуші қолтаңбалары” бөлімінен оқыңыз.
paramsarrayҚосымша параметрлер (қараңыз: Қосымша параметрлер кестесі).

Қосымша параметрлер

ПараметрТүріСипаттамасы
params[name]stringКампанияның атауы.
params[deferredToTs]stringSMS хабарламасын кейінге қалдырылған жіберу күні мен уақыты.
Жіберудің басталуын кемінде бір сағаттан кейін және ең көп дегенде 14 күннен кейін белгілеуге болады.
Формат: ЖЖЖЖ-АА-КК СС:ММ:СС.
params[mclass]integerЖіберілетін хабарламаның класы:
0 – хабарламалар қалқымалы терезе түрінде көрсетіледі және еш жерде сақталмайды (flashSMS);
1 – хабарламалар телефонның Кіріс хабарламалар қалтасында сақталады (әдепкі бойынша орнатылған).
params[validity]integerХабарлама жеткізілмеген жағдайда максималды күту уақыты, егер алушы оны бірден қабылдай алмаса.
Мысалы, абоненттің телефоны өшірулі немесе желіден тыс болса.
Жіберу сәтінен бастап минутпен көрсетіледі: 60 минуттан (1 сағат) 1440 минутқа (24 сағат) дейін.

Сервердің жауабы

Хабарлама сәтті жіберілген жағдайда жауапта келесі өрістер бар массив қамтылады:

ӨрісТүріСипаттамасы
campaignIdintegerЖасалған SMS кампаниясының идентификаторы.
messageIdintegerЖасалған SMS хабарламасының идентификаторы.
statusintegerSMS кампаниясының жіберу мәртебесі.
1 – кампания модерацияны күтуде;
2 – кампания модерациясыз жіберілді.

API жауап кодтары

КодСипаттамасы
0SMS хабарламасы сәтті жіберілді.
1Егер параметрлердің кем дегенде бірі дұрыс көрсетілмеген болса.

Examples

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&params%5Bvalidity%5D=1440'
var data = "recipient=77273573423&text=Test+sms+message&from=YourAlpha&params%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;
}