Scorocode.Messenger

Содержание


new Messenger(logger)

Класс для отправки сообщений

Параметр Тип Свойства Описание Пример значения
logger Object Необязательный Объект sc.Logger для режима отладки См. пример ниже

Пример

var Broadcast = new sc.Messenger({logger: new sc.Logger()});

.sendPush(options, callbacks)

Метод для отправки Push

Параметр Тип Описание
options Object Объект, состоящий из параметров where и data
debug Boolean Флаг включения режима отладки
callbacks Object Коллбэки success и error для выполняемого запроса.

Описание объекта options

  • Параметр where - принимает в качестве значения sc.Query("devices") с условиями выборки устройств, которым будет отпрален PUSH.
  • Параметр data - объект, содержащий данные для передачи в PUSH-сообщении и имеющий следующую структуру:
    data: {
        "data": {
            "gcm": {
                //данные для отправки Android-устройствам
            },
            "apns": {
                //данные для отправки iOs-устройствам
            }
        }    
    }

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения",
    MessageKey: "messageKey_приложения",
    WebSocketKey: "websocket key приложения"
});

var Devices = new sc.Query("devices");
var Broadcast = new sc.Messenger({logger: new sc.Logger()});
Broadcast.sendPush({
        where: Devices,
        data: {
            "data": {
                "gcm": {
                    "protocol": "http",
                    "notification": {
                        "body" : "great match!",
                        "title" : "Portugal vs. Denmark",
                        "icon" : "myicon"
                    },
                    "data": {
                        "key": "value"
                    }
                },
                "apns": {       // Данные для передачи iOs-устройствам, необязательно
                    "id": "123e4567-e89b-12d3-a456-42665544000", // apns-id, необязательно
                    "topic": "com.sideshow.Apns2",               // apns-topic, необязательно
                    "collapseId": "my_collapse",                 // apns-collapse-id, необязательно
                    "expiration": "2006-01-02T15:04:05Z07:00",   // apns-expiration, необязательно
                    "priority":5,                                // apns-priority, необязательно
                    "aps" : {
                        "alert" : {
                            "title" : "Portugal vs. Denmark",
                            "body" : "great match!",
                            "action-loc-key" : "Watch"
                        },
                        "badge" : 5
                    },
                    "acme1" : "bar",
                    "acme2" : [ "bang",  "whiz" ]
                }
            }
        }
    }, true)
    .then((success)=>{
        console.log(success);
    })
    .catch((error)=>{
        console.log(error)
    });

Возвращает: promise.{error: Boolean, count: Number} - Возвращает promise который возвращает объект с результатом выполнения запроса.

  • "error" - Boolean - Флаг ошибки
  • "count" - Number - Количество отправленных сообщений.

Исключение:

  • String 'Invalid options type'
  • String 'Where must be a type of Query'
  • String 'Invalid data type'

.sendSms(options, callbacks)

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

Параметр Тип Описание
options Object Параметры сообщения
callbacks Object Коллбэки success и error для выполняемого запроса.

Описание объекта options

  • Параметр where - принимает в качестве значения sc.Query("user") с условиями выборки пользователей, которым будет отпралено sms.
  • Параметр data - объект, содержащий данные для передачи в СМС-сообщении и имеющий следующую структуру:
    data: {
                "text": "Текст смс-сообщения"     
          }

Пример

// Подключим SDK и инициализируем его. 
var sc = require('scorocode');
sc.Init({
    ApplicationID: "applicationId_приложения",
    JavaScriptKey: "javascriptKey_приложения",
    MessageKey: "messageKey_приложения"
});

var findUsers = new sc.Query("users");
var Broadcast = new sc.Messenger();
Broadcast.sendSms({
        where: findUsers,
        data: {
            "text": "Текст смс-сообщения"     
            }
        })
        .then((success)=>{
            console.log(success);
        })
        .catch((error)=>{
            console.log(error)
        });

Возвращает: {error: Boolean, count: Number} - Возвращает promise который возвращает объект с результатом выполнения запроса.

  • "error" - Boolean - Флаг ошибки
  • "count" - Number - Количество отправленных сообщений.