Обработка электронной почты в диалоговой форме

Материал из Oktell
Перейти к: навигация, поиск

Наверх

Цель: Производить обработку событий с помощью диалоговой формы.

В качестве примера будет рассмотрена задача проверки почтового ящика и при наличии новых писем открывать свободному оператору диалоговую форму для обработки вопроса и ответа клиенту.


1)Настроим сценарий мониторинга новых писем

1 Сценарий мониторинга писем.jpg

После получения письма тема, текст и адресат сохраняются в БД. Происходит синхронизация задачи с таблицей.


2)Создадим диалоговый сценарий для обработки новых писем

2 Диалоговый сценарий.jpg

Обработка писем:

  • получение данных из БД
  • обработка оператором
  • сохранение данных в БД
  • устанавливается успешный результат «звонка» (необходимо чтобы система не начала попытку дозвона по фиктивному номеру)
  • проверка установлен ли флаг «не отправлять письмо»


3)Создадим исходящую задачу с типом «С запросом у оператора»

Указываем созданный сценарий диалога, назначаем внешние линии и операторов которые будут обрабатывать задачу. Во вкладке «Дополнительно» назначаем «Сценарий запроса на дозвон» указываем тот же сценарий диалога что и во вкладке «Параметры».


4)Настроим расписание автоматического запуска служебного сценария мониторинга новых писем

3 Активируем периодическую задачу.jpg


5)Активируем задание на запуск сценария

4 Настройка периода запуска.jpg



1.Служебный сценарий "Диалоговый сценарий для обработки новых писем"
2.Служебный сценарий "Сценарий мониторинга новых писем"

Запрос для создания таблицы в БД:

USE [oktell]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[table_post](
	[Id] [int] IDENTITY(1,1) NOT NULL,
	[theme] [nvarchar](2000) NULL,
	[text] [nvarchar](2000) NULL,
	[tel] [nvarchar](2000) NULL,
	[address_from] [nvarchar](2000) NULL,
	[theme_answer] [nvarchar](2000) NULL,
	[text_answer] [nvarchar](2000) NULL,
	[comment] [nvarchar](2000) NULL,
	[dont_send] [int] NULL,
PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO