Árvore de páginas


01. DADOS GERAIS

Produto:

TOTVS Backoffice

Linha de Produto:

Linha Datasul

Segmento:

Backoffice

Módulo:

TOTVS Backoffice (Linha Datasul) - Faturamento (MFT)

Função:

FT0502

API ftp/invoicePublic

API ftp/invoicePublic/ecommerce

API ftp/invoicePublic/tracking

País:Brasil
Requisito/Story/Issue:DMANFATINOV-1483, DMANFATINOV-1484, DMANFATINOV-1485


02. SITUAÇÃO/REQUISITO

Botão que será apresentado para as notas AUTORIZADAS na tela “FT0502 – Manutenção de Notas Fiscais” em “Inf. Gerais” com a descrição “Rastreamento”.

03. SOLUÇÃO

Criado botão "Rastreamento" que será apresentado para as notas AUTORIZADAS na tela “FT0502 – Manutenção de Notas Fiscais” em “Inf. Gerais”.
Ao clicar no botão rastreamento abrirá a tela FT0502V, onde serão apresentados/alterados/criados os dados de código e URL referente ao rastreio informado pela transportadora.

Ao alterar, o botão fica habilitado:

Ao clicar no botão “Rastreamento”, abre a tela FT0502V:

Alterado a API publica de retorno dos dados da nota fiscal (ftp/invoicePublic) e incluído os dados de rastreio.

Os dados serão retornados no seguinte formato:

 "tracking": [ {
         "trackingUrl""www.teste.com/123124142",
         "trackingCode""123124142"
  }]


Como Utilizar a API e obter os dados de rastreio

GET para ftp/v1/invoicePublic:

Para obter os dados de rastreio basta fazer uma requisição GET para /dts/datasul-rest/resources/prg/ftp/v1/invoicePublic e informar a parametro de "expand" igual a "tracking", exemplo de chamada:

IP:PORTA/dts/datasul-rest/resources/prg/ftp/v1/invoicePublic?expand=tracking

Exemplo de retorno:


GET para ftp/v1/invoicePublic/ecommerce:

Para obter os dados de rastreio para a rota de ecommerce basta fazer uma requisição GET para /dts/datasul-rest/resources/prg/ftp/v1/invoicePublic/ecommerce, exemplo de chamada:

IP:PORTA/dts/datasul-rest/resources/prg/ftp/v1/invoicePublic/ecommerce

Exemplo de retorno:

Criado nova rota na API publica de retorno dos dados da nota fiscal (ftp/invoicePublic), essa nova rota retornará os dados de rastreio de uma nota fiscal especifica.

Os dados serão retornados no seguinte formato:

{
    "trackingUrl""www.teste.com/123124142",
    "series""9",
    "invoiceNumber""0092231",
    "siteID""0",
    "trackingCode""123124142"
}


Como Utilizar a API e obter os dados de rastreio

GET para ftp/v1/invoicePublic/tracking/{base64-encode(invoiceKey)}:

Para obter os dados de rastreio basta fazer uma requisição GET para /dts/datasul-rest/resources/prg/ftp/v1/invoicePublic/tracking e informar no path parameter a chave da nota fiscal, no formato: base64-encode(cod-estabel;serie;nr-nota-fis), exemplo:

IP:PORTA/dts/datasul-rest/resources/prg/ftp/v1/invoicePublic/tracking/MDs5OzAwOTIyMzE=

Exemplo de retorno:



Foi criada nova API pública de dados de rastreio da nota fiscal (ftp/invoiceTracking). Nela é possível inserir, consultar, alterar e excluir os dados de rastreio de uma nota fiscal especifica, localizando a NFe através dos dados chave da nota fiscal ("CodEstab;Serie;NrNotaFiscal") ou a chave eletrônica da NFe, ambos codificados em Base64

Os dados serão retornados no seguinte formato:

{
    "trackingUrl""https://urlexemplo.com/rastreio/codigoRastreio",
    "series""1",
    "invoiceNumber""4415163",
    "siteID""1",
    "trackingCode""codigoRastreioExemplo"
}


Como Utilizar a API e obter os dados de rastreio:


POST para ftp/v1/invoiceTracking:

Para criar os dados de rastreio através da API, deve ser enviada uma requisição POST para /dts/datasul-rest/resources/prg/ftp/v1/invoiceTracking informando no payload da requisição os dados chave da nota e os dados de rastreio para serem inseridos:

  • com dados da chave da nota fiscal, informando no payload os campos siteID, series, invoiceNumber, além dos campos do rastreio, conforme exemplo:

 


  • com a chave eletrônica da NFe, apenas os dígitos numéricos, informada no campo invoiceEletronicKey, além dos campos do rastreio, conforme exemplo:

A requisição retorna o registro que foi criado, conforme exemplo:


GET para ftp/v1/invoiceTracking/{base64-encode(invoiceKey)}:

Para obter os dados de rastreio basta fazer uma requisição GET para /dts/datasul-rest/resources/prg/ftp/v1/invoiceTracking e informar no path parameter um dos dois parâmetros para busca:

  • pela chave da nota fiscal, no formato: base64-encode(cod-estabel;serie;nr-nota-fis), exemplo:
    • IP:PORTA/dts/datasul-rest/resources/prg/ftp/v1/invoicePublic/tracking/MTsxOzQ0MTUxNjM=


  • pela chave eletrônica da NFe, apenas os dígitos numéricos, codificada no formato: base64-encode(cod-chave-aces-nf-eletro), exemplo:
    • IP:PORTA/dts/datasul-rest/resources/prg/ftp/v1/invoiceTracking/MzUyMzA5NTMxMTM3OTEwMDAxMjI1NTAwMTAwNDQxNTY2MjE3MTE5OTYzMTA=

O retorno para ambos é o mesmo, conforme exemplo:


PUT para ftp/v1/invoiceTracking:

Para atualizar os dados de rastreio basta fazer uma requisição PUT para /dts/datasul-rest/resources/prg/ftp/v1/invoiceTracking e informar no payload da requisição os dados chave da nota e os dados de rastreio para serem atualizados:

  • pela chave da nota fiscal, informando no payload os campos siteID, series, invoiceNumber, além dos campos do rastreio, conforme exemplo:

 


  • pela chave eletrônica da NFe, apenas os dígitos numéricos, informada no campo invoiceEletronicKey, além dos campos do rastreio, conforme exemplo:

A requisição retorna o registro que foi atualizado, conforme exemplo:

DELETE para ftp/v1/invoiceTracking:

Para excluir os dados de rastreio, basta fazer uma requisição DELETE para /dts/datasul-rest/resources/prg/ftp/v1/invoiceTracking informando no path da requisição os dados chave da nota, podendo ser:

    • pela chave da nota fiscal, no formato: base64-encode(cod-estabel;serie;nr-nota-fis), exemplo:
      • IP:PORTA/dts/datasul-rest/resources/prg/ftp/v1/invoicePublic/tracking/MTsxOzQ0MTUxNjM=
  •  
    • pela chave eletrônica da NFe, apenas os dígitos numéricos, codificada no formato: base64-encode(cod-chave-aces-nf-eletro), exemplo:
      • IP:PORTA/dts/datasul-rest/resources/prg/ftp/v1/invoiceTracking/MzUyMzA5NTMxMTM3OTEwMDAxMjI1NTAwMTAwNDQxNTY2MjE3MTE5OTYzMTA=

Caso o registro exista e a exclusão seja realizada, a requisição será retornada com status 200 e payload vazio.