Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

 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

PDR_SER_TSS002-336

Chamado2

 

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 Bilhetagem do TSS.


(Obrigatório)

Definição da Regra de Negócio

 

 

Através da API de bilhetagem do TSS, as aplicações cliente do TSS poderão obter informações sobre a quantidade de documentos que foram para a fila do TSS online. A consulta será realizada por CNPJ ou CPF, inscrição estadual, estado e tipo de pessoa, como os parâmetros mês e ano. O critério para consulta na base de dados será obtido através dos parâmetros recebidos pela API. A API terá como retorno duas listas, uma informando as quantidades do ambiente de produção e outra das quantidades do ambiente de homologação, as quantidades são separadas por tipo de documento e estarão estruturados em um objeto. os somatórios das quantidades dos documentos encontrados de todos os CNPJs passado na requisição, separado por ambiente de produção e homologação SEFAZ.

O consumo da API deverá ser realizado através de mensagens JSON em base 64 definidas no WebService RestBillingserviço REST TSSRESTBILLING(). 

O processo de Serialização e Deserialização de mensagens deverá ser realizado através das funções FwJsonSerialize() e FwJsonDeserialize() respectivamente. 

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

 

A API funciona com paginação de dados, para cada requisição da API existe um limite de retorno de dados. O limite está em 100 CNPJs ou CPFs por requisição.

 

Caso existe paginação após a primeira requisição, a API retornará no atributo “PAG” com um conteúdo diferente de “” (branco ou vazio, porém nunca nulo), o conteúdo deste atributo deverá ser retornado no próximo consumo da API, para assim dar continuidade no retorno dos dados.

 

As informações obrigatórias para o consumo da API são

mês e ano, as demais são opcionais. 

 

 

CNPJ ou CPF, inscrição estadual, estado e tipo de pessoa, como os parâmetros mês e ano 

 

WebService: RestBilling TSSRESTBILLING()

 

WebService Serviço REST responsável pela definição da Interface da API de Bilhetagem TSS. 

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

 

O retorno do WebService será uma mensagem JSON contendo duas listas estruturadas em um Objeto.

 

Parâmetros:

 

 

JSON =

 

 

 

ew0KCSJFTVBSRVNBIjogew0KCQkiQ0dDIjogIjEyMzQ1Njc4OSIsDQoJCSJ0aXBvcGVzc29hIjogMg0KCX0sDQoJIlBhcmFtZXRyb3MiOiB7DQoJCSJhbm8iOiAiMjAxNiIsDQoJCSJtZXMiOiAiMDkiDQ

 

oJfSwNCgkiUkVDTk8iOiAwDQp9

 

 

 

 ew0KICAgICAgICAgICAgIkVNUFJFU0EiOiBbew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ0dDIjogIjA3NTQ5NzA3MDAwMTA5IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIklOU0MiOiAiMTIxIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVGIjogIlNQIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRJUE9QRVNTT0EiOiAiMiINCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDR0MiOiAiMDc1NDk3MDcwMDAxMDkiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSU5TQyI6ICIxMjEiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVUYiOiAiU1AiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVElQT1BFU1NPQSI6ICIyIg0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgXSwNCiAgICAgICAgICAgICJQQVJBTUVUUk9TIjogew0KICAgICAgICAgICAgICAgICAgICAgICAgIkFOTyI6ICIyMDE3IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICJNRVMiOiAiMDUiDQogICAgICAgICAgICB9DQp9DQogDQo=

 

Mensagem JSON sem codificação 64:

 

 

 

{

 

                "EMPRESA": {

 

                               "CGC": "123456789",

 

                                "tipopessoa": 2

 

                },

 

                "Parametros": {

 

                               "ano": "2016",

 

                               "mes": "09"

 

                },

 

                "PAG": ""

 

}

 

Retorno Negativo:

 

{

 

            "RESULT": {

 

                        "PAG": "",

 

                        "BILHETAGEM": []

 

            },

 

            "error": " Par?metros de data n?o foram informados. "

 

}

 

 

 

Retorno Positivo:

 

{

 

            "RESULT": {

 

                        "PAG": "04022046000162",

 

                        "BILHETAGEM"            "EMPRESA": [{

 

                                   "CGC": "0035873000016907549707000109", 

                                   "PRODUCAOINSC": {

 

                                               "DADOSBILHETAGEM": [{

 

                                                           "TIPODOC": "NFE",

 

                                                           "DOCUMENTOS": 46,

 

                                                           "TENTATIVAS": 133

 

                                               }, {

 

                                                           "TIPODOC": "CTE",

 

                                                           "DOCUMENTOS": 9,

 

                                                           "TENTATIVAS": 15

 

                                               }, {

 

                                                           "TIPODOC": "MDFE",

 

                                                           "DOCUMENTOS": 4,

 

                                                           "TENTATIVAS": 10

 

                                               }, {

 

                                                           "TIPODOC": "NFSE",

 

                                                           "DOCUMENTOS": 15,

 

                                                           "TENTATIVAS": 51

 

                                               }, {

 

                                                           "TIPODOC": "GNRE",

 

                                                           "DOCUMENTOS": 10,

 

                                                           "TENTATIVAS": 25

 

                                               }, {

 

                                                           "TIPODOC": "ESOCIAL",

 

                                                           "DOCUMENTOS": 6,

 

                                                           "TENTATIVAS": 21

 

                                               }, {

 

                                                           "TIPODOC": "MDE",

 

                                                           "DOCUMENTOS": 3,

 

                                                           "TENTATIVAS": 6

 

                                               }, {

 

                                                           "TIPODOC": "NFCE",

 

                                                           "DOCUMENTOS": 5,

 

                                                           "TENTATIVAS": 11

 

                                               }],

 

                                               "TOTALDOCUMENTOS": 98,

 

                                               "TOTALTENTATIVAS": 272

 

                                   },

 

                                   "HOMOLOGACAO": {

 

                                               "DADOSBILHETAGEM": [{

 

                                                           "TIPODOC": "NFE",

 

                                                           "DOCUMENTOS": 68,

 

                                                           "TENTATIVAS": 173

 

                                               }, {

 

                                                           "TIPODOC": "CTE",

 

                                                           "DOCUMENTOS": 26,

 

                                                           "TENTATIVAS": 59

 

                                               }, {

 

                                                           "TIPODOC": "MDFE",

 

                                                           "DOCUMENTOS": 22,

 

                                                           "TENTATIVAS": 58

 

                                               }, {

 

                                                           "TIPODOC": "NFSE",

 

                                                           "DOCUMENTOS": 36,

 

                                                           "TENTATIVAS": 90

 

                                               }, {

 

                                                           "TIPODOC": "GNRE",

 

                                                           "DOCUMENTOS": 8,

 

                                                           "TENTATIVAS": 23

 

                                               }, {

 

                                                           "TIPODOC": "ESOCIAL",

 

                                                           "DOCUMENTOS": 7,

 

                                                           "TENTATIVAS": 19

 

                                               }, {

 

                                                           "TIPODOC": "MDE",

 

                                                           "DOCUMENTOS": 8,

 

                                                           "TENTATIVAS": 23

 

                                               }, {

 

                                                           "TIPODOC": "NFCE",

 

                                                           "DOCUMENTOS": 8,

 

                                                           "TENTATIVAS": 17

 

                                               }],

 

                                               "TOTALDOCUMENTOS": 183,

 

                                               "TOTALTENTATIVAS": 462

 

                                   }

 

                        }, {

"121",

                                   "UF": "SP",

                                   "TIPOPESSOA": "2"

                        },

                        { 

                                   "CGC": "0389044500018207549707000109", 

                                   "PRODUCAOINSC": {

 

                                               "DADOSBILHETAGEM": [{

 

                                                           "TIPODOC": "NFE",

 

                                                           "DOCUMENTOS": 32,

 

                                                           "TENTATIVAS": 95

 

                                               }, {

 

                                                           "TIPODOC": "CTE",

 

                                                           "DOCUMENTOS": 3,

 

                                                           "TENTATIVAS": 3

 

                                               }, {

 

                                                           "TIPODOC": "MDFE",

 

                                                           "DOCUMENTOS": 9,

 

                                                           "TENTATIVAS": 21

 

                                               }, {

 

                                                           "TIPODOC": "NFSE",

 

                                                           "DOCUMENTOS": 13,

 

                                                           "TENTATIVAS": 43

 

                                               }, {

 

                                                           "TIPODOC": "GNRE",

 

                                                           "DOCUMENTOS": 2,

 

                                                           "TENTATIVAS": 2

 

                                               }, {

 

                                                           "TIPODOC": "ESOCIAL",

 

                                                           "DOCUMENTOS": 7,

 

                                                           "TENTATIVAS": 19

 

                                               }, {

 

                                                           "TIPODOC": "MDE",

 

                                                           "DOCUMENTOS": 7,

 

                                                           "TENTATIVAS": 25

 

                                               }, {

 

                                                           "TIPODOC": "NFCE",

 

                                                           "DOCUMENTOS": 3,

 

                                                           "TENTATIVAS": 6

 

                                               }],

 

                                               "TOTALDOCUMENTOS": 76,

 

                                               "TOTALTENTATIVAS": 214

 

                                   },

 

                                   "HOMOLOGACAO": {

 

                                               "DADOSBILHETAGEM": [{

 

                                                           "TIPODOC": "NFE",

 

                                                           "DOCUMENTOS": 50,

 

                                                           "TENTATIVAS": 149

 

                                               }, {

 

                                                           "TIPODOC": "CTE",

 

                                                           "DOCUMENTOS": 19,

 

                                                           "TENTATIVAS": 58

 

                                               }, {

 

                                                           "TIPODOC": "MDFE",

 

                                                           "DOCUMENTOS": 23,

 

                                                           "TENTATIVAS": 59

 

                                               }, {

 

                                                           "TIPODOC": "NFSE",

 

                                                           "DOCUMENTOS": 46,

 

                                                           "TENTATIVAS": 118

 

                                               }, {

 

                                                           "TIPODOC": "GNRE",

 

                                                           "DOCUMENTOS": 5,

 

                                                           "TENTATIVAS": 14

 

                                               }, {

 

                                                           "TIPODOC": "ESOCIAL",

 

                                                           "DOCUMENTOS": 7,

 

                                                           "TENTATIVAS": 19

 

                                               }, {

 

                                                           "TIPODOC": "MDE",

 

                                                           "DOCUMENTOS": 5,

 

                                                           "TENTATIVAS": 11

 

                                               }, {

 

                                                           "TIPODOC": "NFCE",

 

                                                           "DOCUMENTOS": 3,

 

                                                           "TENTATIVAS": 9

 

                                               }],

 

                                               "TOTALDOCUMENTOS": 158,

 

                                               "TOTALTENTATIVAS": 437

 

                                   }

 

                        }]

 

            },

 

            "error": null

 

}

 

Função: GetBilling()

 

A função GETLISTDOC() 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 matriz com objetos, onde cada objeto será um tipo de documento diferente. Essa matriz será passada como parâmetro 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 GetBilling() será finalizada e como retorno será passado a mensagem na estrutura JSON.

 

Parâmetros:

 

cJsonRequest =

 

 

 

{

 

            "empresa": {

 

                        "CGC": "53113791000122",

 

                        "tipopessoa": 2

 

            },

 

            "parametros": {

 

                        "dtini": "19900101",

 

                        "dtfim": "20150826"

 

            },

 

"PAG":"" ,

 

121",

                                   "UF": "SP",

                                   "TIPOPESSOA": "2"

                        }

            ],

            "PARAMETROS": {

                        "ANO": "2017",

                        "MES": "05"

            }

}

 

Retorno Negativo:

 

{

 

"RESULT": [],

 

            "PAG": "",

 

            "error": " Nenhuma entidade encontrada na base. "

 

}

 

Retorno Positivo:

 

{

 

                            "RESULT": [ {

 

                        "CGC": "00860905000484",

 

                                                                       "PRODUCAO": {

 

                                                                                                                 "NFETOTALDOCUMENTOS": {

 

                                               "DOCUMENTOS": 430,

 

                                                                                                                             "TENTATIVASTOTALTENTATIVAS": 1090

 

                                                                                                                 },

 

                                   "CTE": {

 

                                               "DOCUMENTOSHOMOLOGACAO": 8,

 

                                               "TENTATIVAS": 26

 

                                   },

 

                                   "MDFE": {

 

                                               "DOCUMENTOS": 10,

 

                                               "TENTATIVAS": 28

 

                                   },

 

                                   "NFSE": {

 

                                               "DOCUMENTOS": 15,

 

                                               "TENTATIVAS": 30

 

                                   },

 

                                   "GNRE": {

 

                                               "DOCUMENTOS": 7,

 

                                               "TENTATIVAS": 13

 

                                   },

 

                                   "ESOCIAL": {

 

                                               "DOCUMENTOS": 4,

 

                                               "TENTATIVAS": 10

 

                                   },

 

                                   "MDE": {

 

                                               "DOCUMENTOS": 6,

 

                                               "TENTATIVAS": 9

 

                                   },

 

                                   "NFCE": {

 

                                               "DOCUMENTOS": 6,

 

                                               "TENTATIVAS": 18

 

                                   }

 

                        },

 

                        "HOMOLOGACAO": {

 

                                   "NFE": {

 

                                               "DOCUMENTOS": 37,

 

                                               "TENTATIVAS": 91

 

                                   },

 

                                   "CTE": {

 

                                               "DOCUMENTOS": 5,

 

                                               "TENTATIVAS": 17

 

                                   },

 

                                   "MDFE": {

 

                                               "DOCUMENTOS": 11,

 

                                               "TENTATIVAS": 32

 

                                   },

 

                                   "NFSE": {

 

                                               "DOCUMENTOS": 10,

 

                                               "TENTATIVAS": 22

 

                                   },

 

                                   "GNRE": {

 

                                               "DOCUMENTOS": 8,

 

                                               "TENTATIVAS": 20

 

                                   },

 

                                   "ESOCIAL": {

 

                                               "DOCUMENTOS": 3,

 

                                               "TENTATIVAS": 9

 

                                   },

 

                                   "MDE": {

 

                                               "DOCUMENTOS": 13,

 

                                               "TENTATIVAS": 34

 

                                   },

 

                                   "NFCE": {

 

                                               "DOCUMENTOS": 4,

 

                                               "TENTATIVAS": 13

 

                                   }

 

                        }

 

            }],

 

            "PAG": "",

 

            "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, DTINI, DTFIM e PAG (paginação).

 

Com as informações validadas, será chamada a função Billing(), para essa função serão passados como parâmetros: o CNPJ,CPF, data inicial, data final e paginação para a consulta. O retorno desta função será uma matriz contendo as informações de bilhetagem.

 

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

 

 

 

Parâmetros: 

 

oObjeto – Mensagem JSon deserializada e transformada em Objeto.

 

@cError – Mensagem de erro.

 

 

 

Retorno:

 

 aMatriz – matriz contendo os dados da bilhetagem.

 

 

 

Função: Billing()

 

A rotina deverá executar o filtro na tabela do TSS , e deverá ter como retorno, uma matriz contendo as informações da bilhetagem dividido por: CNPJ/CPF -  produção/homologação – Tipo de Documento – Total de tentativas/Total de documentos.

 

Após executar a query, a rotina gravará todos os dados encontrados em uma matriz. Essa matriz será o retorno da função.

 

 

 

Parâmetros: 

 

cCNPJ – CNPJ do cliente.

 

cCPF  - CPF do cliente.

 

dDtini – Data inicial de inclusão do documento do TSS

 

dDtfim – Data final de inclusão do documento no TSS

 

cPag – Controle de paginação de dados

 

 

 

cError – Mensagem de erro

 

Retorno:

 

aMatriz  -  Matriz multidimensional contendo objetos.

 

 

 

 

 

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: 

 

aArray– Array multidimensional.

 

cPag – Controle de paginação.

 

cError – Mensagem de erro.

 

Retorno:

 

cJSONResponse – String na estrutura JSON.

 

{

                                                                              "TOTALDOCUMENTOS": 0,

                                                                              "TOTALTENTATIVAS": 0

                                                                              }

                                               },

                "error":" Informe os dados da empresa corretamente. "

}

 

 

Retorno Positivo: 

{

                "RESULT": {

                                               "PRODUCAO": {

                                                                              "TOTALDOCUMENTOS": 100,

                                                                              "TOTALTENTATIVAS": 360

                                                                              },

                                               "HOMOLOGACAO": {

                                                                              "TOTALDOCUMENTOS": 250,

                                                                              "TOTALTENTATIVAS": 1000

                                                                              }

                                               },

                "error":""

}

Função: TSSBilling()

A função deverá receber a mensagem JSON já convertida pela função FwJsonDeserialize(). Será realizado a validação das informações da requisição, assim será realizado a busca dos documentos das entidades envolvidas.  

 

 

 

 

 

 

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