Integração com discador TTS

A primeira tarefa a ser executada para o início das operações do sistema CallFlex é a carga do mailing.

A carga do mailing consiste em alimentar o banco de dados do TTS CallFlex com fichas. Define-se por ficha o conjunto de informações de um contato, as quais contém o número do telefone a ser discado e demais informações do mesmo, como nome, endereço e outras informações que poderão ser utilizadas pela URA. Exemplo: Valor da dívida, Quantidade de parcelas em atraso, etc. Esta carga do mailing será efetuada através de inserção direta no banco de dados - insert - através de um usuário e senha específicos, fornecidos pela CallFlex.

O sistema TTS CallFlex deve ser alimentado com fichas contendo um único telefone. Caso necessite inserir mais de um telefone para o mesmo contato, deve ser inserido uma nova ficha com o novo telefone, repetindo o mesmo IDCRM.

Uma vez que todas as fichas inseridas serão discadas, no caso de haver várias fichas de um mesmo contato com telefones distintos, pode-se preferir somente inserir uma nova ficha após ler o retorno da ficha já inserida, constatando o sucesso ou falha para a ficha, e com base nisso decidir se insere ou não uma nova ficha com um novo telefone para o mesmo contato.

O formato e campos destas fichas serão descritas mais a frente neste manual.

Formato dos dados para inserção na tabela tts_discador:

Atributo Domínio Tamanho Descrição
IDCRM Varchar 30 Código no CRM
Fone Varchar 20 Telefone de contato
Nome Varchar 60 Nome do contato
Var1 Varchar 50 Variável 1
Var2 Varchar 50 Variável 2
Var3 Varchar 50 Variável 3
Var4 Varchar 50 Variável 4
Var5 Varchar 50 Variável 5
Var6 Varchar 50 Variável 6
Var7 Varchar 50 Variável 7
Var8 Varchar 50 Variável 8
Var9 Varchar 50 Variável 9
Mailing Varchar 30 Nome do mailing/campanha

NOTA: Somente os campos descritos acima deverão ser populados no INSERT direto na base de dados. Os demais campos da tabela serão preenchidos pelo sistema CallFlex.




Pegar o retorno das fichas já processadas no TTS

A SP "sp_tts_ret_mailing" faz o retorno das fichas que já foram processadas pelo TTS.

Entende-se por fichas processadas as fichas que possuam algum status no campo Mstat ou seja, fichas concluídas pelo TTS com status de falha ou bem sucedida.

A estrutura abaixo é retornada na forma de um resultset (resultado de um select) pela chamada da stored procedure `sp_tts_ret_mailing`.

Na SP 'sp_tts_ret_mailing', o parâmetro identifica o usuário do CRM que inseriu o registro e a cada chamada realizada na SP. Ela traz apenas as fichas que ainda não foram lidas pela SP sp_tts_ret_mailing mas que já foram processadas pelo TTS, isto é, um registro de ficha processada pelo TTS ficará disponível no retorno desta procedure. Ao executá-la, ele será parte deste recordset e será atualizado seu status para que na próxima execução da procedure não retorne um mesmo registro (ficha) como parte do resultado, garantindo que cada chamada na SP tenha apenas registros únicos ainda não recebidos. Caso ocorra algum erro, ainda será possível reaver estes registros utilizando a opção de resetar a exportação, explanada em maiores detalhes abaixo.

Cada chamada na stored procedure retornará, no máximo, mil registros. Essa procedure deverá ser chamada até que não hajam mais registros a serem retornados. A CallFlex recomenda que após isso a procedure volte a ser chamada a cada 30 segundos.


Exemplo: call `sp_tts_ret_mailing`('js8s768');


Atributo Domínio Tamanho Descrição
ID BigInt 20 Id de identificação único interno
Queue Varchar 5 Fila
Nome Varchar 60 Nome do contato
IDCRM Varchar 30 Código no CRM
Fone Varchar 20 Telefone de contato
Fonestatus Varchar 32 Status de processamento telefônico do telefone (ABANDON, ANSWERED, BUSY, CONGESTION, HANGUP, MACHINE, NOANSWER, NOROUTE, RECERROR)
Var1 Varchar 50 Variável 1
Var2 Varchar 50 Variável 2
Var3 Varchar 50 Variável 3
Var4 Varchar 50 Variável 4
Var5 Varchar 50 Variável 5
Var6 Varchar 50 Variável 6
Var7 Varchar 50 Variável 7
Var8 Varchar 50 Variável 8
Var9 Varchar 50 Variável 9
Mailing Varchar 30 Nome do mailing/campanha
Mstat Enum OK, FAIL Status da ficha. Se o telefone obtver sucesso será OK, se não FAIL
Lastcall Datetime Data e hora da última tentativa realizada Data e hora da última tentativa para a ficha
Dtmf_response Varchar 15 Resposta DTMF do cliente
Duration Int 11 Duração da chamada
Human Varchar 40
Classe Enum '','LOCAL','DDDE','DDDN','VC1','VC2','VC3' Classe de chamada do telefone
Custom Varchar 50 Valor para referência do CRM



Obter a quantidade de fichas restantes no TTS

A SP "sp_tts_remain_mailing" retorna a quantidade de fichas que não foram processadas pelo TTS. Entende-se por ficha não processada a ficha que não teve seu campo Mstat alterado, ou seja, fichas onde não houve nenhuma tentativa de discagem.

A estrutura abaixo é retornada na forma de um resultset (resultado de um select) pela chamada da stored procedure `sp_tts_remain_mailing`.

O parâmetro identifica o usuário do CRM que inseriu o registro e traz como retorno a quantia de fichas ainda não processadas, mailing a mailing.

Exemplo: call `sp_tts_remain_mailing`('js8s768');

Atributo Domínio Tamanho Descrição
Identificação Char 8 Nome do mailing
Tot Int 10 Quantidade total de registros não processados



Excluir mailing no TTS

A stored procedure `sp_tts_delete_mailing` permite excluir todos os registros que ainda estejam aguardando processamento - campo Mstat da ficha em branco - do TTS. Este procedimento pode ser utilizado caso a segmentação de mailing seja alterada no sistema de CRM para que haja uma nova carga de mailing. É imprescindível que o TTS CallFlex não esteja utilizando o mailing a ser excluído no momento da chamada da sp_tts_delete_mailing

Exemplo: call `sp_tts_delete_mailing`('js8s768','Telefonica');

Parâmetro Domínio Tamanho Descrição
Identificação Char 8 Código do usuário
Mailing Char 30 Nome do mailing



Excluir fichas do TTS

A stored procedure `sp_tts_delete_ficha` permite excluir uma única ficha através do ClientID que ainda esteja aguardando processamento do TTS.

Exemplo: call `sp_tts_delete_ficha`('js8s768',1234,32);

Parâmetro Domínio Tamanho Descrição Obs:
Identificação Char 8 Código do usuário
ClientID Char 30 Identificação da ficha a ser excluída.
Mailing Char 30 Identificação do mailing ao qual a ficha a ser excluída pertence. Preenchimento opcional. Se mantido em branco, a ficha será excluida apenas com base no parâmetro ClientID.



Resetar fichas do TTS (Em caso de falha na coleta de dados pelo CRM)

A stored procedure `sp_tts_reset_retmailing` permite resetar o status dos registros que já foram retornados pela procedure de retorno "sp_tts_ret_mailing".

Ao resetar um determinado mailing do dia especificado, a próxima chamada na procedure sp_tts_ret_mailing irá retornar todos os registros já processados daquele dia. Esse mecanismo deve ser usado em caso de debug ou de falha na aplicação que resgata os registros.

Caso for preenchido o valor '@ANY' no parâmetro Mailing, o sistema resetará o status de qualquer mailing do dia especificado.

Exemplo: call `sp_tts_reset_retmailing`('js8s768','Telefonica','2012-12-05');

Parâmetro Domínio Tamanho Descrição
Identificação Char 20 Código do usuário
Mailing Char 30 Nome do mailing
Data Date Dia em que o registro foi processado, no formato: 'AAAA-MM-DD'