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 | 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).
Disponibilizar uma API para Bilhetagem do TSS.
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, 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.
O consumo da API deverá ser realizado através de mensagens JSON em base 64 definidas no WebService RestBilling().
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:
WebService: RestBilling()
WebService responsável pela definição da Interface da API de Bilhetagem TSS.
O WebService deverá receber mensagens na estrutura JSON codificado em base64, onde serão decodificadas e passadas como parâmetro para a função GetBilling().
O retorno do WebService será uma mensagem JSON contendo duas listas estruturadas em um Objeto.
JSON =
ew0KCSJFTVBSRVNBIjogew0KCQkiQ0dDIjogIjEyMzQ1Njc4OSIsDQoJCSJ0aXBvcGVzc29hIjogMg0KCX0sDQoJIlBhcmFtZXRyb3MiOiB7DQoJCSJhbm8iOiAiMjAxNiIsDQoJCSJtZXMiOiAiMDkiDQ
oJfSwNCgkiUkVDTk8iOiAwDQp9
Mensagem JSON sem codificação 64:
{
"EMPRESA": {
"CGC": "123456789",
"tipopessoa": 2
},
"Parametros": {
"ano": "2016",
"mes": "09"
},
"PAG": ""
}
Retorno Negativo:
{
"RESULT": {
"PAG": "04022046000162",
"BILHETAGEM": [{
"CGC": "00358730000169",
"PRODUCAO": {
"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
}
}, {
"CGC": "03890445000182",
"PRODUCAO": {
"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":"" ,
}
Retorno Negativo:
{
"RESULT": [{
"CGC": "00860905000484",
"PRODUCAO": {
"NFE": {
"DOCUMENTOS": 43,
"TENTATIVAS": 109
},
"CTE": {
"DOCUMENTOS": 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()
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.
Função: GetJSONResp()
cJSONResponse – String na estrutura JSON.
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|