Общее описание механизма

Механизм вебхуков позволяет сторонним сервисам подписываться на определенные события.

После регистрации сервиса ему станет доступна возможность получать события (принимать запросы с вебхуками) по указанному URL адресу.
URL должен быть доступен через интернет и отдавать status code 200 при успешном запросе. Если endpoint не отдает status code 200 на запрос - вебхук отправится еще раз, и так до 5 раз.

Вебхуки отправляются с фиксированных IP-адресов - вы можете добавить их в свой whitelist, если этого требует система безопасности:

  1. 62.84.112.180

  2. 84.201.131.220

  3. 158.160.119.87

События разделены на два типа:

  • события приема/отправки сообщения

  • события команд

Подробный список событий приведен ниже.
Если по каким-то причинам требуется отписаться от получения событий, то такая возможность предусмотрена.

Список отсылаемых событий

Table 1. События
Наименование события Описание

new_message

Получено входящее сообщение или отправлено исходящее сообщение

MessageDeliveryCommand

Сообщение доставлено/недоставлено

ChannelMessageReadCommand

Сообщение прочитано получателем

EndUserActionCommand

Была нажата интерактивная кнопка

NewChatCreatedCommand

Создан новый чат

FirstMessageFromEndUserInChatCommand

Первое входящее сообщение в чате

EndUserSubscribedOnNotification

Пользователем осуществлена подписка

EndUserUnsubscribedFromNotification

Пользователем осуществлена отписка

EndUserActivatedNotificationDeepLink

Посетитель сайта перешел по диплинку, то есть хочет подписаться или начать чат

ConversationStartContextUpdateCommand

Посетитель сайта нажал в виджете кнопку канала для начала беседы в чате

TagAssignedOnChatCommand

Чату присвоен тег

TagRemovedFromChatCommand

Тег снят с чата

ChatMemoChanged

Изменились примечания к чату

OperatorReadChatCommand

Сообщение прочитано

OperatorUnReadChatCommand

Сообщение отмечено непрочитанным

ChannelConnected

Канал подключен и работает

Подключение вебхука

Инструменты
  • curl (инструкция написана под bash)

Входные данные
  • Идентификатор аккаунта - accountId

  • URL приемника вебхуков

  • Список событий

Действия:

  1. Подготовить токен зайдя в ЛК аккаунта, затем в интеграцию: https://my.textback.io/messaging.html#!/integration

  2. Нажать "Сгенерировать API токен" и сохранить в переменную bash-терминала:

token=eyJ0eXA…
  1. Сохранить базовый URL в переменную bash-терминала:

base_url=https://tb-notificationsrv-prod.textback.io/notification
  1. Установить URL приемника вебхука в переменную:

webhook_url=http://somedomain.ru/webhooks
  1. Установить список событий в переменную (переменная содержит json-массив имен событий)

events=[\"EndUserSubscribedOnNotification\"]

Не забывайте про двойные кавычки вокруг имен событий - это должен быть валидный JSON.

  1. Подключить вебхук, выполнив запрос:

curl -v $base_url/webhooks -X POST --data "{\"url\":\"$webhook_url\",\"events\":$events}" -H "Authorization: Bearer $token"

В теле ответа придет JSON объект, содержащий параметр "id" и являющийся идентификатором вебхука. Он требуется для отключения вебхука.

Отключение вебхука

Полученный ранее идентификатор вебхука необходимо использовать в запросе на отключение

  1. Установить идентификатор вебхука в переменную:

id=23...
  1. Отключить вебхук, выполнив запрос:

curl -X DELETE $base_url/webhooks/$id -H "Authorization: Bearer $token"

Описание модели данных вебхуков

Disclaimer - к отправляемым вебхукам применяется null-policy: в полученном событии будут только заполненные поля. Если поле присутствует в модели данных, но на момент отправки у него отсутствует значение (так как данные динамические), то оно не добавляется в вебхук.

new_message

Событие "Получено новое сообщение"

Polymorphism : Composition

Name Description Schema

accountId
required

Идентификатор аккаунта

string (uuid)

id
optional

Уникальный идентификатор

string

message
optional

Сообщение между оператором и клиентом. Представляет как исходящее, так и входящее сообщения

name
required

Наименование события

string

substitutions
optional

Дополнительные значения подстановки для процессора шаблонов

object

userId
optional

Идентификатор пользователя

string

MessageDeliveryCommand

Сообщение доставлено/не доставлено

Name Description Schema

accountId
optional

Идентификатор аккаунта

string (uuid)

address
optional

Содержит информацию об адресе доставки

channel
optional

Тип канала

channelDeliveryStatus
optional

Статус доставки конкретного канала

string

channelId
optional

Идентификатор канала в транспорте

integer (int64)

channelJobId
optional

Временный идентификатор, необходимый для соответствия статусам сообщения

string

channelMessageId
optional

Идентификатор сообщения в канале

string

chatId
optional

Идентификатор сессии чата при условии поддержки каналом

string

compositeMessageType
optional

Тип сообщения

deliveryStatus
optional

Расширенный статус

id
optional

Уникальный идентификатор

string

isDelivered
optional

Базовый статус, доставлено ли сообщение

boolean

isFinal
optional

Является ли это изменение статуса окончательным и не предвидится повторных попыток отправки сообщения
Default : true

boolean

masterMessageId
optional

Идентификатор мастер-сообщения, содержащего вложенные сообщения. Может быть пустым, если сообщение не является частью мастер-сообщения

string (uuid)

message
optional

Доставленное сообщение

messageId
optional

Идентификатор TextBack сообщения

string (uuid)

notificationId
optional

Идентификатор рассылки, если сообщение является частью массовой рассылки

string (uuid)

remoteAddress
optional

Адрес другой стороны, специфичный для канала

string

tbChatId
optional

Уникальный идентификатор чата в TextBack

integer (int64)

timestamp
optional

Дата события

integer (int64)

ChannelMessageReadCommand

Сообщение прочитано получателем

Name Description Schema

accountId
optional

Идентификатор аккаунта

string (uuid)

channel
optional

Тип канала

channelId
optional

Идентификатор канала в транспорте

integer (int64)

channelMessageIdExact
optional

Конкретное сообщение, которое было прочитано

string

channelMessageIdNumericFrom
optional

Все сообщения прочитаны, начиная с данного идентификатора сообщения и ранее

integer (int64)

id
optional

Уникальный идентификатор

string

messageId
optional

Идентификатор TextBack сообщения

string (uuid)

message
optional

Прочитанное сообщение

readKind
optional

Тип параметра сообщения, на основе которого определяется

remoteAddress
optional

Адрес другой стороны, специфичный для канала

string

tbChatId
optional

Уникальный идентификатор чата в TextBack

integer (int64)

timestamp
optional

Дата события

integer (int64)

timestampFrom
optional

Все сообщения прочитаны до этой отметки времени

string (date-time)

userId
optional

Идентификатор пользователя, прочитавшего сообщение с messageId

string

Каналы типа vk, tg, whatsapp статус прочитываемости не отдают.

EndUserActionCommand

Была нажата интерактивная кнопка

Name Description Schema

accountId
optional

Идентификатор аккаунта

string (uuid)

channel
optional

Тип канала

channelId
optional

Идентификатор канала в транспорте

integer (int64)

id
optional

Уникальный идентификатор

string

payload
optional

Идентификатор действия, которое вызывается в ответ на действие из мессенджера пользователя

string (uuid)

button
optional

Данные нажатой кнопки (только ActionButton в WABA и GetContactButton в Telegram)

firstCLick
required

Сообщает, это было первое нажатие кнопки или нет (только WABA)

boolean

remoteAddress
optional

Адрес другой стороны, специфичный для канала

string

remoteContact
optional

Информация об участнике диалога

tbChatId
optional

Идентификатор сессии чата при условии поддержки каналом

integer (int64)

timestamp
optional

Дата события

integer (int64)

NewChatCreatedCommand

Создан новый чат

Name Description Schema

accountId
optional

Идентификатор аккаунта

string (uuid)

channel
optional

Тип канала

channelId
optional

Идентификатор канала

integer (int64)

chat
optional

Созданный чат

chatId
optional

Идентификатор чата

string

compositeMessageType
optional

Тип составного сообщения

createdTs
optional

Дата создания

string (date-time)

firstMessage
optional

Первое сообщение в чате

id
optional

Идентификатор

string

notificationId
optional

Идентификатор рассылки, если сообщение является частью массовой рассылки

string (uuid)

remoteAddress
optional

Адрес другой стороны, специфичный для канала

string

tbChatId
optional

Уникальный идентификатор чата в TextBack

integer (int64)

FirstMessageFromEndUserInChatCommand

Первое входящее сообщение в чате

Name Description Schema

id
required

Идентификатор события

string (uuid)

accountId
required

Идентификатор аккаунта

string (uuid)

userId
optional

Идентификатор пользователя

string

name
required

Наименование события

string

comand
required

Содержимое события

object

firstMessage
required

Первое сообщение в чате

EndUserSubscribedOnNotification

Пользователем осуществлена подписка

Name Description Schema

id
optional

Индентификатор

string (uuid)

subscription
optional

Подписка на рассылку

EndUserUnsubscribedFromNotification

Пользователем осуществлена отписка

Name Description Schema

id
optional

Идентификатор

string (uuid)

initiator
optional

Информация об инициаторе данного события

enum (USER_ACTION, OPERATOR)

remoteContact
optional

Информация об участнике диалога

subscription
optional

Подписка

unsubscribedFromAllSubscriptions
optional

Отписан ли пользователь от всех подписок

boolean

Посетитель сайта перешел по диплинку, то есть хочет подписаться или начать чат

Name Description Schema

address
optional

Адрес чата

commandName
optional

Какой тип команды активирован

enum (subscribe, start_chat)

deepLinkId
optional

Идентификатор диплинка

string (uuid)

id
optional

Идентификатор

string (uuid)

messageId
optional

Идентификатор сообщения

string (uuid)

parameters
optional

URL параметры диплинка

object

remoteContaсt
optional

Информация об участнике диалога

ConversationStartContextUpdateCommand

Посетитель сайта нажал в виджете кнопку канала для начала беседы в чате

Name Description Schema

chatAddress
required

Ссылка на чат

conversationStartContext
required

Информация о месте и условиях когда началась беседа (адрес страницы, данные браузера, cookies, и т.д.)

id
optional

Уникальный идентификатор

string

TagAssignedOnChatCommand

Чату присвоен тег

Name Description Schema

id
optional

Идентификатор

string

isNewTag
optional

Является ли тег новым

boolean

tag
optional

Тег

Tag

wasActuallyChanged
optional

Равен true, если на момент назначения тега он был, и false - иначе

boolean

TagRemovedFromChatCommand

Тег снят с чата

Name Description Schema

chat
optional

Чат

id
optional

Идентификатор

string

reason
optional

Причина, по которой произошло событие

enum (operator_removed, user_activated_response, ve_removed)

tag
optional

Тег

Tag

wasActuallyChanged
optional

Равен true, если на момент удаления тега он был, и false - иначе

boolean

ChatMemoChanged

Изменились примечания к чату

Name Description Schema

accountId
optional

Идентификатор аккаунта

string (uuid)

chatAddress
optional

Подробный адрес чата

id
optional

Уникальный идентификатор

string

memo
optional

Примечание

tbChatId
optional

Идентификатор сессии чата при условии поддержки каналом

integer (int64)

OperatorReadChatCommand

Сообщение/чат прочитано оператором

Name Description Schema

accountId
optional

Идентификатор аккаунта

string (uuid)

channel
optional

Тип канала

channelId
optional

Идентификатор канала в транспорте

integer (int64)

chatId
optional

Идентификатор сессии чата при условии поддержки каналом

string

exactMessageId
optional

Идентификатор одиночного прочитанного сообщения

string (uuid)

id
optional

Уникальный идентификатор

string

remoteAddress
optional

Адрес другой стороны, специфичный для канала

string

sessionId
optional

Сессия, в которой была инициирована команда или идентификатор токена

string

tbChatId
optional

Уникальный идентификатор чата в TextBack

integer (int64)

timestamp
optional

Дата события

integer (int64)

upToChannelMessageId
optional

Идентификатор сообщения, до которого были прочитаны предыдущие сообщения. Нельзя использовать совместно с параметром upToTimestamp

string

upToTimestamp
optional

Дата, до которой были прочитаны предыдущие сообщения. Нельзя использовать совместно с параметром upToChannelMessageId

integer (int64)

userId
optional

Идентификатор пользователя, прочитавшего сообщение/сообщения

string

OperatorUnReadChatCommand

Чат отмечен непрочитанным

Name Description Schema

accountId
optional

Идентификатор аккаунта

string (uuid)

channel
optional

Тип канала

channelId
optional

Идентификатор канала в транспорте

integer (int64)

chatId
optional

Идентификатор сессии чата при условии поддержки каналом

string

id
optional

Уникальный идентификатор

string

remoteAddress
optional

Адрес другой стороны, специфичный для канала

string

sessionId
optional

Сессия, в которой была инициирована команда или JTI токен

string

tbChatId
optional

Уникальный идентификатор чата в TextBack

integer (int64)

timestamp
optional

Дата события

integer (int64)

upFromTimestamp
optional

Дата, с которой предыдущие сообщения были отмечены непрочитанными. Нельзя использовать совместно с параметром upToChannelMessageId

integer (int64)

upToChannelMessageId
optional

Идентификатор сообщения, до которого предыдущие сообщения были отмечены непрочитанными. Нельзя использовать совместно с параметром upFromTimestamp

string

userId
optional

Идентификатор пользователя, отметившего сообщения непрочитанными

string

ChannelConnected

Канал подключен и работает

Name Description Schema

accountId
optional

Идентификатор аккаунта

string (uuid)

fullChannel
optional

Канал

id
optional

Уникальный идентификатор

string

reason
optional

Причина, по которой канал работает

enum (new_channel_configured, phone_gone_online, token_refreshed, token_updated)

userId
optional

Идентификатор пользователя TextBack

string

Attachment
Информация об отправленном или принятом файле. Для отправки необходимо минимально заполнить поле channelFileId ссылкой на закачанный файл

Name Description Schema

channelFileId
required

При отправке файла содержит ссылку на закачанный при помощи сервиса /uploads файл

string

fileName
optional

Имя файла в локальной файловой системе отправителя (мессенджеры передают не всегда)

string

fileSize
optional

Размер файла в байтах

number (integer)

kind
optional

Тип вложения. Некоторые мессенджеры по разному могут отображать принятый пользоваетелем файл. Для более user-friendly отображения файла испоьзуйте правильный kind
Default : "document"

enum (document, image, audio, video, thumb, sticker, voice)

mediaDuration
optional

Длительность файла, если вложение является видео или аудиозаписью

number (integer)

mediaHeight
optional

Высота кадра, если вложение является фото или видео

number (integer)

mediaWidth
optional

Ширина кадра, если вложение является фото или видео

number (integer)

mimeType
optional

MIME-type файла, если мессенджер пользователя его указал. При отправке из TB не имеет значения

string

publicUrl
optional

Ссылка для скачивания файла оператором TB. Слово public означает не то, что файл доступен без авторизации, а указывает возможность скачивания по API в принципе

string

thumbnails
optional

Массив превью-изображений для данного файла. Наличие превью зависит от мессенджера и kind отправляемого файла

< Attachment > array

Button
Кнопка в сообщении

Name Description Schema

type
required

Тип нажатой кнопки

enum
(ActionButton
GetContactButton)

text
required

Название кнопки

string

payload
required

Идентификатор действия, которое вызывается в ответ на действие из мессенджера пользователя

string

clickCount
required

Количество нажатий на кнопку (только ActionButton в WABA)

string

oneTime
optional

Скрывается ли клавиатура с кнопкой при нажатии (для GetContactButton)

boolean

removeKeyboard
optional

Убирается ли клавиатура после обработки нажатия (для GetContactButton)

boolean

Channel
Канал

Name Description Schema

accountId
optional

Идентификатор аккаунта

string (uuid)

channel
optional

Тип канала

channelId
optional

Идентификатор канала в транспорте

integer (int64)

id
optional

Уникальный идентификатор

string

tbUserId
optional

Идентификатор пользователя, который подключился к каналу или обновил его

integer (int64)

channelRead
Информация о прочитанности сообщения в мессенджере

Name Description Schema

channelMessageIdExact
optional

Идентификатор конкретного прочитанного сообщения

string

channelMessageIdNumericFrom
optional

Все сообщения прочитаны, начиная с данного идентификатора сообщения и ранее

integer (int64)

id
optional

Уникальный идентификатор

string (uuid)

readKind
optional

Тип параметра сообщения, на основе которого определяется прочитанность сообщения

timestampFrom
optional

Все сообщения прочитаны до этой отметки времени

string (date-time)

Channels
Типы каналов

Type : enum (tg, sms, vk, facebook, viber, vibersm, whatsapp, instagram)

Channels
Описание каналов в виджете чата

Name Description Schema

channel
optional

Тип канала

enabled
optional

Включен ли

boolean

id
optional

Идентификатор

string

slug
optional

Пользовательская ссылка в мессенджерах

string

Chat
Чат между оператором и клиентом

Name Description Schema

accountId
optional

Идентификатор аккаунта

string (uuid)

address
optional

Подробный адрес чата

id
optional

Идентификатор чата

string

lastConversationStartContext
optional

Информация о месте и условиях когда началась беседа (адрес страницы, данные браузера, cookies, и т.д.)

lastMessage
optional

Посследнее сообщение

messagingStats
optional

Статистика отправленных в чат сообщений

remoteAddresses
optional

Список адресов другой стороны, специфичный для канала

< string > array

remoteContaсt
optional

Информация об участнике диалога

tags
optional

Список тегов

< string > array

tbChatId
optional

Уникальный идентификатор чата в TextBack

integer (int64)

unreadCount
optional

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

integer (int32)

ChatAddress
Подробные данные о чате

Name Description Schema

accountId
required

Идентификатор аккаунта

string (uuid)

channel
required

Тип канала

channelId
required

Идентификатор канала в транспорте

integer (int64)

chatId
required

Идентификатор сессии чата при условии поддержки каналом

string

remoteAddress
optional

Адрес другой стороны, специфичный для канала

string

tbChatId
optional

Уникальный идентификатор чата в TextBack

integer (int64)

Сity
Информация о городе, указанном в профиле в мессенджере

Name Description Schema

internationalName
optional

Международное наименование

string

nationalName
optional

Национальное наименование

string

CompositeMessageType
Типы сообщений. Полезно в том случае, когда канал не поддерживает более одного прикрепления к сообщению

Type : enum (MASTER_MESSAGE, CHILD_MESSAGE, REGULAR_MESSAGE)

Contact
Информация об участнике диалога

Name Description Schema

birthday
optional

Дата рождения

channel
optional

Тип канала

channelUserId
optional

Идентификатор пользователя в канале

string

channelUsername
optional

Имя пользователя в канале (если доступно)

string

city
optional

Город

country
optional

Страна

email
optional

Основная электронная почта

string (email)

gender
optional

Пол

enum (male, female)

id
optional

Идентификатор контакта TextBack

string (uuid)

internationalName
optional

Имя в EN-локали

nationalName
optional

Имя в пользовательской локали

parentContactId
optional

Идентификатор TextBack объединенного контакта

string (uuid)

phone
optional

Номер телефона, привязанный к чату в мессенджере

string

preferredLanguage
optional

Предпочитаемая локаль

string

timezone
optional

Cмещение относительно UTC (пользовательская временная зона)

string

userPicUrl
optional

URL аватара пользователя в чате

string

userProfileUrl
optional

URL на профиль пользователя

string

ConversationStartContext
Информация о месте и условиях когда началась беседа (адрес страницы, данные браузера, cookies, и т.д.)

Name Description Schema

cookies
optional

Хранит cookies из HTTP запроса

object

insecureContext
optional

Передаваемый с клиента незащищенный контекст подписки, содержащий, например, номер заказа

object

pageTitle
optional

Заголовок окна

string

pageUrl
optional

URL адрес страницы

string

referer
optional

URL источника запроса

string

secureContext
optional

Защищенный средствами JWT контекст подписки, содержащий, например, номер заказа

object

secureContextToken
optional

Токен

string

timezoneOffset
optional

Смещение часового пояса

integer

urlParameters
optional

Параметры в URL адресе

object

userAgentString
optional

User-Agent браузера

string

viewerId
optional

Идентификатор пользователя текущей страницы

string (uuid)

visitDate
optional

Время посещения

string (date-time)

visitsCount
optional

Число посещений

integer

widgetId
optional

Идентификатор виджета

string (uuid)

Сountry
Информация о городе, указанной в профиле в мессенджере

Name Description Schema

internationalName
optional

Международное наименование

string

isoCode
optional

Код страны в ISO-формате

string

nationalName
optional

Национальное наименование

string

DeliveryStatus
Расширенный статус сообщения

Type : enum (DELIVERED, SENT, ACCEPTED_BY_PARTNER, QUEUED, ERROR, API_TIMEOUT, CONNECTION_TIMEOUT, WRONG_ACCOUNT_ID, SERVER_UNAVAILABLE, INVALID_API_TOKEN, INVALID_SENDER, API_REQUEST_LIMIT, BOT_NOT_PUBLISHED, MESSAGE_OUTSIDE_OF_ALLOWED_WINDOW, BLOCKED, INSUFFICIENT_API_PERMISSIONS, USER_DIALOG_NOT_INITIATED, FILE_SEND_LIMITATION, ATTACHMENT_TYPE_NOT_SUPPORTED_BY_CHANNEL, MAXIMUM_CHARACTERS_EXCEEDED, NO_MATCHING_USER_FOUND, INVALID_ADDRESS_FORMAT, PHONE_OFFLINE, PARTIALLY_SENT, PARTIALLY_SENT_WITH_ERROR, ALL_CHILD_SENT_WITH_ERROR, PAYMENT_REQUIRED, BAD_WORDS_FOUND, SPAM, UNSUPPORTED_DEVICE, EXTERNAL_MESSAGE_TIMEOUT, TB_MESSAGE_TIMEOUT, BLACKLISTED UNKNOWN)

EndUserNotificationSubscription
Подписка на события через мессенджеры

Name Description Schema

accountId
required

Идентификатор аккаунта

string (uuid)

address
optional

Адрес чата

id
optional

Идентификатор

string (uuid)

insecureContext
optional

Незащищенный контекст подписки

object

messagingStats
optional

Статистика отправленных в чат сообщений

remoteContact
optional

Информация об участнике диалога

secureContext
optional

Защищенный контекст подписки

object

secureContextToken
optional

Защищенный токен контекста

string

sourceOptions
optional

Причина создания подписки

subject
optional

Тема события
Maximal length : 2000

string

subscribedTs
optional

Дата подписки

string (date-time)

unsubscribedTs
optional

Дата отписки

string (date-time)

user
optional

Кто подписан

widgetId
optional

Идентификатор виджета

string (uuid)

Event
Отсылается по адресу подписки на вебхук

Name Description Schema

accountId
required

Идентификатор аккаунта

string (uuid)

id
optional

Уникальный идентификатор

string

name
required

Наименование события

string

substitutions
optional

Дополнительные значения подстановки для процессора шаблонов

object

userId
optional

Идентификатор пользователя

string

Location
Данные о местоположении

Name Description Schema

latitude
required

Широта в градусах

number (float)

longitude
required

Долгота в градусах

number (float)

Memo
Заметка к чату

Name Description Schema

changedTs
optional

Дата последней модификации

string (date-time)

memo
optional

Текст заметки

string

phones
optional

Контактные телефоны пользователя

< string > array

emails
optional

Контактные emails пользователя

< string > array

tbUserId
optional

Идентификатор последнего оператора TextBack, изменившего примечание

string (uuid)

MessageDeliveryStatus
Статус доставки сообщения

Name Description Schema

channelDeliveryStatus
optional

Статус доставки сообщения конкретного канала

string

deliveryStatus
optional

Расширенный статус

id
optional

Идентификатор, присвоенный команде MessageDeliveryCommand

string (uuid)

isDelivered
optional

Общий признак, доставлено ли сообщение или нет

boolean

isFinal
optional

Статус доставки сообщения окончательный и не предвидится повторных попыток доставки
Default : true

boolean

timestamp
optional

Время доставки сообщения

integer (int64)

MessagingStats
Статистика отправленных в чат сообщений

Name Description Schema

lastInboundMessageTimestamp
optional

Дата крайнего входящего сообщения

string (date-time)

received
optional

Количество входящих сообщений
Default : 0

integer (int32)

receivedUserSentMessages
optional

Количество входящих сообщений (user_sent_message)
Default : 0

integer (int32)

sent
optional

Количество исходящих сообщений
Default : 0

integer (int32)

total
optional

Количество входящих и исходящих сообщений
Default : 0

integer (int32)

totalNotificationsSent
optional

Количество исходящих сообщений (tb_sent_end_user_notification)
Default : 0

integer (int32)

unread
optional

Количество непрочитанных сообщений (user_sent_message)
Default : 0

integer (int32)

PartialDate
Дата, которая может быть лишь частично указана (например, только год)

Name Description Schema

day
optional

День

integer (int32)

month
optional

Месяц

integer (int32)

year
optional

Год

integer (int32)

PersonalName
Содержит имя и фамилию пользователя

Name Description Schema

displayName
optional

Отображаемое имя

string

firstName
optional

Имя

string

lastName
optional

Фамилия

string

ReadNotificationKind
Типы параметров сообщений, на основе которых определяется

Type : enum (BY_TIMESTAMP, BY_NUMERIC_MESSAGE_ID, BY_EXACT_MESSAGE_ID, BY_TEXTBACK_MESSAGE_ID)

Reads
Информация о прочитанности сообщения в TextBack

Name Description Schema

readTimestamp
optional

Время, когда сообщение было прочитано

integer (int64)

sessionId
optional

Идентификатор сессии, во время котором было прочитано сообщение

string

userId
optional

Идентификатор пользователя, прочитавшего сообщение

string

SenderInfo
Информация об отправителе на стороне TextBack

Name Description Schema

channelUserId
optional

Идентификатор для типа эндпоинта FROM_CHANNEL

string

endpointType
required

Источник отправки сообщения

enum (UNKNOWN, REST_API, TEXT_BACK_WEB, FROM_CHANNEL, END_USER_NOTIFICATION_API, CHANNEL_NOTIFICATION, BOT_API)

tbUserId
optional

Идентификатор крайнего пользователя, изменившего примечание

string (uuid)

userAgent
optional

User-Agent браузера

string

SubscriptionSourceOptions
Причина создания подписки

Name Description Schema

channelChat
optional

Чат, импортированный из истории сообщений

boolean

createdByOperator
optional

Если требуется преобразовать существующий tbChat в subscription

boolean

subscription
optional

Пользователь использовал виджет уведомления / deeplink / подписан администратором

boolean

tbChat
optional

Подписка была автоматически создана пользователем, начавшим чат. Будет утановлен в false, если будет создан OptOut.

boolean

Tag
Тег присвоен чату

Name Description Schema

accountId
optional

Идентификатор аккаунта

string (uuid)

chatId
optional

Идентификатор чата

string

id
optional

Идентификатор

integer (int64)

name
optional

Наименование тега

string

assignedTs
optional

Дата присвоения тега

string

reason
optional

Причина возникновения события

enum (operator_assigned, user_activated_response, user_subscribed_on_widget, ve_assigned)

tagId
optional

Внешний ключ для тега, созданного учетной записью

integer (int64)

TbUniMessage
Сообщение между оператором и клиентом. Представляет как исходящее, так и входящее сообщения

Name Description Schema

accountId
optional

Идентификатор аккаунта

string (uuid)

actionNumbers
optional

Для каналов, не поддерживающих кнопки

object

attachments
optional

Информация об отправленных или принятых файлах в зависимости от направления сообщения

< Attachment > array

channel
required

Тип канала

channelId
required

Идентификатор канала в транспорте

integer (int64)

channelRead
optional

Информация о сообщении, прочитанном участником диалога. Заполняется для исходящих сообщений, если они прочитаны

chatId
optional

Идентификатор сессии чата, в котором сообщение было отправлено

string

chatTitle
optional

Название чата

string

childMessages
optional

Если данное сообщение велико для отправки, то оно разбивается на дочерние сообщения. В таком случае, данному сообщению выставляется тип MASTER_MESSAGE, оно не отправляется в канал, но отправляются дочерние сообщения.

< TbUniMessage > array

compositeMessageType
optional

Типы сообщений. Полезно в том случае, когда канал не поддерживает более одного прикрепления к сообщению

contact
optional

Переадресованный контакт в качестве номера телефона с именем

deliveryStatuses
optional

Список статусов доставки

deliveryTimeout
optional

Период доставки в формате ISO-8601

string (date-time)

direction
optional

Входящее или исходящее сообщение

enum (inbound, outbound)

id
optional

Уникальный идентификатор сообщения. Назначается TextBack

string (uuid)

location
optional

Данные о местоположении

masterMessageId
optional

Идентификатор мастер-сообщения. Указывается в том случае, если присутствуют дочерние сообщения

string (uuid)

notificationId
optional

Идентификатор рассылки, если сообщение является частью массовой рассылки

string (uuid)

pushType
optional

Способ оповещения пользователя о новом сообщении. Поддерживается только Facebook

enum (REGULAR, SILENT_PUSH, NO_PUSH)

reads
optional

Список прочтений сообщений операторами

< reads > array

reason
optional

Причина, по которой данное сообщение было отправлено
Default : "undefined"

enum (undefined, operator_sent_message, operator_sent_reply_from_messenger, user_sent_message, user_activated_interactive_menu_option, messenger_sent_deep_link_message, tb_sent_end_user_notification, tb_sent_subscription_welcome_message, tb_sent_auto_reply_message, tb_sent_interactive_action_response, tb_sent_operator_notification)

remoteAddress
optional

Адрес другой стороны, специфичный для канала

string

remoteContact
optional

Информация об участнике диалога

remoteFirstName
optional

Имя собеседника

string

remoteLastName
optional

Фамилия собеседника

string

replyToChannelMessageId
optional

Идентификатор сообщения, на которое текущее отвечает

string

replyToMessage
optional

Сообщение, на которое данное сообщение является ответом

senderInfo
optional

Информация об отправителе сообщения. Заполняется для исходящих (outbound) сообщений

sentTimestamp
optional

Дата, когда сообщение было отправлено

string (date-time)

subject
optional

Тема сообщения

string

substitutions
optional

Дополнительные значения подстановки для процессора шаблонов

object

tbChatId
optional

Уникальный идентификатор чата в TextBack

integer (int64)

templateId
optional

Идентификатор шаблона сообщения

string

templateName
optional

Название шаблона WABA в TextBack

string

text
optional

Текст сообщения

string

textMarkup
optional

Разметка сообщения
Default : "PLAIN"

enum (PLAIN, HTML, MARKDOWN)

User
Описание пользователя аккаунта

Name Description Schema

accountId
optional

Идентификатор аккаунта

string (uuid)

externalId
optional

Идентификатор пользователя во внешней системе
Maximal length : 2000

string

id
optional

Идентификатор

string (uuid)

User
Информация о операторе аккаунта TextBack

Name Description Schema

displayName
optional

Отображаемое имя

string

email
required

Адрес электронной почты

string (email)

login
optional

Логин

string

options
optional

Дополнительные опции

object

password
optional

Пароль

string

phone
optional

Номер телефона в формате E.164 (+7…) или местном для набора (8…)

string