Árvore de páginas

Versões comparadas

Chave

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

A consulta do SUFRAMA funciona em duas etapas:

  1. verificação de imagem;
  2. seleção de inscrição SUFRAMA e segunda verificação de imagem.

O consumo do serviço pode ser feito de duas maneiras: a chamada do serviço, que abrirá as telas para verificação de imagem e seleção de inscrição, ou a execução em etapas, onde ocorrerá o retorno da imagem em base 64, reenvio dos dados com um segundo retorno com as inscrições SUFRAMA e segunda imagem de verificação em base 64 e um terceiro envio de dados.

...

ao Suframa trabalha com dois parâmetro: código do CNPJ e estado.

Execução

...

Após a configuração REST

...

Após a configuração, deve ser feita a chamado para a procedure SuframaConsultaSituacao com SuframaConsultaSituacao com os seguintes parâmetros:

TIPO DE PARÂMETRO

TIPO DE DADO

DESCRIÇÃO

INPUTCHARACTERCNPJ para consulta
INPUTCHARACTERSigla do estado
OUTPUTJSONObjeto JSON com informações do CNPJ informado

...

RUN

...

SuframaConsultaSituacao

...

IN

...

hTasRest(INPUT

...

"12345678901234",INPUT "SP",

...

OUTPUT

...

Durante a consulta, serão exibidas duas telas:

...

poJson).


Um exemplo completo pode ser baixado aqui.

Retorno de dados

...

Âncora

...

dados

...

dados

Os dados retornados pelo serviço de consulta do SUFRAMA são:


NOME

Após a configuração, deve ser feita a chamada para a procedure SuframaGetCaptcha, que possui um parâmetro de saída no formato JSON. Este objeto possui a imagem de verificação no valor "Imagem" em formato base 64. Esta imagem pode ser utilizada para verificação na tela de preferência do desenvolvedor. A tela utilizada no exemplo é a mesma que a utilizada na execução direta:

Bloco de código
RUN SuframaGetCaptcha IN hMashup(OUTPUT oJson).
/*imagem retorna em formato base 64 - utilização de longchar*/
lcImg = oJson:getString("Imagem").

RUN utp\ut-mashup-tela(INPUT lcImg, INPUT "", OUTPUT cCaptcha, OUTPUT cValor).

Com o código de verificação da imagem, deve ser executada a procedure SuframaGetInscricoes com os seguintes parâmetros:

TIPO DE PARÂMETRO
TIPO DE DADO
DESCRIÇÃO
CNPJ
INPUT
String
CHARACTER
Inscrição
CNPJ para consulta
String
INPUT
Razão
CHARACTERTexto exibido no CAPTCHAINPUT-OUTPUTJSON

Objeto retornado na etapa anterior - possui informações que serão utilizadas para consumo do serviço.

Será retornado um objeto com a nova imagem (valor "Imagem") e um objeto JSONArray com as inscrições SUFRAMA (valor "Inscricoes"). Os objetos do array possuem somente o código da inscrição, que podem ser encontrados sob o valor "Número".

Bloco de código
RUN GetCNPJ IN hMashup(INPUT "12345678901234", INPUT cCaptcha, INPUT-OUTPUT oJson).
 
lcImg = oJson:getString("Imagem").
oJsonArray = oJson:getJSONArray("Inscricoes").
 
/*percorrer array para montar LIST-ITEM-PAIRS a ser enviado à tela de verificação*/
DO iCount = 1 TO oJsonArray:COUNT():
    oJsonAux = oJsonArray:getJSONObject(iCount).
    IF cInsc <> "" THEN
        cInsc = cInsc + ",".
    cInsc = cInsc + oJsonAux:getString("Número") + "," + oJsonAux:getString("Número").
END.

RUN utp\ut-mashup-tela(INPUT lcImg, INPUT cInsc, OUTPUT cCaptcha, OUTPUT cValor).

Com o segundo código de verificação e o código da inscrição selecionado, deve ser executada a procedure SuframaGetDados  com os seguintes parâmetros:

TIPO DE PARÂMETROTIPO DE DADODESCRIÇÃO
INPUTCHARACTERTexto exibido no CAPTCHA
INPUTCHARACTERCódigo de inscrição SUFRAMA selecionada
INPUT-OUTPUTJSONObjeto JSON com informações do CNPJ informado
Bloco de código
RUN SuframaGetDados IN hMashup(INPUT cCaptcha, INPUT cValor, INPUT-OUTPUT oJson).

Um exemplo completo poder ser baixado aqui.

Retorno de dados

Os dados retornados pelo serviço de consulta de CNPJ são:

...

CNPJ;

...

Inscrição Suframa;

...

Razão Social;

...

Endereço;

...

Complemento;

...

Bairro;;

...

Cidade;

...

Estado;

...

CEP;

...

E-Mail;

...

Telefone;

...

Atividade Principal;

...

Atividade Secundária;

...

Atividade Estadual;

...

Tipo de Incentivos;

String
Nome FantasiaString
LogradouroString
NúmeroString
ComplementoString
BairroString
CEPString
CidadeString
EstadoString
TelefoneString
Atividade EconômicaString
Atividade Econômica SecundáriaString
Atividade Econômica EstadualString
Tipo de IncentivoString
Situação CadastralString
Data da SituaçãoString
ObservaçãoString
URL ComprovanteString

...