Como integrar o Blip com o Omie com requisição SOAP

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

:exclamation: 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 : :rocket:
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.

8 curtidas

Boa! Obrigado @Rafael_Figueiredo :heart_eyes: :smiling_face_with_three_hearts:

1 curtida

@Rafael_Figueiredo
Quando vai fazer um tutorial de integração com o NérusWeb? :face_holding_back_tears: :face_holding_back_tears: :face_holding_back_tears:

4 curtidas

demais!!! super obrigada, @Rafael_Figueiredo :raised_hands::sparkles:

1 curtida

NerusAPI - Docs hmmmm

2 curtidas

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

2 curtidas