Работа с API Sipuni

Описание

Библиотека для работы с API Sipuni из Функций Sipuni

Установка

Для того чтобы работать с данным модулем из Функции Sipuni, его необходимо добавить в список доступных. Для этого перейдите в меню “Дополнительные npm модули” и добавьте в список с новой строки следующую запись:

@sipuni/sipuni

Начало работы

Для начала необходимо импортировать модуль и завести экземпляр класса SipuniApi, передав ему в качестве параметра объект, в котором содержится поле token, хранящее JWT-токен пользователя. JWT-токен нужно получить из args.sipuni_token

const SipuniApi = require("@sipuni/sipuni");
module.exports = async (args) => {
    const sipuniApi = new SipuniApi({token: args.sipuni_token});
    //...
};

В качестве дополнительного параметра в объект можно передать поле host, тем самым переопределив исходный адрес сервера SipuniApi. По умолчанию используется адрес https://sipuni.com.

const sipuniApi = new SipuniApi({token: args.sipuni_token, host:'https://sipuni.com'})

Реализованные методы

Методы сгруппированы и доступны через соответствующие свойства у объекта класса SipuniApi.

Уведомить по номеру онлайн-телефона:

//Со всеми данными для уведомления
let success = sipuniApi.sendNotifyWebphone(shortNum, notifyData);

//Упрощенный вызов
let success = sipuniApi.sendNotifyWebphoneSimple(shortNum, cardTitle, urlTitle, url); 

shortNum: номер онлайн-телефона сотрудника
notifyData: полные данные для уведомления
cardTitle: заголовок уведомления
urlTitle: заголовок ссылки в уведомлении
url: ссылка в уведомлении
success: true если уведомление успешно отправлено, иначе false

Формат notifyData:

{
    "crm": "bitrix24",
    "title": "Битрикс 24",
    "call_id": "1245654654.42525",
    "fields": [
      {
        "title": "Имя",
        "value": "Николай Семенов 12121"
      },
      {
        "title": "Компания",
        "value": "ООО ТрансАэро"
      },
      ...
    ],
    "links": [
      {
        "title": "Карточка клиента",
        "url": "https://amocrm.ru/contact/11441"
      },
      {
        "title": "Сделка",
        "url": "https://amocrm.ru/deals/11441"
      }
      ...
    ]
  }