01. DADOS GERAIS

Produto:

Linha de Produto:

Segmento:

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

Estes campos são do cadastro do CRM, e o código a ser informado deve ser do cadastro deles.

Para pegar o código, o cliente pode criar um protocolo do tipo Cliente Particular pela tela Manutenção de Ocorrências (Gestão de Planos), e no F12, verificar o código interno dos campos citados.

Exemplo:

Abrir o F12 antes de tudo, criar um protocolo tipo "Cliente Particular", em destaque os campos citados acima, que devem ser devidamente informados (categoria, motivo, setor e canal de atendimento).

Na área de Network, deve constar uma requisição, como a do exemplo abaixo. No caso a ocorrência foi colocada como Pendente, então a requisição se chama "pending", ao clicar nela constará todos os campos que foram enviados ao backend para gravar o protocolo. Os códigos dos campos citados acima são os códigos internos do CRM, os quais serão informados no script abaixo.

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

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.


Conteúdos relacionados: