Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.


01. DADOS GERAIS

Produto:

Solucoes_totvs
SolucaoTOTVS Varejo Supermercados

Solucoes_totvs_cross
SolucaoCross

Solucoes_totvs_parceiros
SolucaoParceiros

Solucoes_totvs_parceirosexptotvs
SolucaoParcsExpsTOTVS

Linha de Produto:

Linhas_totvs
LinhaLinha RMS

Segmento:

Segmentos_totvs
Segmento Varejo

Módulo:

Conector NFE

Função:Recebimento de Email
País:Brasil
Ticket:


Requisito/Story/Issue (informe o requisito relacionado) :

MTRS-7506
MTRS-7538
MTRS-7657
MTRS-8611


02. SITUAÇÃO/REQUISITO

Necessário melhoria na tecnologia de acesso a emails visando maior segurança e controle de dados

03. SOLUÇÃO

Foi necessário alterar a tecnologia de .Net Framework 3.5 para 4.8 e o tipo de comunicação de POP para IMAP, sendo assim para a maioria dos provedores, incluindo a Microsoft que será utilizado aqui, terão a porta de conexão alterada sendo o padrão 993

...

  1. Azure
    1.  
      1. Ir até App Registrations
      2. Clicar em New registration


      3. Escolher um nome (recomendamos como ConectorNFE para ser fácil de achar posteriormente) e colocar como Multitenant
         

      4. Copie o Application(cliente) ID e o Directory (tenant) ID da tela aberta para ser usado mais tarde no processo:
        Image RemovedImage Added

      5. Vá em Certificates & Secrets e clique em New client secret, selecione a duração e um nome


      6. Ao clicar em Add ele irá criar um novo sergredo e este valor só poderá ser copiado e obtido neste momento então é crucial que seja já copiado neste momento e recomendamos armazená-lo por segurança.


        Ao tentar voltar para a tela futuramente o valor ficará da seguinte forma e não poderá ser copiado:


      7. Agora vamos em API permissions e adicionar uma permissão clicando em Add a permission e colocar as seguintes permissões:


      8. Clicar em Grant admin consente, para esta etapa será necessário estar logado como a conta admin do Azure
        Image RemovedImage Added

      9. Rodar o seguinte código:
        Importante verificar que a conta a ser logada nos Connects deve ser a conta do admnistrator do Azure

        [System.Net.ServicePointManager]::SecurityProtocol = 'TLS12'

        Get-ExecutionPolicy

        Set-ExecutionPolicy RemoteSigned

        Install-Module ExchangeOnlineManagement

        Install-Module -Name AzureAD

        Import-module AzureAD

        Import-module ExchangeOnlineManagement 

        $Tenant = <Directory (tenant) ID>

        Connect-AzureAd -Tenant $Tenant

        Connect-ExchangeOnline -Organization $Tenant

        $App = Get-AzureADServicePrincipal -SearchString <Nome Aplicativo>

        New-ServicePrincipal -AppId

    <Application (client) ID> -ServiceId <Directory (tenant) ID> -DisplayName <NomeAplicativo>
      1. $App.AppId -ServiceId $App.ObjectId -DisplayName "Conector IMAP"

        Add-MailboxPermission -Identity <Email a ser utilizado> -User

    <Application (client) ID>
      1. $App.ObjectId -AccessRights FullAccess

        Imagem exemplo:
        Image Added

  2. Conector
    1. No ConectorNFE  -> Configuração -> Parâmetros preencher os seguintes campos:
      Image Modified

      O campo scopo é recomendado deixar como da imagem
      O campo Nome da Pasta no Email é a pasta para o qual será observado os emails, caso deseje a pasta principal basta colocar Inbox
      Cliente(Aplicativo) ID = Application (client) ID
      Diretório(Locatário) ID = Directory (tenant) ID

    2. Ativar a configuração de banco nos parâmetros de banco setando o parâmetro NFEUSAIMAP como S
      Image Added


Obs: Se o conector estiver com problemas na primeira abertura após esta implantação é possível que seja pela falta das tags no arquivo Config.xml sendo assim favor inserir as seguintes tags vazias seguinto a estrutura do arquivo:
    <nfeImapClientId></nfeImapClientId>
    <nfeImapScope></nfeImapScope>
    <nfeImapSecVal></nfeImapSecVal>
    <nfeImapTenantId></nfeImapTenantId>
    <nfeImapFolderName></nfeImapFolderName>

...