01. DADOS GERAIS

Produto:

Linha de Produto:

Segmento:

Módulo:

Oficina (SIGAOFI)

Auto-Peças (SIGAPEC)

Veículos (SIGAVEI)

Função:

Configura diretórios DTF API (OFIA410)

DTF API REST (OFIA411)

Log API (OFIA262)

País:Brasil
Ticket:XXXXXXXX
Requisito/Story/Issue (informe o requisito relacionado) :MMIL-XXXX


02. SITUAÇÃO/REQUISITO

Necessário o desenvolvimento das chamadas API REST criadas pela John Deere no Protheus para substituir a versão desktop/client da solução DTF existente atualmente.

03. SOLUÇÃO

Atualmente os clients DTF existentes nos concessionários John Deere estão executando chamadas ao servidor antigo do DTF para subir e baixar arquivos da John Deere. Por conta disso, a John Deere marcou uma data de descontinuação do servidor antigo do DTF, encerrando assim seu funcionamento e suporte.

A John Deere criou um REST API para suportar todas as operações do DTF. O Protheus deverá realizar estas chamadas API diretamente para realizar as transferências entre a John Deere e os concessionários. Desta forma, foram desenvolvidas chamadas API REST com OKTA criadas pela John Deere no Protheus para substituir a versão desktop/client da solução DTF existente atualmente.

A especificação técnica do DTF nos trouxe três serviços disponibilizados pela API:
1. File Upload: subida de um arquivo específico gerado pelo Protheus para o DTF;
2. File List: listagem dos arquivos disponíveis para serem baixados do DTF para o Protheus;
3. File Download: baixa de um arquivo específico gerado pelo DTF para o Protheus.

Desta forma, foram disponibilizados os processos de download e upload que deverão ser tratados da seguinte forma:
1. Download:
a. O sistema realiza a listagem dos arquivos disponíveis para o download através do serviço File List;
b. Uma vez em posse dos nomes dos arquivos a serem baixados, uma fila deverá ser criada para que os arquivos sejam baixados;
c. Por fim, será realizada a chamada do serviço File Download para cada arquivo da fila.
2. Upload:
a. O sistema realiza a leitura de todos os arquivos existentes nos diretórios de upload configurados (a ideia é ter diretórios segmentados por processo);
b. Uma vez em posse dos nomes dos arquivos a serem subidos, uma fila deverá ser criada para que os arquivos sejam subidos;
c. Por fim, será realizada a chamada do serviço File Upload para cada arquivo da fila.


Procedimentos para utilização

ATENÇÃO! Como se trata de uma rotina de configuração técnica do sistema, não insira estas rotinas em menus de usuários. Somente a equipe de T.I. deve ter acesso a estas rotinas!



  • No Configurador (SIGACFG) acesse Ambientes/Cadastros/Menu (CFGX013). Informe as novas opções de menu do módulo de Oficina (SIGAOFI) conforme instruções a seguir:



Menu

Atualizações

Submenu

Geral John Deere

Nome da Rotina

Configura diretórios DTF API

Programa

OFIA410

Módulo

Oficina / Auto-Peças / Veículos

Tipo

Função Protheus



Menu

Atualizações

Submenu

Geral John Deere

Nome da Rotina

DTF API REST

Programa

OFIA411

Módulo

Oficina / Auto-Peças / Veículos

Tipo

Função Protheus



Menu

Consultas

Submenu

Gerais

Nome da Rotina

Log API

Programa

OFIA262

Módulo

Oficina / Auto-Peças / Veículos

Tipo

Função Protheus




Criação de Tabela no arquivo SX2 – Tabelas:


Chave

Nome

Modo

PYME

VK5

Log de Requisições WEB

E

S




Criação de Campo no arquivo SX3 – Campos:


  • Tabela VK5 - Log de Requisições WEB:


Campo

VK5_FILIAL

VK5_UUIDVK5_DATTYP
Tipo

Caracter

CaracterCaracter
Grupo de Campos033

Ordem

01

0203
Tamanho

2

362
Decimal

0

00
Formato@!@!@!
Contexto1 - Real1 - Real1 - Real
Propriedade1 - Alterar1 - Alterar1 - Alterar
Título

Filial

UUIDTipo de dado
Descrição

Filial

Unique IDTipo de dados
Val. Sistema



Vazio() .or. ExistCPO("VX5","084"+M->VK5_DATTYP)
Opções

#OFIOA560CB("084",2)
Inic. PadrãoxFilial("VK5")

FWUUIDV4(.t.)

"01"
Inic. Browse


Cons. Padrão




Nível

1

11
Usado

Não

SimSim
Obrigatório

Não

NãoSim
Browse

Não

NãoSim
When




Pasta




Help

Informe a Filial.

Unique ID.

Tipo para classificar por projeto os dados.



Campo

VK5_ORIGEM

VK5_MESSAGVK5_ORITAB
Tipo

Caracter

CaracterCaracter
Grupo de Campos


Ordem

04

0506
Tamanho

2

23
Decimal

0

00
Formato@!@!@!
Contexto1 - Real1 - Real1 - Real
Propriedade1 - Alterar1 - Alterar1 - Alterar
Título

Origem

MensagemTabela Ori.
Descrição

Origem

Tipo de MensagemTabela de Origem
Val. Sistema

Vazio() .or. ExistCPO("VX5","085"+M->VK5_ORIGEM)

Vazio() .or. ExistCPO("VX5","083"+M->VK5_MESSAG)
Opções#OFIOA560CB("085",2)#OFIOA560CB("083",2)
Inic. Padrão"01"



Inic. Browse


Cons. Padrão




Nível

1

11
Usado

Sim

SimSim
Obrigatório

Sim

NãoNão
Browse

Sim

SimSim
When




Pasta




Help

Origem da requisição, se veio do SO, mobile ou protheus (DBS).

Informe o tipo de mensagem.

Informa a tabela de origem do registro.




Campo

VK5_ORIKEY

VK5_RESCODVK5_REQHEA
Tipo

Caracter

NuméricoMemo
Grupo de Campos


Ordem

07

0809
Tamanho

100

310
Decimal

0

00
Formato@!@ 999@!
Contexto1 - Real1 - Real1 - Real
Propriedade1 - Alterar1 - Alterar1 - Alterar
Título

Chave Ori.

Resp. HTTPReq. Cab.
Descrição

Chave Registro de Origem

Resp. HTTPHeaders da Req.
Val. Sistema




Opções


Inic. Padrão



Inic. Browse


Cons. Padrão




Nível

1

11
Usado

Sim

SimSim
Obrigatório

Não

NãoNão
Browse

Sim

SimNão
When




Pasta




Help

Informa a chave de pesquisa do registro da tabela de origem.

Informe o código do retorno HTTP.

Headers da requisicao em formato json




Campo

VK5_REQBOD

VK5_RESHEAVK5_RESBOD
Tipo

Memo

MemoMemo
Grupo de Campos


Ordem

10

1112
Tamanho

10

1010
Decimal

0

00
Formato@!@!@!
Contexto1 - Real1 - Real1 - Real
Propriedade1 - Alterar1 - Alterar1 - Alterar
Título

Req. Body

Resp. Cab.Resp. Body
Descrição

Body da Req.

Headers da Resp.Body da Resp.
Val. Sistema




Opções


Inic. Padrão



Inic. Browse


Cons. Padrão




Nível

1

11
Usado

Sim

SimSim
Obrigatório

Não

NãoNão
Browse

Não

NãoNão
When




Pasta




Help

Body da requisicao em formato json

Headers da resposta em formato json

Body da resposta em formato json



Campo

VK5_DATINC

VK5_DATALT
Tipo

Caracter

Caracter
Grupo de Campos

Ordem

13

14
Tamanho

14

14
Decimal

0

2
Formato@R 9999-99-99 99:99:99@E 99,999,999,999.99
Contexto1 - Real1 - Real
Propriedade1 - Alterar1 - Alterar
Título

Dt Inclusão

Dt Alteração
Descrição

Data Inclusão Registro

Data Alteração Registro
Val. Sistema



Opções

Inic. PadrãoFGX_Timestamp()

FGX_Timestamp()

Inic. Browse

Cons. Padrão



Nível

1

1
Usado

Sim

Sim
Obrigatório

Não

Não
Browse

Sim

Sim
When

.f.

.f.
Pasta



Help

Data em que o registro foi inserido no banco.

Data em que o registro foi alterado no banco.




Criação de Índices no arquivo SIX – Índices:



  • Tabela VCU - Histórico DEF por Campo DEF:


Índice

VK5

Ordem

1

Chave

VK5_FILIAL+VK5_UUID

Descrição

Unique id

Proprietário

S



Índice

VK5

Ordem

2

Chave

VK5_FILIAL+VK5_DATTYP+VK5_ORIGEM

Descrição

Tipo de dados + Origem

Proprietário

S



Índice

VK5

Ordem

3

Chave

VK5_FILIAL+VK5_DATINC

Descrição

Data Inclusão

Proprietário

S



Índice

VK5

Ordem

4

Chave

VK5_FILIAL+VK5_DATALT

Descrição

Data Alteração

Proprietário

S



Índice

VK5

Ordem

5

Chave

VK5_FILIAL+VK5_ORITAB+VK5_ORIKEY

Descrição

Tabela Ori.+Chave Ori.

Proprietário

S



04. DEMAIS INFORMAÇÕES

Outras ações/ações relacionadas 



05. ASSUNTOS RELACIONADOS