Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
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).
Disponibilizar uma API para gerar um novo Token com base no CNPJ/CPF, IE e UFautenticação por Token na comunicação do TSSOffline com o TSSOnline.
A API será na estrutura WS REST com o nome RestNewToken e com apenas o método GET, que receberá a mensagem JSON codificada em base64 e chamará a função GetNewToken() passando a mensagem JSON decodificada.
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:
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.
Todos os parâmetros da mensagem serão obrigatórios.
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:
Retorno Positivo:
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.
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.
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
Criação do TOKEN para validação da mensagem do TSSOffline com o TSSOnline para que não ocorra interceptação no meio da comunicação. Na função TSSPostQueueMessage() que é responsável pela comunicação com o TSSOnline é chamado a função getTSSToken() que é responsável por gerar o TOKEN, assim deverá ser enviado no cabeçalho da comunicação.
Com o Token definido e a comunicação realizada com o TSSOnline, o TOKEN chega no cabeçalho e com isso é gerado um outro TOKEN para verificar a consistência da mensagem baseado no CNPJ e a mensagem JSON enviada, se o TOKEN enviado for igual ao TOKEN gerado a comunicação é válida e segue o fluxo da transmissão do documento
Função:getTSSToken ()
Função responsável pela geração do TOKEN de validação da mensagem.
A função getTSSToken receberá os parâmetros de CNPJ e a mensagem JSON com isso ele soma o CNPJ+MsgJSON e codifica em base64, após isso é essa mensagem codificada é novamente o codificada em SHA1 e retornado para a função que chamou com o TOKEN
cCNPJ;
cMsgJson
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|