Каким образом связать чат и бизнес процесс, а также обрабатывать сообщения из него?
Начал разбираться в стандартных чатах и возникли вопросы
1. Как я могу отправить сообщение автоматически к примеру с помощью бизнес процесса, какое действие мне надо отслеживать и в какую таблицу инсертить
2. Как я могу обработать сообщение и давать на них автоматические ответы7
К примеру человек ввел /status ему выдается сообщение о статусе груза к примеру. Или он ввел номер записи и ему выдало данные по ней из системы?
Нравится
Добрый день!
По п.1. В данный момент данный функционал отсутствует в продукте, есть пожелание на доработку.
По п.2, данный вопрос лежит в плоскости интеграций по API и настройки чат-ботов, к сожалению, не располагаю такой информацией.
Здравствуйте! Я пробовал делать отправку из задания-сценария. Перехатить сообщения пока не получилось, но если есть у кого-то есть пример, то буду признателен.
Пример кода на отправку, что бы сообщение отправилось, необходим чат с контактом, собственно переменная chatId:
using Terrasoft.Configuration.Omnichannel.Messaging using System.Linq using OmnichannelMessaging using OmnichannelProviders.Domain.Entities using MessageDirection = OmnichannelProviders.Domain.Entities.MessageDirection //Сам код: UserConnection userConnection = Get<UserConnection>("UserConnection"); Guid chatId = Get<Guid>("ChatId"); string textMessage = Get<string>("TextMessage"); DateTime foo = DateTime.Now; long unixTime = ((DateTimeOffset)foo).ToUnixTimeSeconds(); var messageManager = new MessageManager(userConnection); var messages = messageManager.GetMessagesByChatId(chatId); var unifiedMessage = messages.FirstOrDefault(); if (unifiedMessage != null) { UnifiedMessage message = new UnifiedMessage { Recipient = unifiedMessage.MessageDirection == MessageDirection.Incoming ? unifiedMessage.Sender : unifiedMessage.Recipient, Sender = unifiedMessage.MessageDirection == MessageDirection.Incoming ? unifiedMessage.Recipient : unifiedMessage.Sender, MessageDirection = MessageDirection.Outcoming, ChatId = chatId.ToString(), ChannelId = unifiedMessage.ChannelId, Source = unifiedMessage.Source, MessageType = OmnichannelProviders.Domain.Entities.MessageType.Text, Message = textMessage, Timestamp = unixTime }; messageManager.Send(message); }