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' |