Query executada cliente não respondeu: mudanças entre as edições

De Wiki NBS
Ir para navegação Ir para pesquisar
Sem resumo de edição
Sem resumo de edição
Linha 6: Linha 6:


  Query
  Query
'''-- Eventos que vieram de disparo (ATIVOS)'''
 <small>Procedure Job_Leadzap_Nao_Respondeu Is</small>


select e.cod_empresa, e.cod_evento, id_disparo
<small>   Begin</small>


from crm_eventos e, crm_disparo_fila f
<small>     For CHAT_BOT In (SELECT E.COD_EMPRESA,</small>


where e.cod_evento  = f.cod_evento
<small>                             E.COD_EVENTO,</small>


and f.status = 'E'  -- enviado
<small>                             F.ID_DISPARO</small>


and e.status = 'P' -- Evento pendente
<small>                      FROM CRM_EVENTOS E,</small>


and not exists (select 1 from crm_chatbot_resposta where cod_evento = e.cod_evento)  --nao foi respondido
<small>                           CRM_DISPARO_FILA F,</small>


and (sysdate - f.data_disparo) > 1 --  24 horas do disparo
<small                         PARM_SYS3 PS</small>


'''union'''
<small>                      WHERE E.COD_EVENTO  = F.COD_EVENTO</small>


'''-- Eventos que vieram de clientes (Passivo)'''
<small>                        AND E.COD_EMPRESA = PS.COD_EMPRESA</small>


select e.cod_empresa, e.cod_evento, 0
<small>                        AND F.STATUS      = 'E'  --ENVIADO</small>


from crm_eventos e
<small>                        AND E.STATUS      = 'P'  --EVENTO PENDENTE</small>


where e.status = 'P' -- Evento pendente
<small>                        --Tira Cliente = 1</small>


and not exists (select 1 from crm_chatbot_resposta where cod_evento = e.cod_evento)  --nao foi respondido
<small>                        AND E.COD_CLIENTE <> 1</small>


and cod_programacao in (1000002) --- Agendamento somente
<small>                        AND NOT EXISTS (SELECT 1</small>


and (sysdate - e.data_evento) >  <parâmetro de dias: 1 ou 2 ou 3>
<small                                      FROM CRM_CHATBOT_RESPOSTA R</small>


Ação
<small>                                        WHERE R.COD_EVENTO = E.COD_EVENTO</small>
Insert into '''CRM_CHATBOT_RESPOSTA'''
{| class="wikitable"
|COD_EMPRESA


COD_EVENTO
<small>                                         AND R.COD_EMPRESA = E.COD_EMPRESA) --NAO FOI RESPONDIDO</small>


ID_DISPARO
<small>                        AND (SYSDATE - F.DATA_DISPARO) > NVL(PS.LEADZAP_NAO_RESPONDEU, 1)</small>
|DA QUERY
 
|-
<small>                      Union</small>
|ID_ITEM
 
|99   -- FIXO
<small>                      SELECT E.COD_EMPRESA,</small>
|}
 
<small>                             E.COD_EVENTO,</small>
 
<small>                             0 ID_DISPARO</small>
 
<small>                      FROM CRM_EVENTOS E,</small>
 
<small>                           PARM_SYS3 PS</small>
 
<small>                      WHERE E.STATUS = 'P' --EVENTO PENDENTE</small>
 
<small>                        AND E.COD_EMPRESA = PS.COD_EMPRESA</small>
 
<small>                        --Tira Cliente = 1</small>
 
<small>                        AND E.COD_CLIENTE <> 1</small>
 
<small>                        AND NOT EXISTS (SELECT 1</small>
 
<small>                                        FROM CRM_CHATBOT_RESPOSTA R</small>
 
<small>                                        WHERE R.COD_EVENTO = E.COD_EVENTO</small>
 
<small>                                         AND R.COD_EMPRESA = E.COD_EMPRESA)  --NAO FOI RESPONDIDO</small>
 
<small>                        AND E.COD_PROGRAMACAO IN (1000002) --- AGENDAMENTO SOMENTE</small>
 
<small>                        AND (SYSDATE - E.DATA_EVENTO) >  NVL(PS.LEADZAP_NAO_RESPONDEU, 1)) LOOP</small>
 
<small>        Insert Into Crm_Chatbot_Resposta</small>
 
<small>          (COD_EMPRESA, COD_EVENTO, ID_DISPARO, ID_ITEM)</small>
 
<small>        Values</small>
 
<small>          (CHAT_BOT.Cod_Empresa, CHAT_BOT.Cod_Evento, CHAT_BOT.Id_Disparo, 99);</small>
 
<small>     End Loop;</small>

Edição das 14h22min de 14 de setembro de 2020

Conceito

Quando o cliente responder ao chatbot, vamos guardar a resposta na tabela “CRM_CHATBOT_RESPOSTA”

Ou seja, se não tem registro nesta tabela, ainda não respondeu

Imagechatnresp.png
Query

 Procedure Job_Leadzap_Nao_Respondeu Is

   Begin

     For CHAT_BOT In (SELECT E.COD_EMPRESA,

                             E.COD_EVENTO,

                             F.ID_DISPARO

                      FROM CRM_EVENTOS E,

                           CRM_DISPARO_FILA F,

                           PARM_SYS3 PS

                      WHERE E.COD_EVENTO  = F.COD_EVENTO

                        AND E.COD_EMPRESA = PS.COD_EMPRESA

                        AND F.STATUS      = 'E'  --ENVIADO

                        AND E.STATUS      = 'P'  --EVENTO PENDENTE

                        --Tira Cliente = 1

                        AND E.COD_CLIENTE <> 1

                        AND NOT EXISTS (SELECT 1

                                        FROM CRM_CHATBOT_RESPOSTA R

                                        WHERE R.COD_EVENTO = E.COD_EVENTO

                                         AND R.COD_EMPRESA = E.COD_EMPRESA) --NAO FOI RESPONDIDO

                        AND (SYSDATE - F.DATA_DISPARO) > NVL(PS.LEADZAP_NAO_RESPONDEU, 1)

                      Union

                      SELECT E.COD_EMPRESA,

                             E.COD_EVENTO,

                             0 ID_DISPARO

                      FROM CRM_EVENTOS E,

                           PARM_SYS3 PS

                      WHERE E.STATUS = 'P' --EVENTO PENDENTE

                        AND E.COD_EMPRESA = PS.COD_EMPRESA

                        --Tira Cliente = 1

                        AND E.COD_CLIENTE <> 1

                        AND NOT EXISTS (SELECT 1

                                        FROM CRM_CHATBOT_RESPOSTA R

                                        WHERE R.COD_EVENTO = E.COD_EVENTO

                                         AND R.COD_EMPRESA = E.COD_EMPRESA)  --NAO FOI RESPONDIDO

                        AND E.COD_PROGRAMACAO IN (1000002) --- AGENDAMENTO SOMENTE

                        AND (SYSDATE - E.DATA_EVENTO) >  NVL(PS.LEADZAP_NAO_RESPONDEU, 1)) LOOP

        Insert Into Crm_Chatbot_Resposta

          (COD_EMPRESA, COD_EVENTO, ID_DISPARO, ID_ITEM)

        Values

          (CHAT_BOT.Cod_Empresa, CHAT_BOT.Cod_Evento, CHAT_BOT.Id_Disparo, 99);

     End Loop;