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

Настройки

Виджеты

Получение данных виджетов

Для получения данных виджетов можно воспользоваться двумя методами:

  1. GET /api​/widgets​/{id}, чтобы получить один виджет по его ID.
  2. GET ​/api​/widgets, чтобы получить информацию обо всех ваших виджетах.

В заголовках обоих методов необходимо передать данные авторизации.

Параметры запроса

Параметр Тип данных Описание
id integer ID для получения одного виджета. Path-параметр.

Примеры запросов

Получение данных одного виджета
curl -X GET "https://chat.devinotele.com/api/widgets/134" \
  -H "accept: */*" \
  -H "authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Получение данных всех виджетов
curl -X GET "https://chat.devinotele.com/api/widgets" \
  -H "accept: */*" \
  -H "authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

Параметры ответа

Параметр Тип данных Описание
id integer ID виджета.
organizationId integer ID организации, к которой принадлежит пользователь.
externalId string ID виджета для приема входящих сообщений.
name string Название виджета.
channelProfiles array[object] Настройки каналов для виджета. Каналов может быть несколько.
customUrls array[object] Настройки URL для каналов виджета.
timeTable array[object] Расписание работы группы, к которой прикреплен виджет. Может быть несколько вариантов расписания.
timezone integer Часовой пояс группы. Формат - смещение в минутах, например, 180 для Москвы (GMT +3).
alignment string

Выравнивание виджета по горизонтали. Доступны значения:

left - иконка виджета находится слева.
right - иконка виджета находится справа.

orientation string

Выравнивание виджета по вертикали. Доступны значения:

top - иконка виджета находится сверху.
bottom - иконка виджета находится снизу.

shiftType string

Единица измерения для выравнивания виджета на сайте. Доступны значения:

px - выравнивание в пикселях.
% - выравнивание в процентах.

horizontal integer Горизонтальный отступ от краев окна веб-сайта в единицах, выбранных в параметре shiftType.
vertical integer Вертикальный отступ от краев окна веб-сайта в единицах, выбранных в параметре shiftType.
invitation object Настройки приглашения пользователя - всплывающего сообщения у иконки виджета.
color string Цвет виджета в формате HEX-кода.
phone string Номер телефона: появляется как дополнительный канал виджета. По нему пользователь может позвонить напрямую.
title string Заголовок виджета.
description string Комментарий к виджету.
СhannelProfiles
Параметр Тип данных Описание
channelType string

Название канала. Доступны значения:

VIBER
TELEGRAM
WEBSITE_CHAT - чат в виджете на веб-сайте.
EMAIL
WHATSAPP
VKONTAKTE

connectionString string Строка подключения, по которой генерируется QR-код виджета.
ordinal integer Порядковый номер для расположения каналов в виджете.
connectionStringQR string Ссылка на QR-код виджета.
Timetable
Параметр Тип данных Описание
startTime string Время начала работы группы в формате hh:mm:ss. Пример: 10:00:00
endTime string Время окончания работы группы в формате hh:mm:ss. Пример: 20:00:00
days array[string] Дни недели, в которые группа работает в данные часы работы. Может быть несколько.
CustomUrl
Параметр Тип данных Описание
channelType string

Название канала. Доступны значения:

VIBER
TELEGRAM
WEBSITE_CHAT - чат в виджете на веб-сайте.
EMAIL
WHATSAPP
VKONTAKTE

customUrl string URL канала для перехода.
ordinal integer Порядковый номер для расположения каналов в виджете.
customUrlQR string Данные сгенерированного QR-кода для URL канала в формате base64.
Invitation
Параметр Тип данных Описание
text string Текст всплывающего приглашения.
timeout integer Задержка перед показом текста приглашения в секундах.
intermediateTimeout integer Задержка перед последующим отображением сообщений в секундах.

Пример ответа

{
  "result": {
    "id": 10249,
    "organizationId": 1,
    "externalId": "844e817f-6057-4917-9485-9fa44ae7a7cf",
    "name": "Changed name",
    "isPremium": false,
    "channelProfiles": [],
    "customUrls": [
      {
        "customUrl": "http://viber.channel/url",
        "channelType": "VIBER",
        "ordinal": 1,
        "customUrlQR": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAIAAgj..."
      }
    ],
    "phone": "79473237743",
    "alignment": "left",
    "color": "#000000",
    "horizontal": 150,
    "invitation": {
      "text": "Hello",
      "timeout": 10,
      "intermediateTimeout": 0
    },
    "orientation": "bottom",
    "shiftType": "px",
    "vertical": 0,
    "title": "Widget title",
    "timeTable": [
      {
        "startTime": "07:00:00",
        "endTime": "23:00:00",
        "days": [
          "MONDAY"
        ]
      },
      {
        "startTime": "10:00:00",
        "endTime": "23:00:00",
        "days": [
          "TUESDAY",
          "THURSDAY",
          "SUNDAY"
        ]
      }
    ],
    "timezone": 180
  }
}

Боты

Получение информации о ботах

Для получения информации о ботах необходимо вызвать GET ​/api​/bots, передавая данные авторизации в заголовке. В ответе будут указаны все боты, которых использует организация.

Данный запрос не имеет дополнительных параметров.

Пример запроса

curl -X GET "https://chat.devinotele.com/api/bots/" \
  -H "accept: */*" \
  -H "authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=="

Параметры ответа

Параметр Тип данных Описание
id integer ID бота.
botName string Название бота.
devinoBotSpecific object

В данном объекте указан тип канала, по которому бот взаимодействует с пользователями. Тип канала указан в параметре channelType.

Могут быть получены значения:

WEBSITE_CHAT - чат в виджете на веб-сайте.
VIBER
TELEGRAM
WHATSAPP
VKONTAKTE

channelProfileId integer ID канала чата, к которому прикреплен бот.

Пример ответа

{
  "result": [
    {
      "id": 345,
      "botName": "Shop bot",
      "devinoBotSpecific": {
        "channelType": "TELEGRAM"
      },
      "channelProfileId": 10064
    },
    {
      "id": 346,
      "botName": "Bot",
      "devinoBotSpecific": {
        "channelType": "WHATSAPP"
      },
      "channelProfileId": 10065
    },
    {
      "id": 347,
      "botName": "websitechat",
      "devinoBotSpecific": {
        "channelType": "WEBSITE_CHAT"
      },
      "channelProfileId": 10464
    }
  ]
}

Переменные

Получение информации о переменных

Для получения информации о переменных необходимо вызвать GET ​/api​/variables​/{botId}, передавая данные авторизации в заголовке. В ответе будут указаны все переменные, которые использует бот, указанный в запросе.

Параметры запроса

Параметр Тип данных Описание
botId integer ID бота, который использует переменные. Path-параметр.

Пример запроса

curl -X GET "https://chat.devinotele.com/api/variables/11624" \
  -H "accept: */*" \
  -H "authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=="

Параметры ответа

Параметр Тип данных Описание
id integer ID переменной.
name string Название переменной.

Пример ответа

{
  "result": [
    {
      "id": "6527e7df8a82196a38093950",
      "name": "customer"
    },
    {
      "id": "3248f3dj435f3r234rfk53i0",
      "name": "address"
    },
    {
      "id": "5u8843r293duie991939eu23",
      "name": "promocode"
    }
  ]
}

Файлы

Загрузка файлов

Для загрузки файлов в сервис необходимо вызвать POST ​/api​/files, передавая параметры файла данные авторизации в заголовке.

Пример запроса

curl -X POST "https://chat.devinotele.com/api/files" \
  -H "accept: */*" \
  -H "authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=="
  -H "Content-Type: multipart/form-data" -F "file=@myfile.png;type=image/png"

Параметры ответа

Параметр Тип данных Описание
result integer ID загруженного файла.

Пример ответа

{
  "result": "3ec3d826-7a47-4dd6-adef-fc7114da76ec"
}

Получение информации о файле

Для получения информации о загруженном в сервис файле необходимо вызвать GET /api​/files​/{fileId}​/info, передавая данные авторизации в заголовке.

Параметры запроса

Параметр Тип данных Описание
fileId integer ID файла, полученный при загрузке. Path-параметр.

Пример запроса

curl -X GET "https://chat.devinotele.com/api/files/3ec3d826-7a47-4dd6-adef-fc7114da76ec/info" \
  -H "accept: */*" \
  -H "authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=="

Параметры ответа

Параметр Тип данных Описание
fileId integer ID полученного файла.
fileName string Название файла.
contentLength integer Размер загруженного файла.
contentType string Тип файла.
publicUrl string Ссылка для скачивания файла с Devino Telecom.

Пример ответа

{
  "result": {
    "fileId": "3ec3d826-7a47-4dd6-adef-fc7114da76ec",
    "fileName": "myfile.png",
    "contentLength": 4826,
    "contentType": "image/png",
    "publicUrl": "http://devino-server-for-chat.com/business-chat//businessChat/attachments/3ec3d826-7a47-4dd6-adef-fc7114da76ec/myfile.png"
  }
}

Тэги

Создание тэгов

Для создания тэгов для группировки диалогов с пользователями необходимо вызвать POST ​/api​/tags, передавая данные авторизации в заголовке.

Параметры запроса

Параметр Тип данных Описание
name string Название тэга. Символы пробела должны быть закодированы как %20 (ASCII).

Пример запроса

curl -X POST "https://chat.devinotele.com/api/tags?name=Customer%20Support" \
  -H "accept: */*" \
  -H "authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=="

Параметры ответа

Параметр Тип данных Описание
result integer ID тэга.

Пример ответа

{
  "result": "140"
}

Получение информации о тэгах

Для получения информации о тэгах необходимо вызвать GET ​/api​/tags, передавая данные авторизации в заголовке. В ответе будут указаны все тэги, которые используются для группировки диалогов с пользователями.

Данный запрос не имеет дополнительных параметров.

Пример запроса

curl -X GET "https://chat.devinotele.com/api/tags" \
  -H "accept: */*" \
  -H "authorization: Basic QWxhZGRp

Параметры ответа

Параметр Тип данных Описание
id integer ID тэга.
name string Название тэга.

Пример ответа

{
    "result": [
        {
            "id": 1,
            "name": "Support"
        },
        {
            "id": 5,
            "name": "Sale"
        },
        {
            "id": 18,
            "name": "Discount"
        },
        ...
    ]
}

Удаление тэгов

Для удаления тэга необходимо вызвать DELETE /api​/tags​/{tagId}, передавая данные авторизации в заголовке.

Параметры запроса

Параметр Тип данных Описание
tagId integer ID тэга. Path-параметр.

Пример запроса

curl -X DELETE "https://chat.devinotele.com/api/tags/134" \
  -H "accept: */*" \
  -H "authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=="

Параметры ответа

При успешной авторизации сервис возвращает параметр result в значении null и HTTP-статус 200.

Опросы

Получение информации об опросах CSI

Для получения информации об опросах CSI необходимо вызвать GET ​/api​/csi, передавая данные авторизации в заголовке. В ответе будут указаны все CSI-опросы, которых использует организация.

Данный запрос не имеет дополнительных параметров.

Пример запроса

curl -X GET "https://chat.devinotele.com/api/csi/" \
  -H "accept: */*" \
  -H "authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=="

Параметры ответа

Параметр Тип данных Описание
id integer ID CSI-опроса.
name string Название опроса.
channelIds array

ID каналов, в которых используется опрос.

Одному типу канала (например, WhatsApp, Telegram и т.д.) могут принадлежать сразу несколько ID.

Пример ответа

{
  "result": [
    {
      "id": "13",
      "name": "Survey",
      "channelIds": [
        "9584",
        "9595"
      ]
    },
    {
      "id": "28",
      "name": "Questions",
      "channelIds": [
        "32444"
      ]
    },
    {
      "id": "41",
      "name": "Service rating",
      "channelIds": [
        "23443"
      ]
    }
  ]
}

Получение информации об одном опросе CSI

Для получения информации об одном опросе CSI необходимо вызвать GET ​/api​/csi​/{id}, передавая данные авторизации в заголовке.

Параметры запроса

Параметр Тип данных Описание
id integer ID CSI-опроса. Path-параметр.

Пример запроса

curl -X GET "https://chat.devinotele.com/api/csi/145345" \
  -H "accept: */*" \
  -H "authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=="

Параметры ответа

Параметр Тип данных Описание
id integer ID CSI-опроса.
name string Название опроса.
question string Текст опроса.
closeChatText string Текст сообщения, которое будет показано после того, как пользователь ответит на вопрос.
buttons array[button] Массив с кнопками. Каждая кнопка - вариант ответа на опрос.
channelIds array

ID каналов, в которых используется опрос.

Одному типу канала (например, WhatsApp, Telegram и т.д.) могут принадлежать сразу несколько ID.

timeout integer Время в минутах, которое дается пользователю для ответа на вопрос. Если пользователь ответит после истечения времени, будет начат новый диалог.
Button
Параметр Тип данных Описание
id integer ID кнопки.
name string Текст кнопки. Дублируется в чат, как только пользователь нажимает на кнопку.

Пример ответа

{
  "result": {
    "id": "145345",
    "name": "CSI",
    "question": "How would you rate your consultation?",
    "closeChatText": "Thank you for your answer",
    "buttons": [
      {
        "id": "3922601695039122",
        "name": "Perfect"
      },
      {
        "id": "3081381436286199",
        "name": "Good"
      },
      {
        "id": "1685727515541209",
        "name": "Normal"
      },
      {
        "id": "1714109573533736",
        "name": "Bad"
      }
    ],
    "channelIds": [
      "10061",
      "10043"
    ],
    "timeout": 10
  }
}