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 da nota fiscal, no formato: base64-encode(cod-estabel;serie;nr-nota-fis), exemplo:
-
- 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=
- pela chave eletrônica da NFe, apenas os dígitos numéricos, codificada no formato: base64-encode(cod-chave-aces-nf-eletro), exemplo:
Caso o registro exista e a exclusão seja realizada, a requisição será retornada com status 200 e payload vazio.