Child pages
  • Suframa - Consulta Situação do Fornecedor

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.

Execução direta

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

TIPO DE PARÂMETROTIPO DE DADODESCRIÇÃO
INPUTCHARACTERCNPJ para consulta
OUTPUTJSONObjeto JSON com informações do CNPJ informado
RUN SuframaConsultaSituacao IN hMashup(INPUT "12345678901234", OUTPUT oJson).

Durante a consulta, serão exibidas duas telas:

  1. primeira tela: deve ser digitado o texto exibido na imagem de verificação;
  2. segunda tela: deve ser digitado o texto exibido em uma segunda imagem de verificação e selecionada a inscrição SUFRAMA.

Portanto, este procedimento apresentará uma interface para exibir o CAPTCHA e solicitar ao usuário o respectivo valor e outra para exibição de CAPTCHA e seleção de inscrição. O uso deste procedimento é recomendado para aplicações Progress GUI por encapsular todas as etapas necessárias para a consulta do serviço em questão.

Um exemplo completo pode ser baixado aqui.

Execução em etapas

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:

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.w(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ÂMETROTIPO DE DADODESCRIÇÃO
INPUTCHARACTERCNPJ para consulta
INPUTCHARACTERTexto exibido no CAPTCHA
INPUT-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".

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.w(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
RUN SuframaGetDados IN hMashup(INPUT cCaptcha, INPUT cValor, INPUT-OUTPUT oJson).

Este procedimento é recomendado quando o processo de negócio estiver sendo executado via Appserver e a camada de apresentação for desenvolvida em tecnologias como HTML ou Flex.

Um exemplo completo poder ser baixado aqui.

Retorno de dados

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

NOMETIPO DE DADO
CNPJString
Inscrição SuframaString
Razão SocialString
EndereçoString
ComplementoString
BairroString
CidadeString
EstadoString
CEPString
E-mailString
TelefoneString
Atividade PrincipalString
Atividade SecundáriaString
Atividade EstadualString
Tipos de IncentivosString
Situação CadastralString