Примеры
3. Примеры
3.1. Отправка единичного сообщения без шаблона по каналам
Push -> Viber -> SMS
- В данном примере демонстрируется использование протокола для отправки сообщения по каналу Push с альтернативными каналами Viber и SMS без использования шаблонов.
- Если Push сообщение в течение 60 секунд (значение параметра ttl) не доставится по каналу Push (система не получит статус Delivered или получит ошибочный статус), система отправит сообщения по каналу Viber.
- Если Viber сообщение в течение 120 секунд (значение параметра ttl) не доставится по каналу Viber (система не получит статус Delivered или получит ошибочный статус), система отправит сообщения по каналу SMS.
- Если сообщение в течение 300 секунд (значение параметра ttl) не доставится по каналу SMS (система не получит статус Delivered для данного сообщения), данному сообщению присваивается статус Expired.
{
"messages":
[
{
"recipient": "79990009900",
"message-id": "2016-11-07-18-29-31",
"push": {
"application": "pushApp",
"ttl": "60",
"content": {
"title": "Test message",
"text": "This is test message"
}
},
"viber": {
"originator": "viberSender",
"ttl": "120",
"content": {
"text" : "This is test message",
"image-url": "test.domain/picture.jpg",
"button-name": "button",
"button-url": "test.domain"
}
},
"sms": {
"originator": "smsSender",
"ttl": "300",
"content": {
"text": "This is test message"
}
}
}
]
}
JSON
3.2. Отправка единичного сообщения без шаблона по каналам
Viber -> SMS
{
"messages":
[
{
"recipient": "79990009900",
"message-id": "2016-11-07-18-29-31",
"viber": {
"originator": "viberSender",
"ttl": "300",
"content": {
"text" : "Test text",
"image-url": "test.domain/picture.jpg",
"button-name": "button",
"button-url": "test.domain"
}
},
"sms": {
"originator": "smsSender",
"ttl": "300",
"content": {
"text": "Test text"
}
}
}
]
}
JSON
3.3. Отправка единичного сообщения без шаблона по каналу Email
{
"messages":
[
{
"email-address": "test@example.com",
"message-id": "2016-11-07-18-29-30",
"email": {
"originator": "<Sender Name>emailSender@example.com",
"content": {
"subject": "Hello, world",
"text": "HTML-body",
"attached-files": [{"file.pdf": "YxuJsafH"}, {"file.pdf": "http://domain.com/file.pfd"}]
}
}
]
}
JSON
3.4. Отправка единичного сообщения по шаблону
{
"messages":
[
{
"template-id": "111",
"recipient": "79990009900",
"message-id": "2016-11-07-18-29-32",
"variables": {"NAME":"IVAN", "SURNAME":"IVANOV"}
}
]
}
JSON
3.5. Отправка массовой рассылки без шаблона
{
"priority": "4",
"timing": {
"start-datetime": "2016-11-05 10:00",
"end-datetime": "2016-11-25 19:00",
"allowed-starttime": "10:00",
"allowed-endtime": "19:00"
},
"viber": {
"originator": "viberSender",
"ttl": "300",
"content": {
"text" : "Test text",
"image-url": "test.domain/picture.jpg",
"button-name": "button",
"button-url": "test.domain"
}
},
"sms": {
"originator": "smsSender",
"ttl": "300",
"content": {
"text": "Test text"
}
},
"messages":
[
{
"recipient": "79990009900",
"message-id": "2016-11-07-18-29-34"
}
{
"recipient": "79990009901",
"message-id": "2016-11-07-18-29-35"
}
]
}
JSON
3.6. Отправка массовой рассылки по шаблону
{
“template-id": "112",
"messages":
[
{
"recipient": "79990009900",
"message-id": "2016-11-07-18-29-33",
"variables": {"NAME":"PETR", "SURNAME":"KUZIN"}
},
{
"recipient": "79990009901",
"message-id": "2016-11-07-18-29-34",
"variables": {"NAME":"VLADIMIR", "SURNAME":"NESTEROV"}
}
]
}
JSON
3.7. Запрос статуса сообщения
Запрос:
{
"message-id": [2016-11-07-18-29-33]
}
Ответ содержит информацию по сообщению для канала, по которому был получен финальный статус:
{
"messages":
[
{
"message-id": "2016-11-07-18-29-33",
"status": "Delivered",
"status-date": "2016-11-07 18:42:02",
"description": "",
"channel": "SMS"
}
]
}
CODE
3.8. Запрос статуса нескольких сообщений
Запрос:
{
"message-id": [12314, 42325]
}
JSON
Ответ содержит информацию по сообщению для канала, по которому был получен финальный статус:
{
"messages":
[
{
"message-id": "12314",
"status": "Delivered",
"status-date": "2016-11-07 18:42:02",
"description": "",
"channel": "SMS"
},
{
"message-id": "42325",
"status": "Finished",
"status-date": "2016-11-07 19:22:02",
"description": "",
"channel": "Call"
}
]
}
JSON
4. Входящие сообщения
4.1 Отправить информацию о входящем SMS-сообщении
URL: http://stream.ibatelecom.ru:8083/broker-api/sendSmsInfo
При получении входящего SMS сообщения от абонента, Система выполняется данный запрос на URL внешней системы.
4.1.1 Пример запроса JSON
{
"message-id": "",
"date": "2018-05-13 13:30",
"msisdn": "79991234567",
"service-number": "1234",
"message": "This is message"
}
JSON
4.1.2 Параметры запроса
Название | Тип | Обязательность | Описание | |
---|---|---|---|---|
1 | message-id | string | Да | Идентификатор сообщения |
2 | date | string | Да | Дата получения сообщения в формате: 2018-05-13 13:30 |
3 | msisdn | string | Да | Номер абонента, приславшего сообщение |
4 | service-number | string | Да | Номер, на который получено сообщение |
5 | message | string | Да | Текст сообщения |