Перейти к содержанию

Прочие методы

ready

iOS 2.1Android 2.1Web 2.1

Метод информирования клиента о готовности SmartApp Frontend к отображению.

Возвращаемое значение

Возвращаемое значение содержит Promise, который после исполнения вернет объект с атрибутом payload, содержащим свойства:

Свойство Тип данных Описание
isMain bool Признак что SmartApp выполняется как главный
logsEnabled bool Признак включения логирования запросов
openSmartAppMeta object Данные из push уведомления (устаревшее), (опционально)
initialData object Данные инициатора открытия SmartApp, см. ниже

Состав объекта initialData при открытии SmartApp при нажатии на push нотификацию:

Свойство Тип данных Описание
initiator string "push"
meta object Объект meta, переданный ботом в push уведомлении (опционально)

Состав объекта initialData при открытии SmartApp при нажатии на deeplink:

Свойство Тип данных Описание
initiator string "deeplink"
meta object Объект, собранный из параметров deeplink (опционально)

Состав объекта initialData при открытии SmartApp из карточки контакта:

Свойство Тип данных Описание
initiator string "profile_action"
meta object Объект, собранный из параметров deeplink (опционально)
  - action string Наименование action
  - profile object Объект с профилем пользователя
    -- user_huid string HUID пользователя
    -- name string Имя
    -- avatar string Аватар, (опционально)
    -- avatar_preview string Минифицированный аватар, (опционально)
    -- company string Наименование компании, (опционально)
    -- company_position string Должность, (опционально)
    -- department string Отдел, (опционально)
    -- office string Номер офиса, (опционально)
    -- manager string Имя руководителя, (опционально)
    -- manager_huid string HUID руководителя, (опционально)
    -- email string Корпоративный е-mail адрес, (опционально)
    -- description string Дополнительное описание пользователя, (опционально)
    -- other_phone string Рабочий телефон, (опционально)
    -- ip_phone string IP телефон #1, (опционально)
    -- other_ip_phone string IP телефон #2, (опционально)

Состав объекта initialData при открытии SmartApp из меню сообщения:

Свойство Тип данных Описание
initiator string "menu_action"
meta object Объект, собранный из параметров deeplink (опционально)
  - action string Наименование action
  - sender object Отправитель сообщения
    -- user_huid string HUID
    -- name string Имя
    -- avatar string Аватар, (опционально)
    -- avatar_preview string Минифицированный аватар, (опционально)
    -- company string Наименование компании, (опционально)
    -- company_position string Должность, (опционально)
    -- email string Корпоративный е-mail адрес, (опционально)
  - message object Сообщение
    -- body string Текст сообщения
    -- timestamp number Дата отправки сообщения в UNIX формате
    -- mentions array Список меншенов пользователей в сообщении

Состав объекта initialData при открытии SmartApp при клике по email:

Свойство Тип данных Описание
initiator string "email_link"
meta string E-mail адрес

Пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import * as SDK from "@expressms/smartapp-sdk";


async function initApp() {
  const readyResponse = await SDK.ready();

  const { initialData, isMain } = readyResponse;
  const { initiator, meta } = initialData || {};

  switch(true) {
    case initiator === "push":
      // Обработать meta данные push
      return;
    case initiator === "deeplink":
      // Обработать meta данные диплинка
      return;
    case initiator === "profile_action":
      // Обработать meta данные из карточки контакта
      return;
    case initiator === "menu_action":
      // Обработать meta данные из меню сообщения
      return;
    case initiator === "email_link":
      // Обработать meta данные email
      return;
    default:
      break;
  }
}

iOS 3.7Android 3.7Web 3.7Backend 3.7

Метод генерации ссылок на SmartApp.

Аргументы

Аргументом метода является объект, содержащий параметры:

Параметр Тип данных Описание
appId string ID SmartApp, которое откроется. Скопируйте значение в поле App ID (уникальный человекочитаемый идентификатор бота) в консоли администратора CTS
meta list Полезные данные запроса, которые получит бот

Возвращаемое значение

Возвращаемое значение содержит Promise, который после исполнения вернет объект с атрибутом payload. Обхект содержит свойство deeplink со сформированной ссылкой.

Пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
import * as SDK from "@expressms/smartapp-sdk";

async function test() {
  const response = await SDK.createDeeplink({
    appId: "email-smartapp",
    meta: [
      {
        key: "route",
        value: "new-mail",
      }, {
        key: "to",
        value: "test@mail.ru",
      }
    ],
  });

  if (response?.status === "success") {
    console.log("Here your deeplink = ", response.data.deeplink);
  }
}

requestLocation

iOS 3.3Android 3.3Web 3.3

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

Возвращаемое значение

Возвращаемое значение содержит Promise, который после исполнения вернет объект с атрибутом payload, содержащим свойства:

Свойство Тип данных Описание
latitude string Широта (опционально)
longitude string Долгота (опционально)
timestamp string Метка (опционально)

Пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import * as SDK from "@expressms/smartapp-sdk";

async function test() {
  try {
    const { payload: { latitude, longitude } } = await SDK.requestLocation();

    console.log(`lat = ${latitude}, lng = ${longitude}`);
  } catch(error) {
    console.log(error);
  }
}