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 regras de dependência – XXA
  • 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/dependencyRulesDicionário de regras de dependência

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
    /questionZX1_GRUPO+ZX1_IDFIL+ZX1_ORDEM+ZX1_IDZA4"key":["ABSENT","","01","BRA"]
    /tableZX2_ALIAS+ZX2_IDZA4"key":["SA1","BRA"]
    /fieldZX3_CAMPO+ID_ZA4"key":["A1_NOME","BRA"]
    /genericTableZX5_TABELA+ZX5_CHAVE+ZX5_IDZA4"key":["00","01","BRA"]
    /parameterZX6_VAR+ZX6_IDZA4"key":["MV_1DUP","BRA"]
    /folderZXA_ALIAS+ZXA_ORDEM+ZXA_AGRUP"key":["SA1","1",""]
    /lookupZXB_CODSXB+ZXB_TIPO+ZXB_SEQ+ZXB_COLUNA+ZXB_IDZA4"key":["A2A","1","01","DB","BRA"]
    /dependencyRulesZZA_DOM+ZZA_SEQUEN"key":["DX1_LAB","001"]
    /fieldGroupZXG_CODSXG+ZXG_IDZA4"key":["001","BRA"]
    /helpZXH_NOME+País**"key":[".A014NOPR.","BRA"]
    /programText ZB1_IDZB0+ZB1_CHAVE+ZB1_IDZA4"key":[1,"STR0001","BRA"]
    /menuZMN_CODIGO"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
    /dependencyRulesdescription
    /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

Atualmente estamos utilizando a A principio utilizaremos autenticação Basic para acesso ao server.

Erros e Validações Atutenticação

A própria API já possui 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 retornará 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.