Páginas filhas
  • ER_PCREQ-8286 Lista_Documentos_Enviados_por_Filial

Versões comparadas

Chave

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

...


WebService: RestListDoc
WebService responsável pela definição da Interface da API de lista documento enviados por filial.
O WebService deverá receber mensagens na estrutura JSON codificado em base64, onde serão decodificadas e passadas como parâmetro para a função ApiListDoc().
O retorno do WebService será uma mensagem JSON.
A situação do documento está codificada em base 64.
Os parâmetros CNPJCGC, Inscrição Estadual e UF são obrigatórios, os demais não são e, portanto, podem ou não vir preenchidos.

...

JSon= ew0KImVtcHJlc2EiOiANCnsiY25waiI6ICI5OTk5OTk5OTk5OTk5OSIsImllIjogIjk5OTk5OTk5IiwidWYiOiAiQUEifSwNCiJ0aXBkb2MiOiJuZmUiLA0KInBhcmFtZXRyb3MiOnsiZHRpbmkiOiAiMTk5MDAxMDEiLCJkdGZpbSI6IjIwMTUwODI2IiwiIHN0YXR1cyI6IjIiLCJkb2MiOiIwMDAwMDEiLCJzZXJpZSI6IjExMSJ9LA0KIlF1ZWJyYSI6MTAwLCANCiJSRUNOTyI6MCANCn0g

Mensagem JSON decodificada:

{
"empresa":

...

{"

...

cgc": "

...

53113791000122","tipopessoa":2,"ie": "

...

111010945111","uf": "

...

SP"},
"tipdoc":"

...

NFE",
"parametros":{"dtini": "

...

20000101","dtfim":"

...

20170101","

...

doc":"

...

","

...

status":"

...

","serie":"

...

"},
"

...

quebra":

...

1,

...


"

...

Recno":

...

0
}

...


Retorno Negativo:

{

"status": 400,

"result":

{

...


Função: APILISTDOC()
Função responsável pela definição da Interface da API de consulta de documentos.
A função GetDocList definirá a estrutura da API. A função deverá ser definida em um fonte.prw definido com o mesmo nome da função.
A função GetDocList deverá ser implementada apenas como função de interface para a API. Deverá ser totalmente desacoplada de qualquer definição de instrução de processamento, devendo apenas realizar as devidas validações das mensagens. Todo o processamento deverá estar definido em funções auxiliares.
A estrutura dos documentos será definida de acordo com as tabelas de negócio: Sendo:
SPED050 – NF-e/NFC-e/CT-e/MDF-e SPED051 – NFS-eSPED201 – GNRESPED202 – DMST-eSPED400 – e-Social
A função APILISTDOC() deverá receber mensagens na estrutura JSON, onde serão convertidas em objeto pela função fwJsonDeserialize().
A função APILISTDOC() funciona com paginação de dados, sendo que existe um limite máximo de dados no retorno, esse limite está especificado no código fonte da função.
Para a paginação, pode ser enviado a quantidade de registros que deseja obter no retorno, porém, deve ser menor que o limite máximo.
Caso não seja possível enviar todos os dados na solicitação em uma página, a rotina retornará o número RECNO do próximo registro, e para a próxima solicitação, deve-se informar este mesmo número RECNO. Assim a função APILISTDOC() iniciará a busca a partir do RECNO informado na entrada dos dados.
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 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 APILISTDOC() será finalizada e como retorno será passado a mensagem na estrutura JSON.

cJsonRequest= 

{
"empresa":

...

{"

...

cgc": "

...

53113791000122","tipopessoa":2,"ie": "

...

111010945111","uf": "

...

SP"}, 
"tipdoc":"

...

NFE", 
"parametros":{"dtini": "

...

20000101","dtfim":"

...

20170101","

...

doc":"

...

","

...

status":"

...

","serie":"

...

"},
"

...

quebra":

...

1,

...


"

...

Recno":

...

0
}

...



Retorno Negativo:

{

"result":

{

"documento":[],

"Paginacao":{"Recno":0}

...

"error": " Estrutura do objeto inválida "

}
 

Retorno Positivo:

"result":
{
"documento":
[
{"ENTIDADE":"000002","IDEMPRESA":"00000000000000000001","DOCID":"1000005","DOCUMENTO":"5","DTENVIO":"20140115","DTPROC":"20140115",
"HRENVIO":"08:59:44","HRPROC":"10:36:15","LOGID":"","SERIE":"1","SITUACAO":"MDE0IC0gTkZlIG7jbyBhdXRvcml6YWRhIC0gQ29ycmlqYSBvIHByb2Js
ZW1hIGUgcmV0cmFuc21pdGEgYXMgbm90YXMgZmlzY2FpcyBlbGV0cvRuaWNhcy4gNTM5L1JlamVp5+NvOiBEdXBsaWNpZGFkZSBkZSBORi1lLCBjb20g
ZGlmZXJlbudhIG5hIENoYXZlIGRlIEFjZXNzbyBbY2hORmU6MzUxMzAyNTMxMTM3OTEwMDAxMjI1NTAwMTAwMDAwMDAwNTEwMDU1NTU1NTJdW25S
ZWM6MzUxMDAwMDY4MzU4NjEzXQ==","STATUS":"OK","TIPO":"NFE","AMBIENTE":""},
],
"Paginacao":{"Recno":3}
} , 
"error": null 
}

...

aMatriz – Matriz de retorno no formato:

aMatriz

{

{"DOC":"754000595","DTFIM":"","DTINI":"20150805","HFIM":"","HINI":"17:05:28","SERIE":"754","SITUA":"002 - Não foi possível assinar a Nfe - entre em contato com o responsável. 028 - Certificado digital Ausente.","STATUS":"Não Transmitido","TIPO":"NFE"},
{"DOC":"754000596","DTFIM":"2015-08-05","DTINI":"2015-08-05","HFIM":"17:12:55","HINI":"17:11:54","SERIE":"754","SITUA":"014 - NFe não autorizada - Corrija o problema e retransmita as notas fiscais eletrônicas. 525\/Rejeição: CFOP de Importação e não informado dados da DI","STATUS":"OK","TIPO":"NFE"},
{"DOC":"754000597","DTFIM":"2015-08-05","DTINI":"2015-08-05","HFIM":"18:03:32","HINI":"18:02:32","SERIE":"754","SITUA":"014 - NFe não autorizada - Corrija o problema e retransmita as notas fiscais eletrônicas. 525\/Rejeição: CFOP de Importação e não informado dados da DI","STATUS":"OK","TIPO":"NFE"},
{"DOC":"AAA123","DTFIM":" - - ","DTINI":"2015-06-19","HFIM":"","HINI":"13:29:44","SERIE":"AAA","SITUA":"002 - Não foi possível assinar a Nfe - entre em contato com o responsável. 028 - Certificado digital Ausente.","STATUS":"Não Transmitido","TIPO":"NFE"}
}

...

aMatriz - Matriz multidimensional contendo objetos, na seguinte estrutura:

aMatriz

{

{"DOC":"754000595","DTFIM":"","DTINI":"20150805","HFIM":"","HINI":"17:05:28","SERIE":"754","SITUA":"002 - Não foi possível assinar a Nfe - entre em contato com o responsável. 028 - Certificado digital Ausente.","STATUS":"Não Transmitido","TIPO":"NFE"},
{"DOC":"754000596","DTFIM":"2015-08-05","DTINI":"2015-08-05","HFIM":"17:12:55","HINI":"17:11:54","SERIE":"754","SITUA":"014 - NFe não autorizada - Corrija o problema e retransmita as notas fiscais eletrônicas. 525\/Rejeição: CFOP de Importação e não informado dados da DI","STATUS":"OK","TIPO":"NFE"},
{"DOC":"754000597","DTFIM":"2015-08-05","DTINI":"2015-08-05","HFIM":"18:03:32","HINI":"18:02:32","SERIE":"754","SITUA":"014 - NFe não autorizada - Corrija o problema e retransmita as notas fiscais eletrônicas. 525\/Rejeição: CFOP de Importação e não informado dados da DI","STATUS":"OK","TIPO":"NFE"},
{"DOC":"AAA123","DTFIM":" - - ","DTINI":"2015-06-19","HFIM":"","HINI":"13:29:44","SERIE":"AAA","SITUA":"002 - Não foi possível assinar a Nfe - entre em contato com o responsável. 028 - Certificado digital Ausente.","STATUS":"Não Transmitido","TIPO":"NFE"}

...