Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.                                                             

  

Informações Gerais

 

Especificação

Produto

 

Módulo

 

Segmento Executor

 

Projeto1

 

IRM1

 

Requisito1

 

Subtarefa1

 

Chamado2

 

País

(  ) Brasil  (  ) Argentina  (  ) Mexico  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colombia   (  ) Outro _____________.

Outros

<Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>.

   Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos). 

Objetivo

Disponibilizar uma API  para inclusão de strings de tradução no AtuSX.

 

Definição da Regra de Negócio


Deverá ser desenvolvida uma API de integração com o AtuSX para permitir a inclusão de strings de tradução diretamente em sua base de dados.

O nome da rotina RESTFul deverá ser ATUSX.

A API deverá ser desenvolvida usando os fundamentos do RESTFul e deverá contemplar os seguintes metadados do AtuSX:

  • Dicionário de perguntas – SX1
  • Dicionário de tabelas – SX2
  • Dicionário de campos – SX3
  • Cadastro de tabelas genéricas – SX5
  • Dicionário de Parâmetros – SX6
  • Dicionário de Pastas e agrupamentos – SXA 
  • Dicionário de consultas padrões – SXB
  • Dicionário de grupo de campos – SXG
  • Help e help de campos
  • Tabela de strings de tradução de programas – arquivos .CH
  • Menus do sistema

As chamadas do REST deverão ser organizadas da seguinte forma

MétodoURIMetadado
PUT/questionDicionário de perguntas
PUT/tableDicionário de tabelas
PUT/fieldDicionário de campos
PUT/genericTableTabelas genéricas
PUT/parameterDicionário de parâmetros
PUT/folderDicionário de pastas e agrupamentos
PUT/lookupDicionário de consultas padrão

PUT

/fieldGroupDicionário de grupos de campos
PUT/helpHelp de campo
PUT/programTextStrings de programas
PUT/menuMenus do sistema


Exemplo de como deverá ser composta uma URL: http://<servidor>:<porta>/rest/atusx/<URI>


 Todos os métodos REST deverão receber um JSON no corpo da mensagem que deverá conter as seguintes informações:

  • version: Versão do dicionário no AtuSX (parâmetro não obrigatório)
  • project: Código do projeto no AtuSX (parâmetro não obrigatório)
  • package: Código do pacote no AtuSX (parâmetro não obrigatório)

 

key: Array contendo os valores que representam a chave da tabela de destino no AtuSX.

Esta opção poderá conter os seguinte valores:

URIValoresExemplo de preenchimento
/question
ZX1_GRUPO+ZX1_IDFIL+ZX1_ORDEM+ZX1_IDZA4
[Grupo de Perguntas, ID do filtro padrão, Ordem do Pergunte, País]"key":["ABSENT","","01","BRA"]
/table
ZX2_ALIAS+ZX2_IDZA4
[Alias da tabela, País]"key":["SA1","BRA"]
/field
ZX3_CAMPO+ID_ZA4
[Nome do campo, País]"key":["A1_NOME","BRA"]
/genericTable
ZX5_TABELA+ZX5_CHAVE+ZX5_IDZA4
[Código da tabela, Chave da Tabela, País]"key":["00","01","BRA"]
/parameter
ZX6_VAR+ZX6_IDZA4
[Nome do parâmetro, País]"key":["MV_1DUP","BRA"]
/folder
ZXA_ALIAS+ZXA_ORDEM+ZXA_AGRUP
[Alias da tabela, Ordem da Folder, Grupo da Folder]"key":["SA1","1",""]
/lookup
ZXB_CODSXB+ZXB_TIPO+ZXB_SEQ+ZXB_COLUNA+ZXB_IDZA4
[Código da SXB, Tipo da consulta padrão, Sequencia, Coluna, País]"key":["A2A","1","01","DB","BRA"]
/fieldGroup
ZXG_CODSXG+ZXG_IDZA4
[Código do grupo, País]"key":["001","BRA"]
/help
ZXH_NOME+País**
[Descrição do help, País]"key":[".A014NOPR.","BRA"]
/programText ZB1_IDZB0+ZB1_CHAVE+ZB1_IDZA4"key":[1,"STR0001","BRA"]
/menu
ZMN_CODIGO
[Código do menu]"key":["0000008203"]
** - O serviço de atualização do Help é o único que verifica duas tabelas, ZXH e ZXT, e apesar do País não estar presente na chave da ZXH, ele é necessário para atualização do valor na ZXT, dessa forma é preciso que seja informado.


 
Lista de possíveis países:

CódigoSiglaDescrição
1ALLTodos
2BRABrasil
3ARGArgentina
4EUAEstados Unidos
5CHIChile
6COLColômbia
7VENVenezuela
8MEXMéxico
9PORPorto Rico
10PARParaguai
11URUUruguai
12PERPeru
13COSCosta Rica
14DOMRep. Dominicana
15EQUEquador
16PANPana
17BOLBolívia
18SALEl Salvador
19PTGPortugal
20ANGAngola
21HAIHaiti
22TRITrinidad e Tobago
23PADPadrão
24AUSAustrália
25RUSRussia

 

 

  • property: Mnemônico que representa alguma coluna específica da tabela que será atualizada.
    Os valores possíveis para esse parâmetro são:

    URIValores
    /question description, definition1, definition2, definition3. definition4, definition5
    /tabledescription
    /fieldtitle, description, options
    /genericTabledescription
    /parameter description1, description2, description3
    /folder description
    /lookup description
    /fieldGroupdescription
    /helptext
    /programTexttext
    /menutext
  • idiom: Idioma no qual se deseja incluir o temo traduzido. A lista de possíveis valores para esse parâmetro são: pt-br (português do Brasil), pt (português de Portugal), en (ingles), es (espanhol), ru (russo).
  • value: Valor traduzido

 

O JSON deverá ser montado seguindo o seguinte modelo:

Bloco de código
languagejs
titleModelo do JSON
linenumberstrue
[
	{
		"version" : "<AtuSX version -non obligatory->",
		"project" : "<AtuSX project -non obligatory->",
		"package" : "<AtuSX package -non obligatory->",
		"key" : [
			<Index Keys separate by ",">
		],
		"property" : "<Field to update>",
		"idiom" : "<pt-br, pt, en, es, ru>",
		"value" : "<Tranlated term>"
	},
	...
]


Exemplo de JSON formatado com valores reais para alterações de registros de SX1:

URI: /atusx/question

Bloco de código
languagejs
titleExemplo de JSON preenchido
[
	{"version":"","project":"","package":"","key":["ABSENT","","01","RUS"],"property":"description","idiom":"ru","value":"России тест"},
	{"version":"","project":"","package":"","key":["ABSENT","","01","RUS"],"property":"definition1","idiom":"ru","value":"да"},
	{"version":"","project":"","package":"","key":["ABSENT","","01","RUS"],"property":"definition2","idiom":"ru","value":"нет"}
]

 

De modo geral o JSON enviado deverá ser um array onde cada linha será correspondente a um UPDATE na tabela do AtuSX. Cada item do array deverá ter todas as informações necessárias para a localização do registro que será atualizado e o valor a ser incluído.

Autenticação

A principio utilizaremos autenticação Basic.

Erros e Validações Atutenticação

A própria API deverá possuir tratamento para diversos erros nas requisições. Segue a lista dos principais erros tratados:

  • Problema na estrutura do JSON.
  • Não foi preenchida a tag Key.
  • Não foi preenchida a tag Property.
  • Não foi preenchida a tag Idiom.
  • Não foi preenchida a tag Value.
  • Não foi informado um idioma válido (o conteúdo deve ser: pt-br, pt, en, es ou ru).
  • Conteúdo da tag Property é inválido.
  • Tamanho do array passado na tag Key difere do tamanho da chave de índice correspondente.
  • Registro não pode ser encontrado

Casso seja passado mais de um JSON pra ser processado de uma só vez, o erro deverá retornar qual posição do array apresentou erro. Porém, neste caso, todos os JSONs anteriores terão sido processados e o processo será abortado ao localizar um erro.





 

 

Opcional

Fluxo do Processo

 

<Nesta etapa incluir representações gráficas que descrevam o problema a ser resolvido e o sistema a ser desenvolvido. Exemplo: Diagrama - Caso de Uso, Diagrama de Atividades, Diagrama de Classes, Diagrama de Entidade e Relacionamento e Diagrama de Sequência>. 

 

 

 

 

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.