01. DADOS GERAIS
Produto: | Solucoes_totvs_parceirosexptotvs |
---|
SolucaoParcsExpsTOTVS | TOTVS DMS |
---|
|
|
---|
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
Totvs custom tabs box |
---|
tabs | Atualização De Dicionário, Passo 01, Passo 02, Passo 03, Passo 04 |
---|
ids | AtualizaçãoDeDicionário,passo1,passo2 |
---|
|
Totvs custom tabs box items |
---|
default | yes |
---|
referencia | AtualizaçãoDeDicionário |
---|
| 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 |
|
Totvs custom tabs box items |
---|
default | no |
---|
referencia | passo1 |
---|
|
|
|
Card documentos |
---|
Informacao | Use esse box para destacar informações relevantes e/ou de destaque. |
---|
Titulo | IMPORTANTE! |
---|
|
05. ASSUNTOS RELACIONADOS