Páginas filhas
  • DT Integração de Pré-Postagem Nacional(PPN) dos Correios API com TOTVS Moda


01. DADOS GERAIS

Produto:

TOTVS Moda

Segmento:

Varejo

Módulo:

Comercial

Função:Integração de Pré-Postagem Nacional(PPN) dos Correios API com TOTVS Moda
País:Brasil
Requisito/Story/Issue (informe o requisito relacionado) :DVACOM-13894


02. SITUAÇÃO/REQUISITO

Foi solicitada a possibilidade de registrar via integração o PPN (Pré-Postagem Nacional) dos correios com o TOTVS Moda com o objetivo de dar mais agilidade no processo de expedição.

03. SOLUÇÃO

Foram realizadas as implementações necessárias para que a integração do PPN do TOTVS Moda com os correios possa ser utilizada, são elas:

  • No componente INTFM010 foi adicionada a nova função "Geração de PPN", onde o mesmo deverá ter os seguintes campos configurados:
    • DS_URL → URL para geração de PPN. Informação disponível no manual dos correios;
    • DS_URLTOKEN → URL responsável pela a busca do token. Informação disponível no manual dos correios;
    • DS_USUARIOAPI → Usuário para autenticação (Mesma utilizada para logar no site Correios API). 
    • DS_SENHAAPI → Senha para autenticação. Esta senha é gerada dentro do site Correios API como Código de acesso api, na parte de Gestão de acesso a APIs.
  • Foi criado o componente GERFM283 para cadastro do cartão postal dos correios utilizado no envio da PPN, onde:
    • "Cartão postagem" → Número do cartão de postagem vinculado ao contrato;
    • "Descrição" → Descrição desejada do cartão postagem;
    • "Pessoa" → Cadastro da pessoa vinculada ao cartão;
    • "Código administrativo" → Código administrativo do contrato;
    • "Contrato" → Número do contrato da empresa;
    • "Identificador serviço" → Serviço disponível no contrato dos correios;
    • "Diretoria regional" → Número da diretoria regional do contrato do cliente;
    • "Serviço de postagem" → Código do serviço de postagem;
    • "Data emissão" → Data de emissão do cartão postal dos correios.
  • No componente PEDFM111 foram adicionados os seguintes campos: "Forma pagamento PPN", "Tipo objeto PPN" e "ID PPN" sendo os dois primeiros para configurações e o terceiro será preenchido quando a integração for efetuada;
  • No componente PEDFP158 foi incluída a opção "Gerar PPN" e quando a mesma for selecionada juntamente com o pedido de venda desejado, o PPN será gerado caso o pedido selecionado tenha uma embalagem vinculada na contagem para extrair as suas dimensões. Caso o mesmo não possua será apresentado componente GERFP008 informando que não é possível continuar.
  • No componente PEDFP158 foram incluídas também as opções: "Tipo objeto", "Imprimir" e "Nr. vias". A opção "Tipo objeto" é utilizada para ser informado no JSON do PPN (tag "tipo_objeto"), caso não seja configurado no pedido. Já o "Imprimir" será utilizado para indicar que no final do processo de envio da PPN seja impresso um relatório com os itens enviados e o campo "Nr. vias" para indicar o número de vias que será impresso o relatório (quando o "Imprimir" for selecionado e o campo "Nr. vias" não for preenchido, será considerado que é para ser impresso apenas uma via do relatório).

Observação: O código de serviço utilizado para gerar o PPN é de acordo com a configuração do ID de serviço realizado através do componente GERFM283, se referindo a um cadastro oriundo dos correios. Porém caso o cliente possua mais de um código de serviço de envio em seu cartão postagem, o código de serviço poderá ser posto nos dados adicionais do pedido, que o sistema respeitará a informação do pedido para a geração do PPN.


CD_TIPOFONE_CELULAR

Imagem 01 - Acima é demonstrado o parâmetro utilizado na busca do telefone identificado como celular no sistema. Tipo de telefone criado no componente PESFL019. No cadastro de pessoa, o telefone celular deverá ser cadastrado no padrão DDFFFFFFFFF. Sendo os dois primeiros dígitos o DDD do celular e o restante sendo o número do celular, sem separadores. Caso não seja configurado o parâmetro, o sistema irá enviar o primeiro telefone que encontrar no cadastro e caso seja configurado e o cadastro não possua, o elemento de celular não enviado ao PPN (o telefone celular não é uma informação obrigatória, não dando problemas não ter os elementos para geração da PPN.


Imagem 02 - Demonstra o componente INTFM010, onde está realizada a configuração para a geração de PPN. As URLs acima são de ambiente de homologação. É necessário verificar com os Correios a URL da API e URL do Token para o ambiente de produção.



Imagem 03 - Demonstra o GERFM283, onde são configurados os cartões de postagem do Correios, que deverão ser selecionados no PEDFP158 e utilizados na geração da PPN. 


Imagem 04 - Caso seja informada uma data de emissão maior que a data atual do sistema, a mensagem acima é apresentada não permitindo o cadastro do cartão postagem.


Imagem 05 - Após configurado o cartão de postagem do Correios, ao enviar uma PPN, deverá ser selecionado o cartão de postagem que deverá ser utilizado no envio, no filtro "Cartão postagem" do PEDFP158

Abaixo será demonstrado um exemplo onde o pedido de venda utilizado possui embalagem vinculada para a geração do PPN.

Imagem 01  - Demonstra o componente PEDFM001, onde está sendo consultado o pedido de venda "18722". Em seguida está sendo acionado o botão "Opção adicional...", então o componente PEDFM103 é apresentado e o botão "Dados adicionais..." acionado.


Imagem 02 - Ao acionar o botão mencionado anteriormente, o componente PEDFM111 é apresentado, onde está sendo selecionado no campo "Tipo objeto PPN" a opção "Envelope". 


Observação: Considerar que o pedido demonstrado anteriormente, teve uma contagem criada e que o mesmo foi faturado e sua transação encerrada e que a contagem do mesmo possui a embalagem "1013" vinculada.

Imagem 03 - Demonstra o componente PEDFP158, onde está sendo selecionada a opção "Gerar PPN", selecionado o pedido "18722" e acionado o botão "Processar".


Imagem 04 Ao acionar o botão mencionado anteriormente, a mensagem acima é apresentada onde está sendo selecionada a opção "Sim".

Imagem 05 - Ao selecionar a opção mencionada anteriormente, a mensagem acima é apresentada informando que o processo foi concluído com sucesso.


Imagem 06 - Ao consultar novamente os dados adicionais do pedido de venda "18722" através do componente PEDFM111, pode ser visto que o mesmo está apresentado o número de objeto transporte e que o ID PPN foi gerado corretamente, demonstrado assim que a integração foi realizada com sucesso.


Abaixo será demonstrado um exemplo onde o pedido de venda utilizado não possui uma embalagem vinculada para a geração do PPN.

Imagem 07  - Demonstra o componente PEDFM001, onde está sendo consultado o pedido de venda "18723". Em seguida está sendo acionado o botão "Opção adicional...", então o componente PEDFM103 é apresentado e o botão "Dados adicionais..." acionado.


Imagem 08  - Ao acionar o botão mencionado anteriormente, o componente PEDFM111 é apresentado, onde está sendo selecionado no campo "Tipo objeto PPN" a opção "Envelope". 


Observação: Considerar que o pedido demonstrado anteriormente, teve uma contagem criada e que o mesmo foi faturado e sua transação encerrada e que a contagem do mesmo não possui nenhuma embalagem vinculada.

Imagem 09  - Demonstra o componente PEDFP158, onde está sendo selecionada a opção "Gerar PPN", selecionado o pedido "18723" e acionado o botão "Processar".


Imagem 10 - Ao acionar o botão mencionado anteriormente, a mensagem acima é apresentada onde está sendo selecionada a opção "Sim".


Imagem 11 - Pelo fato da contagem do pedido de venda selecionado não possuir nenhuma embalagem vinculada ao mesmo, o componente GERFP008 é apresentado informando que não é possível gerar o PPN dos correios.


Imagem 12 - Na imagem acima é demonstrado as dimensões exigidas para cada tipo de pacote ou caixa, caso estejam foram de padrão, o JSON enviado não será aceito.


Imagem 13 - Demonstra o componente GERFM047, onde está sendo informada a contagem "127122" referente ao pedido de venda "11804" e está sendo adicionado o tipo de embalagem "1013" e realizada a gravação.


Imagem 14 - Está sendo acessado novamente o componente PEDFP158, selecionado novamente o pedido de venda "18723"e acionado o botão "Processar".


Imagem 15 - Pelo fato da contagem referente ao pedido ter tido um tipo de embalagem vinculado, o processo é concluído com sucesso.


Imagem 16 - Ao acessar o componente PEDFM111, pode ser visto que a integração do PPN foi realizada com sucesso.


OBS: Conforme documentação da PPN, não é necessário gerar o código de rastreio previamente para envio da PPN. Os Correios sabem que toda PPN é relacionada a um código de rastreio, desta forma ao enviar um pedido para gerar a PPN, os Correios irão gerar este código de rastreio de devolver ao sistema, ficando asism gravado no pedido o número do objeto.

No PEDFP158 foi implementado para que ao realizar o envio da PPN, seja impresso um relatório com os itens enviados, para isto foram criadas as opções "Imprimir" e "Nr. vias".

A opção "Imprimir" será utilizada para indicar se será impresso ou não o relatório dos itens enviados e o campo "Nr. vias" será utilizado para indicar a quantidade de vias que será impresso o relatório (quando o "Imprimir" for selecionado e o campo "Nr. vias" não for preenchido, será considerado que é para ser impresso apenas uma via do relatório).

Gif 01 - Demonstração do envio da PPN realizando a impressão do relatório dos itens enviados em duas vias. 

O elemento "codigoFormatoObjetoInformado" no json do PPN poderá ser definida no pedido ao informar o campo "Tipo objeto PPN" no PEDFM111.

No PEDFP158 foi adicionado o filtro "Tipo objeto", para que caso o pedido não tenha o tipo de objeto definido no campo "Tipo objeto PPN" no PEDFM111, ao ser processado a PPN no PEDFP158, o tipo informado no filtro será utilizado para a geração do json para os pedidos que não possua esta informação e nestes pedidos serão gravados o tipo informado no filtro "Tipo objeto" do PEDFP158 no campo "Tipo objeto PPN" do PEDFM111 do pedido.

Demonstração do funcionamento do filtro "Tipo objeto" do PEDFP158:

Imagem 01 - Pedido 18733 lançado com campo "Tipo objeto PPN" no PEDFM111 como "Envelope".


Imagem 02 - Pedido 18734 lançado sem o tipo de objeto no campo "Tipo objeto PPN" no PEDFM111.


Imagem 03 - No PEDFP158 foi gerado a PPN dos dois pedidos informando o filtro "Tipo objeto" como "Pacote/Caixa". Este tipo neste filtro somente será gerado para o pedido 18734 que não possui um tipo configurado no pedido.


Imagem 04 - No pedido 18733 foi gravado os dados da PPN e manteve o tipo de objeto que estava configurado antes do envio no PEDFP158


Imagem 05 -  No pedido 18734 foi gravado os dados da PPN, e como não possuía o tipo de objeto gravado no pedido ("Tipo objeto PPN" do PEDFM111), foi utilizado e gravado o tipo informado no filtro "Tipo objeto" do PEDFP158