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_UUID | VK5_DATTYP | Tipo | Caracter | Caracter | Caracter | Grupo de Campos | 033 |
|
| Ordem | 01 | 02 | 03 | Tamanho | 2 | 36 | 2 | Decimal | 0 | 0 | 0 | Formato | @! | @! | @! | Contexto | 1 - Real | 1 - Real | 1 - Real | Propriedade | 1 - Alterar | 1 - Alterar | 1 - Alterar | Título | Filial | UUID | Tipo de dado | Descrição | Filial | Unique ID | Tipo de dados | Val. Sistema |
|
| Vazio() .or. ExistCPO("VX5","084"+M->VK5_DATTYP) | Opções |
|
| #OFIOA560CB("084",2) | Inic. Padrão | xFilial("VK5") | FWUUIDV4(.t.) | "01" | Inic. Browse |
|
|
| Cons. Padrão |
|
|
| Nível | 1 | 1 | 1 | Usado | Não | Sim | Sim | Obrigatório | Não | Não | Sim | Browse | Não | Não | Sim | When |
|
|
| Pasta |
|
|
| Help | Informe a Filial. | Unique ID. | Tipo para classificar por projeto os dados. |
Campo | VK5_ORIGEM | VK5_MESSAG | VK5_ORITAB | Tipo | Caracter | Caracter | Caracter | Grupo de Campos |
|
|
| Ordem | 04 | 05 | 06 | Tamanho | 2 | 2 | 3 | Decimal | 0 | 0 | 0 | Formato | @! | @! | @! | Contexto | 1 - Real | 1 - Real | 1 - Real | Propriedade | 1 - Alterar | 1 - Alterar | 1 - Alterar | Título | Origem | Mensagem | Tabela Ori. | Descrição | Origem | Tipo de Mensagem | Tabela 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 | 1 | 1 | Usado | Sim | Sim | Sim | Obrigatório | Sim | Não | Não | Browse | Sim | Sim | Sim | 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_RESCOD | VK5_REQHEA | Tipo | Caracter | Numérico | Memo | Grupo de Campos |
|
|
| Ordem | 07 | 08 | 09 | Tamanho | 100 | 3 | 10 | Decimal | 0 | 0 | 0 | Formato | @! | @ 999 | @! | Contexto | 1 - Real | 1 - Real | 1 - Real | Propriedade | 1 - Alterar | 1 - Alterar | 1 - Alterar | Título | Chave Ori. | Resp. HTTP | Req. Cab. | Descrição | Chave Registro de Origem | Resp. HTTP | Headers da Req. | Val. Sistema |
|
|
| Opções |
|
|
| Inic. Padrão |
|
|
| Inic. Browse |
|
|
| Cons. Padrão |
|
|
| Nível | 1 | 1 | 1 | Usado | Sim | Sim | Sim | Obrigatório | Não | Não | Não | Browse | Sim | Sim | Nã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_RESHEA | VK5_RESBOD | Tipo | Memo | Memo | Memo | Grupo de Campos |
|
|
| Ordem | 10 | 11 | 12 | Tamanho | 10 | 10 | 10 | Decimal | 0 | 0 | 0 | Formato | @! | @! | @! | Contexto | 1 - Real | 1 - Real | 1 - Real | Propriedade | 1 - Alterar | 1 - Alterar | 1 - 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 | 1 | 1 | Usado | Sim | Sim | Sim | Obrigatório | Não | Não | Não | Browse | Não | Não | Nã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 | Contexto | 1 - Real | 1 - Real | Propriedade | 1 - Alterar | 1 - 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ão | FGX_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
- Coloque links com páginas de assuntos relacionados.
