Skip to main content

Olá Blippers, tudo bão?


Hoje vou mostrar como integrar com o sistema Omie através de requisições http do tipo SOAP e ainda como tratar o retorno da requisição para que fique legível dentro do bot. Nos exemplos que vou mostrar abaixo é do caso de requisição http para obter segunda via de boleto.


- Adicione a requisição http nas ações de saída no bloco onde você irá solicitar o id do titulo para que o sistema busque o boleto.



Coloque a url :


https://app.omie.com.br/api/v1/financas/pesquisartitulos/

No Header coloque:


Content-Type : application/xml

Coloque o body :


<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:wsdl="http://app.omie.com.br/api/v1/geral/clientes/?WSDL" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<soapenv:Header>
<app_key>2059847273484</app_key>
<app_secret>0efb1d1084fd281b053b64d26045f2e7</app_secret>
</soapenv:Header>
<soapenv:Body>
<wsdl:ObterURLBoleto soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<ltLinkBoletoRequest xsi:type="wsdl:ltLinkBoletoRequest">
<nCodTitulo xsi:type="xsd:integer">6967578468</nCodTitulo>
<cCodIntTitulo xsi:type="xsd:string">0</cCodIntTitulo>
</ltLinkBoletoRequest>
</wsdl:ObterURLBoleto>
</soapenv:Body>
</soapenv:Envelope>

Não esqueça de salvar o status o body da requisição


Obs : O body acima está fixo com id do usuário, mas pode passar a variável que solicitamos no padrão {{variavel}} no lugar o ncodtitulo


-Agora no próximo bloco onde vamos informar o retorno da url para nosso contato teremos que tratar o retorno de uma requisição soap através de um script na ação de entrada do bloco.


Coloque na variável de entrada o body e como variável de saída a url.


no script coloque o codigo :



function run(body) {
let retorno ="";
retorno=body;
retorno= retorno.replace('</cLinkBoleto></ltLinkBoletoResponse></ns1:ObterURLBoletoResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>','');
retorno = retorno.replace('<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://app.omie.com.br/api/v1/financas/pesquisartitulos/?WSDL" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:ObterURLBoletoResponse><ltLinkBoletoResponse xsi:type="ns1:ltLinkBoletoResponse"><nCodTitulo xsi:type="xsd:integer">6967578468</nCodTitulo><cCodIntTitulo xsi:type="xsd:string"></cCodIntTitulo><cLinkBoleto xsi:type="xsd:string">','');
retorno = retorno.replace('<nCodTitulo xsi:type="xsd:integer">','');
retorno = retorno.replace('</nCodTitulo>','@');
retorno = retorno.split("@") 1];
return retorno;
}

Não se preocupe com o valor fixado do ncodtitulo no script, pois as linhas finias tratam isso de uma forma simples.


No conteúdo do bloco eu coloquei assim :



Resultado : 🚀

image


Com isso eu encerro esse tutorial e fica bem claro o poder da plataforma do Blip onde podemos fazer requisições do tipo soap apenas passando o envelope correto e tratando sua resposta para ficar algo mais amigável para o contato.

Boa! Obrigado @Rafael_Figueiredo 😍 🥰


@Rafael_Figueiredo

Quando vai fazer um tutorial de integração com o NérusWeb? 🥹


demais!!! super obrigada, @Rafael_Figueiredo 🙌✨


NerusAPI - Docs hmmmm


@Pedro_Lucas com essa doc nem preciso de criar tutorial kkkkk da uma olhada depois @Rafael_dos_Anjos NerusAPI - Docs


Olá pessoal, estou tentando fazer a integração com outro sistema, e está dando o erro 500. 

 

SOAP-ENV:ClientOperation '' is not defined in the WSDL for this service

 

Sabem o que pode ser? Testei ela no postman e deu certo.


Comente