Árvore de páginas

Versões comparadas

Chave

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

O serviço de consulta do SINTEGRA pode possuir de uma a três etapas:

  1. Verificação de CAPTCHA;
  2. Seleção de inscrição estadual;
  3. Retorno de dados.

...

Âncora
direta
direta
Execução direta

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

TIPO DE PARÂMETROTIPO DE DADODESCRIÇÃO
INPUTCHARACTERCNPJ para o qual será executada a consulta
INPUTCHARACTERSigla do estado para o qual a pesquisa será efetuada. Os estados podem ser obtidos através do método GetEstados
OUTPUTJSONObjeto JSON com informações do CNPJ informado
Bloco de código
RUN ConsultaSintegra IN hMashup(INPUT "12345678901234", INPUT "SC", OUTPUT oJson).

...

Âncora
etapas
etapas
Execução em etapas

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

TIPO DE PRÂMETROTIPO DE DADODESCRIÇÃO
INPUTCHARACTERCNPJ para o qual será executada a consulta
INPUTCHARACTERSigla do estado para o qual a pesquisa será efetuada. Os estados podem ser obtidos através do método GetEstados
OUTPUTJSON

Objeto JSON com 3 retornos possíveis:

Bloco de código
RUN SintegraParcial IN hMashup(INPUT "12345678901234", INPUT "SC", OUTPUT oJson).

O objeto de retorno da procedure SintegraParcial procedure SintegraParcial pode possuir uma imagem para validação de CAPTCHA sob o valor "Imagem" ou uma lista com inscrições estaduais do CNPJ selecionado sob o valor "Inscricoes".

Âncora
imagem
imagem
Retorno de imagem

...

O texto digitado para a imagem deve ser adicionado o objeto JSON retornado sob o valor "Codigo" através  através do método putValue. Este objeto deverá ser passado para a procedure SintegraContinuacaoprocedure SintegraContinuacao, já que contém dados necessários para a próxima etapa:

...

As tabelas de inscrições estaduais são diferente entre estados. Por este motivo, o os objetos do array "Inscricoes" pode  pode ter objetos com diferentes estruturas. Pode-se buscar a definição da tabela de inscrições através do valor "InscSchema", um array com a definição da tabela retornada, formado por objetos com a seguinte estrutura:

...

Após selecionada a inscrição, o objeto JSON associado a ela deve ser adicionado ao objeto retornado pelo última execução no valor "InscEstadual" através do método putValue.

Bloco de código
/*verificação de existência de lista de inscrições*/
IF oJson:getLongchar("Inscricoes") <> ? THEN
DO:
    oJsonArray = oJson:getJSONArray("Inscricoes").
    DO iCount = 1 TO  oJsonArray:count():
        oJsonAux = oJsonArray:getJSONObject(iCount).
        IF cInsc <> "" THEN
            cInsc = cInsc + ",".
		/*exemplo utilizando estrutura de inscrições do estado de Alagoas*/
        cInsc = cInsc + oJsonAux:getString("Razão") + "," + oJsonAux:getString("Inscrição").
    END.
    RUN utp/ut-mashup-tela.w(INPUT "", INPUT cInsc, OUTPUT cCaptcha, OUTPUT cValor).
    bloco_do:
    /*busca de objeto com inscrição selecionada pelo usuário para adição ao objeto de retorno*/
    DO iCount = 1 TO  oJsonArray:count():
        oJsonAux = oJsonArray:getJSONObject(iCount).
        IF oJsonAux:getString("Inscrição") = cValor THEN   /*AL*/
        DO:
            oJson:putValue("InscEstadual", oJsonAux).
            LEAVE bloco_do.
        END.
    END.
    RUN SintegraContinuacao IN hMashup(INPUT-OUTPUT oJson).
END.

Após o envio de inscrição estadual, o retorno será com os dados do CNPJ informado. 


O procedimento em etapas é 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.

...

Para retorno de estados, deve ser utilizado o método GetEstadosmétodo GetEstados, que retornará um objeto JSON contendo um array sob o valor "Estados" contendo  contendo objetos com a seguinte estrutura:

  • Code;

  • Description.

...


Bloco de código
RUN GetEstadosIN hMashup(OUTPUT oJson).

Um exemplo com o retorno dos estados e leitura do array pode ser baixado aqui.

...

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

NOMETIPO DE DADO
CNPJString
InscriçãoString
RazãoString
LogradouroString
NúmeroString
ComplementoString
BairroString
CidadeString
EstadoString
CEPString
TelefoneString
E-MailString
Data InscriçãoString
SituaçãoString
Data SituaçãoString
AtividadeString
Regime ICMSString
ObservaçõesString
Atividade PrincipalString