Dúvida
Como utilizar APIs SOAP do Mega?
Solução
APIs projetadas no padrão Simple Object Access Protocol, mais conhecido como SOAP, recebem requisições através dos protocolos HTTP e SMTP e utilizam mensagens em formato XML para a troca de informações.
Para configurar APIs SOAP é necessário seguir os passos na ordem ordem exata descrita abaixo, para isso, realize os passos a seguir:
- Identificar a URL necessária para realizar a request no end-point;
- Configurar o Serviço do Mega Integrador necessário para a request;
- Elaborar o XML para utilização na request;
- Realizar a request com o XML.
⚠️ Todo cliente hospedado em nossa Cloud possui uma URL única que pode ser utilizado para o consumo de nossas APIs SOAP, e essa url é diferente da utilizada nas APIs REST.
Passo 1: Identificar a URL necessária para realizar a request
-
Cloud Mega:
Para clientes Cloud Mega, é necessário a criação de um ticket para que seja disponibilizado a url para utilização da API SOAP. -
On Premise / Clouds Terceiras:
Para clientes on premise ou Cloud Terceiras, a URL será o endereço de IP responsável por executar o server SrvMegaIntegrador.exe e sua porta.
Podendo ser utilizado apenas interno, com o próprio endereço de IP interno e dessa forma permitindo apenas conexões dentro da Rede, ou para utilização externa é necessário que o endereço de IP interno esteja publicado externamente, através de direcionamento de Firewall, NAT ou DMZ.
Passo 2: Configurar o Serviço do Mega Integrador
As APIs SOAP utilizam os serviços do Mega Integrador, dessa forma é necessário que o Serviço esteja publicado e configurado, para isso realize os passos a seguir:
⚠️ Caso a empresa já utilize o Mega Integrador, não é necessário realizar esses passos.
-
Cloud Mega
Para clientes Cloud Mega, a configuração do Serviço será realizado junto com o ticket criado para liberação da URL, basta informar o Código de Serviço que será utilizado. -
On Premise / Clouds Terceiras
Para clientes on premise ou Cloud Terceiras, realize os passos abaixo: - No Menu, clique em Todos os Módulos / Integador / Configurações / Configurar Serviços;
- Selecione o Serviço necessário, e clique em Editar;
Observação: Caso não apareça nenhum serviço, No Menu, clique em Todos os Módulos / Integador / Configurações / Publicar Serviços. - Na aba Geral, altere o status para Ativo e defina um Sistema para Integração:
- Na aba Origem do Serviço, defina o nome do computador responsável por executar o SrvMegaIntegrador.exe e defina a entrada de XML como Webservice:
- Clique em Confirmar para salvar.
Passo 3: Elaborar o XML
O XML para utilização na request é o mesmo utilizado nas chamadas do Mega Integrador, onde cada serviço possui seus campos.
Toda a documentação dos campos necessários assim como exemplos de XML, você encontra nos links abaixo:
Passo 4: Realizar a request com o XML
Após realizar todos os passos de configuração e elaboração do XML, utilize os dados abaixo para realizar a request:
- Endereço do End-Point: Utilize a URL obtida no passo 1.
- Header: Inserir o Content-Type application/xml.
- Body: No Body, insira o XML abaixo como padrão nas request, alterando as tags conforme a necessidade:
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tem="http://tempuri.org/">
<soapenv:Header/>
<soapenv:Body>
<tem:MegaIntegradorService___IntegraXML>
<tem:pPRO_IN_ID>308</tem:pPRO_IN_ID>
<tem:pUSU_IN_CODIGO>1</tem:pUSU_IN_CODIGO>
<tem:pXML>
<![CDATA[
INSERIR AQUI O XML DO SERVICO 308
]]>
</tem:pXML>
</tem:MegaIntegradorService___IntegraXML>
</soapenv:Body>
</soapenv:Envelope>
- TAG <tem:pPRO_IN_ID>: Nessa TAG será preenchida com o código do Serviço do Mega Integrador de acordo com o passo 3.
- TAG <tem:pUSU_IN_CODIGO: Nessa TAG será preenchida com o código do usuário no Mega ERP que irá realizar esse insert, em casos de insert de Movimentações é necessário que esse usuário possua as devidas permissões dentro do ERP.
- TAG <tem:pXML>: Nessa TAG, em <![CDATA[ inserir o XML elaborado no passo 3 de acordo com o serviço selecionado.
Exemplo de request:
Segue um exemplo da request realizada pelo Postman, onde utilizamos o Serviço 205 para inserção de usuário, e a URL é o IP e Porta interna:
curl --location '192.168.0.5:8118/Integrador?wsdl%20=null' \
--header 'Content-Type: application/xml' \
--data '<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tem="http://tempuri.org/">
<soapenv:Header/>
<soapenv:Body>
<tem:MegaIntegradorService___IntegraXML>
<tem:pPRO_IN_ID>205</tem:pPRO_IN_ID>
<tem:pUSU_IN_CODIGO>1</tem:pUSU_IN_CODIGO>
<tem:pXML>
<![CDATA[
<Usuario OPERACAO="I">
<GRU_IN_CODIGO>123</GRU_IN_CODIGO>
<GRU_ST_NOME>MegaTeste</GRU_ST_NOME>
<GRU_ST_NOMECOMPLETO>Mega Teste</GRU_ST_NOMECOMPLETO>
<GRU_ST_SENHA>SENHA</GRU_ST_SENHA>
<PAI_GRU_IN_CODIGO>2</PAI_GRU_IN_CODIGO>
</Usuario>
]]>
</tem:pXML>
</tem:MegaIntegradorService___IntegraXML>
</soapenv:Body>
</soapenv:Envelope>'
Comentários
0 comentário
Por favor, entre para comentar.