Árvore de páginas


01. DADOS GERAIS

Produto:

TOTVS Saúde Planos

Linha de Produto:

Linha Datasul

Segmento:

Saúde

Módulo:

HVP - Venda de Planos - Inovação

Função:Gestão de Protocolos Unimed integrado ao CRM (Manutenção de Ocorrências - Gestão de Planos)
País:Brasil
Requisito/Story/Issue (informe o requisito relacionado):

DSAUGPSCONTRAT2-16492


02. SITUAÇÃO/REQUISITO

Processo de integração do TOTVS Saúde Planos com o GPU (Gestão de Protocolos Unimed) para solicitação e resposta de protocolos Não Clientes.

03. SOLUÇÃO

Foi desenvolvido o endpoint "solicitar-protocolo-nao-cliente" para criação automática de protocolos, irá criar protocolos do tipo "Cliente Particular" no CRM (Manutenção Ocorrências - Gestão de Planos), com as informações recebidas.

Para utilização, basta atualizar a mídia contendo a atualização, e configurar os campos do CRM abaixo através do script que será disponibilizado nesta documentação. Os códigos a serem utilizados são do CRM, e ficam disponíveis na URL do detalhar do respectivo cadastro, conforme prints abaixo:

  • Categoria de Atendimento (categoryId) - html-crm.ticket-type

  • Motivo de Atendimento (motiveId) - html-crm.ticket-subject

  • Setor de Atendimento (userGroupId) - html-crm.group-user

  • Canal de Atendimento (channelId) - html-crm.ticketSource

Nesta tela, é necessário abrir o F12 do browser, na parte do Network, antes de clicar no nome do Canal de Atendimento, irá mostrar o código interno no nome da requisição, conforme print abaixo.

Script para atualização dos quatro campos citados acima:

Script
function getParamGlobal return char (cod-indic-tab-par as char, cod-param-par as char):
    
    for first param-geral fields(param-geral.des-param) 
        where param-geral.cod-indic-tab = cod-indic-tab-par
          and param-geral.cod-param     = cod-param-par    
              no-lock:
        return param-geral.des-param.
    end.
    
    return "".

end function.

define variable cod-categoria-atend-aux as integer no-undo.
define variable cod-motivo-atend-aux as integer no-undo.
define variable cod-setor-atend-aux as integer no-undo.
define variable cod-canal-atend-aux as integer no-undo.

define frame f-param
    cod-categoria-atend-aux at 2  label "Categoria Atendimento" format "99999" view-as fill-in size 10 by 1.5
    cod-motivo-atend-aux at 2  label "Motivo Atendimento" format "99999" view-as fill-in size 10 by 1.5
    cod-setor-atend-aux at 2  label "Setor Atendimento" format "99999" view-as fill-in size 10 by 1.5
    cod-canal-atend-aux at 2  label "Canal Atendimento" format "99999" view-as fill-in size 10 by 1.5
    with side-labels title "Editar parametros CRM nao clientes" overlay size 40 by 8 three-d centered row 2.3.


assign cod-categoria-atend-aux = int(getParamGlobal("CRM","cod-categ-solic-nao-cli")).
assign cod-motivo-atend-aux = int(getParamGlobal("CRM","cod-motivo-solic-nao-cli")).
assign cod-setor-atend-aux = int(getParamGlobal("CRM","cod-setor-solic-nao-cli")).
assign cod-canal-atend-aux = int(getParamGlobal("CRM","cod-canal-solic-nao-cli")).

update cod-categoria-atend-aux with frame f-param.
update cod-motivo-atend-aux with frame f-param.
update cod-setor-atend-aux with frame f-param.
update cod-canal-atend-aux with frame f-param.

run atualizar.

procedure atualizar private:

    find first param-geral
         where param-geral.cod-indic-tab = "CRM"
           and param-geral.cod-param = "cod-categ-solic-nao-cli"
               exclusive-lock no-error.
    if avail param-geral
    then assign param-geral.des-param = string(cod-categoria-atend-aux).
    else run criar("cod-categ-solic-nao-cli",cod-categoria-atend-aux).
    
    validate param-geral.
    release param-geral.
    
    find first param-geral
         where param-geral.cod-indic-tab = "CRM"
           and param-geral.cod-param = "cod-motivo-solic-nao-cli"
               exclusive-lock no-error.
    if avail param-geral
    then assign param-geral.des-param = string(cod-motivo-atend-aux).
    else run criar("cod-motivo-solic-nao-cli",cod-motivo-atend-aux).
    
    validate param-geral.
    release param-geral.
    
    find first param-geral
         where param-geral.cod-indic-tab = "CRM"
           and param-geral.cod-param = "cod-setor-solic-nao-cli"
               exclusive-lock no-error.
    if avail param-geral
    then assign param-geral.des-param = string(cod-setor-atend-aux).
    else run criar("cod-setor-solic-nao-cli",cod-setor-atend-aux).
    
    validate param-geral.
    release param-geral.    
    
    find first param-geral
         where param-geral.cod-indic-tab = "CRM"
           and param-geral.cod-param = "cod-canal-solic-nao-cli"
               exclusive-lock no-error.
    if avail param-geral
    then assign param-geral.des-param = string(cod-canal-atend-aux).
    else run criar("cod-canal-solic-nao-cli",cod-canal-atend-aux).
    
    validate param-geral.
    release param-geral.    

end procedure.

PROCEDURE criar PRIVATE:
    DEF INPUT PARAM cod-param-par AS CHAR NO-UNDO.
    DEF INPUT PARAM int-campo-par AS INT  NO-UNDO.
    
    CREATE param-geral.
    ASSIGN param-geral.cod-indic-tab = "CRM"
           param-geral.cod-param     = cod-param-par
           param-geral.des-param     = string(int-campo-par).
END PROCEDURE.


Também foi desenvolvido o processo de resposta ou solução do protocolo não cliente. Quando o protocolo é respondido ou solucionado no CRM, é efetuada a integração com o GPU, informando os dados da resposta e se o protocolo foi resolvido (solucionado), conforme o manual.


Conteúdos relacionados: