Instalando e configurando o Tactium MIS

476 Visualizações
14, setembro de 2023
Júlia Santos

Visão Geral

O Tactium MIS é um banco de dados de informações operacionais e administrativas organizadas de forma a produzir relatórios regulares sobre as operações para todos os níveis de gestão de uma organização.

O processo a seguir detalha as etapas necessárias para utilização de dois databases distintos, o database operacional e um segundo database histórico (Tactium_MIS) onde serão geradas cópias das informações operacionais que serão fornecidas aos clientes através da utilização da API.

A base de dados atualmente armazena os valores dos relatórios Detalhe de Ligações e Detalhe de Atividades da solução Tactium IP e Detalhe de Atendimentos de Mensagem e Produtividade Campanhas Omni da solução Tactium CRM/OMNI.

Criando a estrutura da base Tactium MIS

O processo de implementação da estrutura do MIS é iniciado através da criação da base de dados que será utilizada neste processo.

Base de Dados

Realize o download e execute em seguida o script abaixo para criação da base:

O script abaixo criará uma base de nome “Tactium_MIS”, mas o nome da base pode conter outra definição caso desejado. Basta inserir o nome escolhido na linha: “IF (NOT EXISTS (SELECT name FROM SYS.databases WHERE  name = ‘NOMEDABASE’))“.

Tenha acesso ao script através do link abaixo:

[CREATE DATABASE [Tactium_MIS]]

Em seguida execute o script adicional na base recém criada do Tactium_MIS, script contempla a criação de mais duas tabelas para acesso aos novos relatórios do Tactium CRM/OMNI, através do link abaixo:

O script abaixo criará uma  conexão com a base de dados do Tactium CRM na tabela T_STP. Basta inserir o nome da base de dados nas linhas:

EXEC [NOMEDABASE_CRM]..[SP_CONSULTA_OMNI_CAMPANHA]
EXEC [NOMEDABASE_CRM]..[SP_CONSULTA_AtendimentoWhatsapp]

[CREATE TABLES [X_DetProdCampOmni_X_DetAtdWpp]

Procedures

Após a criação da estrutura da base de dados, criaremos também as procedures SP_ExecProcedures, SP_ComparaProcedures e SP_ExecuteBI:

Tenha acesso aos scripts correspondentes através dos links abaixo:

Execute os scripts abaixo na base Tactium_MIS.

[SP_ExecProcedures]
[SP_ComparaProcedures]
[SP_ExecuteBI]

Procedures no Database Tactium CRM

Execute os scripts abaixo na base Tactium_CRM caso a versão do CRM/OMNI seja inferior a 5.53.7.2.

Atualizaremos também as procedures SP_CONSULTA_AtendimentoWhatsapp, SP_CONSULTA_OMNI_CAMPANHA.

Tenha acesso aos scripts correspondentes através dos links abaixo:

[SP_CONSULTA_AtendimentoWhatsapp]
[SP_CONSULTA_OMNI_CAMPANHA]

Jobs

A Base de MIS conterá sempre os dados de d-1, logo serão apresentados dados do dia anterior à entrada da solicitação. Dito isto, para a população desses dados é necessário criar processos (jobs) que farão a consulta dos dados no TactiumIP e Tactium CRM/OMNI e irão inseri-los na base Tactium_MIS.

Para configurar os Jobs onde serão realizados este processo, realize as etapas abaixo:

1. Execute estes comandos (inserts) na base Tactium_MIS:

INSERTS_TACTIUM_MIS

Nesse script será necessário definir o nome do banco de dados do Tactium IP. Está configurado como “TactiumIP” que é o nome padrão do banco de dados do Tactium IP.

Em ambientes que já foram implantados, o script adicional abaixo deverá ser executado, pois em novas versões da aplicação foi incluído um novo campo na procedure “SP_CON_DETATVAGENTE”.

[ALTER_TACTIUM_MIS]

 

2. Dando continuidade, iremos criar o Job onde será executado a procedure SP_ExecuteBI, todos os dias, para que a mesma faça a população dos dados para a base Tactium_MIS:

No menu lateral Object Explorer, clique na opção SQL Server Agent.

Na opção SQL Server Agent crie um novo Trabalho, no caminho Trabalho (Job) >> Novo Trabalho (New Job).

3. Cadastre um Novo passo (Step), de acordo com a tabela abaixo:

Nome da Etapa

Step 1

Tipo

Script Transact-SQL (T-SQL)

Banco de Dados

Tactium_MIS

Comando

Declare @DTINICIO Char(19) = Convert(Char(10), getdate()-1, 103) + ‘ 00:00:00’, @DTFIM Char(19) = Convert(Char(10), getdate()-1, 103) + ‘ 23:59:59’Exec SP_ExecuteBI @DTINICIO, @DTFIM

O comando do Job executará a carga dos dados de 1 em 1 dia (Dia corrente – 1), de acordo com regra criada acima. Porém, caso necessite gerar uma carga de uma única vez com vários dias, podemos sugerir o comando abaixo para ser executado diretamente no SQL (durante a implantação) passando a quantidade de dias necessários na variável “@dias”.

[Comando_SQL_Carregar_VáriosDias_MIS]

4. Cadastre uma Nova Agenda (Schedules), de acordo com a tabela abaixo:

Nome Principal
Tipo de agenda Recorrente
Caixa de seleção “Habilitado”
Ocorre Diariamente
Repete-se a cada 1
Ocorre uma vez em 00:00:20
Data de início Data de início do cenário de produção da Base Tactium_MIS
Caixa de seleção “Sem data de término”
Descrição Ocorre diariamente às 23:00:00. A Agenda será usada a partir de 24/05/2023.

Instalando o serviço ReportAPI

A API utilizada para consulta dos dados históricos da base Tactium_MIS é a ReportAPI. Ela fornece informações de relatórios de BI do TactiumIP. Ela funciona como um serviço RESTful, e utiliza autenticação JWT Bearer para funcionar.

O processo de implementação da estrutura para utilização da ReportAPI  é inicialmente configurar o ambiente onde esta será implantada, siga o processo abaixo:

  • Instalando/ Habilitando o IIS (Internet Information Services) com as seguintes configurações marcadas:

  • .NET Core Bundle

Em seguida, baixe e instale o pacote do .NET Core Bundle.

O download do pacote do .NET Core Bundle pode ser realizado a partir da seguinte URL: https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-aspnetcore-6.0.15-windows-hosting-bundle-installer

  • Configurando o Pool de Aplicativos e o Site do ReportAPI

Neste momento, realizaremos a cópia dos arquivos do pacote de instalação para um diretório no servidor e configure um pool no IIS para essa aplicação.

1. Adicione uma nova aplicação ao pool de aplicativos, com as seguintes configurações:

Name:

ReportAPI

.Net CLR Version:

.Net CLR Version v4.0.30319

Managed Pipeline Mode:

Integrado

Em seguida, recuperaremos os pacotes da ReportAPI (mesma versão operacional da solução Tactium IP) e colocaremos dentro do wwwroot para convertê-la posteriormente em aplicação.

Report API disponível a partir da versão 55.180.3 da solução Tactium IP.

Converta o diretório em uma aplicação usando o pool criado.

É altamente recomendado que o acesso a esta API seja feito por meio do protocolo HTTPS, uma vez que informações sensíveis como login e tokens serão transmitidas por essa conexão.

Configurando o acesso da API ao Banco de Dados do Tactium IP

Antes de iniciar os apontamentos necessários do no arquivo de configuração da API, criaremos a Tabela (na base do Tactium IP) que armazenará os dados dos usuários que terão acesso a receber os dados de consulta através da ReportAPI .

Tenha acesso ao script correspondente através do link abaixo:

[CREATE_TABLE_T-USER]

Agora iremos inserir os usuários. Disponibilizamos o script abaixo com a inserção de um usuário com as credenciais:

  • Login: admin e Password: Tactium@mis.

Recomendamos que seja realizada a alteração nos dados de inserção para atualizar os valores de Login e Password.

Tenha acesso ao script correspondente através do link abaixo:

[INSERT_USER_TABLE]

Após a conclusão do processo acima, podemos iniciar a configuração da API no arquivo “appsettings.json”, localizado na raiz do diretório.

  • No arquivo, você precisará definir as seguintes propriedades relacionadas ao banco de dados do MIS:
“DatabaseApi”: {

“Host”: “192.168.0.1”,

“DBName”: “Tactium_MIS”,

“User”: “usuario”,

“Passcode”: “senha”

}

  • Além disso, como visto anteriormente, a API precisa ter acesso ao banco de dados do Tactium IP que terá acesso aos registros de usuários que podem ser autenticados. As propriedades relacionadas a essa configuração são:

Caso o acesso ao banco de dados de usuários contenha autenticação criptografada, será necessário criar uma tabela para receber os usuários da API.

“JWTBearerAuth”: {

“ContextFactory”: “MsSqlDBFactory”,

“TokenExpiringMinutes”: 120,

“Host”: “192.168.0.1”,

“DbName”: “TactiumIP”,

“User”: “callback”,

“Passcode”: “softium”,

“Table”: “T_USER”,

“ColumnUser”: “Name”,

“ColumnPass”: “Password”

}

ContextFactory: Fornecedor do banco de dados.

TokenExpiringMinutes: Tempo, em minutos, para a expiração do token.

Host: Servidor de banco de dados para conexão (IP ou hostname ou instancia).

DbName: Nome do banco de dados do Tactium IP.

User: Usuário com privilégios para acessar o banco do Tactium IP.

Passcode: Senha do usuário com privilégios para acessar o banco do Tactium IP.

Table: Tabela onde os usuários da API estão armazenados (na base do Tactium IP). Portanto, manter o nome “T_USER“, conforme script acima disponibilizado.

ColumnUser: Coluna que representa o login dos usuários da API (na base do Tactium IP). Portanto, manter o nome “Name“, conforme script acima disponibilizado.

ColumnPass: Coluna que representa a senha dos usuários da API (na base do Tactium IP). Portanto, manter o nome “Password“, conforme script acima disponibilizado.

Usando a ReportAPI do Tactium MIS

Após a conclusão das configurações acima, iremos realizar o teste de autenticação para uso da API e validar a obtenção dos dados  dos métodos disponíveis, utilizando o token de acesso. Utilizaremos a ferramenta Postman.

Os métodos disponíveis para autenticação e obtenção de dados são os seguintes:

 Autenticação
POST do HTTP + Link da Página Web + sufixo /Login

 

Detalhe de Ligações
POST do HTTP + Link da Página Web + sufixo /CallDetails

 

Detalhe de Atividades
POST do HTTP + Link da Página Web + sufixo /AgentDetails

Para mais informações acesse o Manual de Uso da Report API, este está disponível através do link da página web correspondente a aplicação bastando ser acrescentado no subdomínio o sufixo “/Documentation”.

Por exemplo: https://for.tactium.app/ip/ReportApi/Documentation

Login

Vamos inicialmente verificar se a API consegue se autentificar para comunicar-se com o banco de dados, para isso execute o método POST do HTTP + Link da Página Web + sufixo /Login na chamada.

POST

https://for.tactium.app/ip/ReportApi/Login

Os dados de entrada de tipo JSON serão inseridos no “Body” da requisição:

{
  “login”“admin”,
  “password”“Tactium@mis”
}

Executando o método podemos ter acesso ao token que utilizaremos para obter os dados do relatório desejado, logo a autenticação foi concluída com sucesso.

AgentDetails

Para consultar os dados do relatório Detalhe de Ligações utilizaremos o token gerado anteriormente no método POST do HTTP + Link da Página Web + sufixo /AgentDetails.

POST

https://for.tactium.app/ip/ReportApi/AgentDetails

Os dados de entrada de tipo JSON serão inseridos no “Body” da requisição:

{
“interval”: {
“startDate”: “2023-09-14T17:54:04.867Z”,
“endDate”: “2023-09-14T17:54:04.867Z”
},
“agentName”: “atendente01”
}

Insira o token gerado para efetuar a autorização na requisição.

Executando o método podemos ter acesso aos dados das atividades deste agente em específico.

Caso seja necessário obter as atividades de todos os agentes basta remover o parâmetro “agentName” da chamada.

CallDetails

Para consultar os dados do relatório Detalhe de Ligações utilizaremos o token gerado anteriormente no método POST do HTTP + Link da Página Web + sufixo /CallDetails.

POST

https://for.tactium.app/ip/ReportApi/CallDetails

Os dados de entrada de tipo JSON serão inseridos no “Body” da requisição:

{
  “interval”: {
    “startDate”“2023-01-14T18:16:45.080Z”,
    “endDate”“2023-09-14T18:16:45.080Z”
  },
  “serviceName”“DEMONSTRACAO RECEPTIVO”,
  “agentName”“atendente01”
}

Insira o token gerado para efetuar a autorização na requisição.

Executando o método podemos ter acesso aos dados de ligações deste serviço e agente em específico.

Caso seja necessário receber todas as ligações sem filtrar pelo tipo de agente e serviço basta remover o parâmetro “agentName” e “serviceName” da chamada.

WhatsappDetails

Para consultar os dados do relatório Detalhe de Atendimentos de Mensagem utilizaremos o token gerado anteriormente no método POST do HTTP + Link da Página Web + sufixo /WhatsAppDetails.

POST

https://for.tactium.app/ip/ReportApi/WhatsAppDetails

Os dados de entrada de tipo JSON serão inseridos no “Body” da requisição:

{
  “interval”: {
    “startDate”2024-08-16T18:12:05.947Z,
    “endDate”2024-09-16T18:12:05.947Z
  },
  “serviceName”SAC – SUPORTE,
  “status”“Concluído”,
  “type”: “REC”
}

Insira o token gerado para efetuar a autorização na requisição.

Executando o método podemos ter acesso aos dados de atendimentos deste serviço, status e tipo em específico.

Caso seja necessário receber todos os atendimentos sem filtrar pelo tipo de serviço, status ou tipo basta remover o parâmetro “serviceName”,”status” e “type” da chamada.

CampaignProductivityDetails

Para consultar os dados do relatório Produtividade Campanhas OMNI utilizaremos o token gerado anteriormente no método POST do HTTP + Link da Página Web + sufixo /CampaignProductivityDetails.

POST

https://for.tactium.app/ip/ReportApi/CampaignProductivityDetails

Os dados de entrada de tipo JSON serão inseridos no “Body” da requisição:

{
  “interval”: {
    “startDate”2024-01-16T18:12:05.947Z,
    “endDate”2024-09-16T18:12:05.947Z
  },
  “phoneNumber”“999999999,
  “campaignName”CAMP atualização
}

Insira o token gerado para efetuar a autorização na requisição.

Executando o método podemos ter acesso aos dados de campanha deste número e campanha em específico.

Caso seja necessário receber todos os atendimentos sem filtrar pelo número de telefone ou nome da campanha basta remover o parâmetro “phoneNumber”,”status” e “campaignName” da chamada.



Este conteúdo foi útil para você?
50% LikesVS
50% Dislikes

Index