Versões comparadas

Chave

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

enova Token

 

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

  

(Obrigatório)

Informações Gerais

 

Especificação

Produto

TSS

Módulo

TSS

Segmento Executor

SERVIÇOS

Projeto1

M_SER_TSS002

IRM1

PCREQ-8285

Requisito1

PCREQ-8286

Subtarefa1

 

Release de Entrega planejada

12.1.13

País

( X ) 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). 

(Obrigatório)

Objetivo

 

Disponibilizar uma API para gerar um novo Token com base no CNPJ/CPF, IE e UF.

(Obrigatório)

Definição da Regra de Negócio

 

Através da API de gerar Token, as aplicações cliente do TSS poderão obter um Token para posteriormente validar a conexão do TSS Off-line com o TSS Online. A geração do Token é por CNPJ/CPF, IE e UF. O critério para geração será obtido através dos parâmetros recebidos pela API. A API terá como retorno uma mensagem JSON contendo o Token.

O consumo da API deverá ser realizado através de mensagens JSON em base 64 definidas no WebService RestNewToken.

Os códigos de status serão baseados no formato padrão de mensagens HTTP, conforme o link:

https://pt.wikipedia.org/wiki/Lista_de_c%C3%B3digos_de_status_HTTP

 

WebService: RestNewToken()

WebService responsável pela definição da Interface da API de Renova Token.

O WebService deverá receber mensagens na estrutura JSON em base 64, onde serão decodificadas e passadas como parâmetro para a função GetNewToken().

O retorno do WebService será uma mensagem JSON contendo o Token.

Parâmetros: 

JSON =

 eyJlbXByZXNhIjp7IkNHQyI6ICI1MzExMzc5MTAwMDEyMiIsInRpcG9wZXNzb2EiOjIsImllIjogIjExMTAxMDk0NTExMSIsInVmIjogIlNQIn19

 

Mensagem JSON decodificada:

 {"empresa":{"CGC": "53113791000122","tipopessoa":2,"ie": "111010945111","uf": "SP"}}

 

 

Retorno Negativo:

{

   "TOKEN": "",

   "error": "CGC Inválido"

}

Retorno Positivo:

{

   "TOKEN": "a89ad6cf202f3b7f5683a44759a705f294034808",

   "error": null

}

 

Função: GetNewToken()

A função deverá receber mensagens na estrutura JSON, onde serão convertidas em objeto pela função fwJsonDeserialize().

Caso não haja erro na deserialização de JSON para objeto, será chamada a rotina ValEntrada(), passando como parâmetro o objeto.

A função ValEntrada() retornará uma string contendo o Token, este token será passado na chamada da função getJSONResp() junto com a mensagem de erro (caso exista). O retorno da função getJSONResp() é a mensagem  já na estrutura JSON.

A rotina GetNewToken será finalizada e como retorno será passado a mensagem na estrutura JSON.

Todos os parâmetros da mensagem serão obrigatórios.

 

Parâmetros:

cJsonRequest =

 

{"empresa":{"CGC": "53113791000122","tipopessoa":2,"ie": "111010945111","uf": "SP"}}

 

Retorno Negativo:

{

   "TOKEN": "",

   "error": "CGC Inválido"

}

Retorno Positivo:

{

   "TOKEN": "a89ad6cf202f3b7f5683a44759a705f294034808",

   "error": null

}

 

Função:  ValEntrada()

A função receberá como parâmetro o objeto da requisição, validará todos os campos quanto a obrigatoriedade, tamanho e tipo de dados. Se algum dado estiver inconsistente, deverá retorna a mensagem de validação correspondente informando.

Os dados contidos no objeto recebido como parâmetro, serão validados afim de identificar quais foram preenchidos, os campos: TipoPessoa,CGC, Inscrição Estadual e UF são obrigatórios.

Com as informações validadas, será chamada a função GetToken(), para essa função serão passados como parâmetros: o CNPJ,CPF,IE e UF. O retorno desta função será uma string contendo o Token.

Após obter o retorno da rotina GetToken(), a função ValEntrada() será encerrada, retornando o Token.

Parâmetros: 

oObjeto – Mensagem JSon deserializada e transformada em Objeto.

@cError – Mensagem de erro.

 

Retorno:

 cToken – String contendo o Token.

Função: GetToken()

Para a geração de um novo Token, a rotina utilizará a função SHA1 (Secure Hash Algorithm) gera o hash (ou digest) de um conteúdo, com base no algoritmo definido em FIPS PUB 180-1 published April 17, 1995. Para a geração do Token serão concatenado os dados: CNPJ, CPF, IE, UF, Data, Hora, Minuto e Segundo.

O token e as informações do Cliente serão incluídos ou atualizados na tabela TSS0005.

O retorno da função será uma string contendo o Token.

 

Parâmetros: 

CNPJ – CNPJ do Cliente.

CPF – CPF do Cliente.

IE – Inscrição Estadual do Cliente.

UF – Unidade da Federação do Cliente.

cError – Mensagem de erro.

Retorno:

cToken  - String contendo o Token.

 

Função: GetJSONResp()

A rotina consiste em obter os dados de entrada e gerar a mensagem em estrutura JSON.

A rotina retornará uma string na estrutura JSON

Parâmetros: 

cToken  - String contendo o Token.

cError – Mensagem de erro.

Retorno:

cJSONResponse – String na estrutura JSON.

 

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