Manuais:UniNFe/EnviandoXMLMessageBroker
Como utilizar o serviço do MessageBroker?
Após realizar a configuração do MessageBroker no UniNFe, vamos consumir o serviço, que consiste em dois micro serviços. Bora conferir?
1º micro serviço: Notificação de boleto
Seu ERP gerou um boleto e quer enviar para o cliente? Utilize esse serviço e como a comunicação no UniNFe é por transmissão de arquivos, criamos um exemplo em XML de como você pode fazer isso. Para fazer o envio dessa notificação, basta gerar o arquivo na pasta de envio com o nome e formato a seguir:
Boleto_00000000000-mb.xml
Boleto_00000000000 | Conteúdo livre |
-mb.xml | Conteúdo fixo. Sempre será "-mb.xml" |
O nome do arquivo de retorno é o mesmo do envio, mudando somente a extensão (final) do mesmo, conforme abaixo:
Boleto_00000000000-ret-mb.xml (se tudo ocorreu bem)
ou
Boleto_00000000000-ret-mb.err (se houve algum erro)
Estrutura do XML de envio
A estrutura de envio é pequena, vamos conferir:
<?xml version="1.0" encoding="utf-8"?> <MessageBroker versao="1.00"> <BilletNotification> <BarCode>65465464646554456453456453456544565445645345654435</BarCode> <BilletNumber>12345678</BilletNumber> <CompanyName>Unimake Software</CompanyName> <ContactPhone>5544888889999</ContactPhone> <CustomerName>Joaquim</CustomerName> <Description>UniDANFe - Licença de 1 ano</Description> <DueDate>04/07/2023</DueDate> <QueryString>http://unimake.app.api/v1/pdf/download?Code=s65a4ds6a54ds6a4ds4ad54sa6d54as5dsa645d56sa4</QueryString> <To>554491423078</To> <Value>R$ 250,00</Value> <Testing>true</Testing> <UseHomologServer>true</UseHomologServer> </BilletNotification> </MessageBroker>
- Legenda:
- A tag <BarCode> é código de barras do boleto sendo uma tag obrigatória;
- A tag <BillerNumber> é o número do boleto sendo uma tag obrigatória;
- A tag <CompanyName> é o nome da empresa que emitiu o boleto sendo uma tag obrigatória;
- A tag <ContactPhone> e o número do WhatsApp para que o destinatário entre em contato;
- A tag <CustomerName> é o nome do beneficiário/cliente ou destinatário do boleto sendo uma tag obrigatória;
- A tag <Description> é a descrição do que está sendo cobrado sendo uma tag obrigatória;
- A tag <DueDate> é a data da emissão da cobrança via boleto no formato DD/MM/AAAA sendo uma tag obrigatória;
- A tag <QueryString> é a informação adicional para download do boleto. O link para download sempre será o mesmo mudando apenas o code, presente na URL, que é o token gerado no momento da criação do boleto;
- A tag <To> é o número do WhatsApp para onde será enviada a mensagem sendo uma tag obrigatória;
- A tag <Value> é o valor do boleto tendo o separador decimal a vírgula (,) sendo uma tag obrigatória;
- A tag <Testing> é o que indica se é ambiente de teste ou não (True: ambiente de teste, False: ambiente de produção);
- A tag <UseHomologServer> é uma tag opcional no XML tendo o valor padrão false. Só utilize quando é necessário fazer testes para possibilitar DEBUG do lado do eBank, naturalmente isso só pode ocorrer se um desenvolvedor do eBank solicitar esta tag no XML para facilitar depuração de código.
XML de retorno do envio: O que fazer?
Para verificar se a mensagem foi enviada, seu ERP deve verificar as informações no XML de retorno. Esse XML será gerado na pasta de retorno com o nome a seguir:
Boleto_00000000000-ret-mb.xml
E sua estrutura é a seguinte:
<?xml version="1.0" encoding="utf-8"?> <MessageBrokerResponse> <Status>1</Status> <Motivo>Mensagem enviada com sucesso.</Motivo> <messageID>wamid.HBgMNTU0NDkxNDIzMDc4FQIAERgSMjAyQTNGMDczMjhGMUE0NTI1AA==</messageID> </MessageBrokerResponse>
- Legenda:
- A tag <Status> é o status da mensagem tendo os valores:
- 1 = Mensagem enviada com sucesso.
- A tag <Motivo> é a descrição do status;
- A tag <messageID> é o ID da mensagem enviada.
- A tag <Status> é o status da mensagem tendo os valores:
2º micro serviço: Notificação de PIX
Seu ERP gerou uma cobrança PIX e quer enviar para o cliente? Utilize esse serviço e como a comunicação no UniNFe é por transmissão de arquivos, criamos um exemplo em XML de como você pode fazer isso. Para fazer o envio dessa notificação, basta gerar o arquivo na pasta de envio com o nome e formato a seguir:
PIX_00000000000-mb.xml
PIX_00000000000 | Conteúdo livre |
-mb.xml | Conteúdo fixo. Sempre será "-mb.xml" |
O nome do arquivo de retorno é o mesmo do envio, mudando somente a extensão (final) do mesmo, conforme abaixo:
PIX_00000000000-ret-mb.xml (se tudo ocorreu bem)
ou
PIX_00000000000-ret-mb.err (se houve algum erro)
Estrutura do XML de envio
A estrutura de envio é pequena, vamos conferir:
<?xml version="1.0" encoding="utf-8"?> <MessageBroker versao="1.00"> <PIXNotification> <CopyAndPaste>00011111111111111111BR.GOV.BCB.PIX2222qrpix.ebank.solutions/qr/v2/11cff33aa-ffff-dff4-94d6-bb2611a0ded21312312312asdasd12331.022332BR2332UNIMAKE SOFTWARE***1233233E</CopyAndPaste> <CompanyName>Unimake Software</CompanyName> <ContactPhone>5544888889999</ContactPhone> <CustomerName>Joaquim</CustomerName> <Description>UniDANFe - Licença de 1 ano</Description> <IssuedDate>04/07/2023</IssuedDate> <QueryString>http://unimake.app.api/v1/pdf/download?Code=s65a4ds6a54ds6a4ds4ad54sa6d54as5dsa645d56sa4</QueryString> <To>554491423078</To> <Value>R$ 250,00</Value> <Testing>true</Testing> <UseHomologServer>true</UseHomologServer> </PIXNotification> </MessageBroker>
- Legenda:
- A tag <CopyAndPaste> é o código do PIX para pagamento com copiar e colar sendo uma tag obrigatória;
- A tag <CompanyName> é o nome da empresa que gerou a cobrança PIX sendo uma tag obrigatória;
- A tag <ContactPhone> e o número do WhatsApp para que o destinatário entre em contato;
- A tag <CustomerName> é o nome do beneficiário/cliente ou destinatário da cobrança PIX sendo uma tag obrigatória;
- A tag <Description> é a descrição do que está sendo cobrado sendo uma tag obrigatória;
- A tag <IssuedDate> é a data da emissão da cobrança via PIX no formato DD/MM/AAAA sendo uma tag obrigatória;
- A tag <QueryString> é a informação adicional para pagamento via QRCode. O link para download sempre será o mesmo mudando apenas o code, presente na URL, que é o token gerado no momento da criação da cobrança PIX;
- A tag <To> é o número do WhatsApp para onde será enviada a mensagem sendo uma tag obrigatória;
- A tag <Value> é o valor da cobrança PIX tendo o separador decimal a vírgula (,) sendo uma tag obrigatória;
- A tag <Testing> é o que indica se é ambiente de teste ou não (True: ambiente de teste, False: ambiente de produção);
- A tag <UseHomologServer> é uma tag opcional no XML tendo o valor padrão false. Só utilize quando é necessário fazer testes para possibilitar DEBUG do lado do eBank, naturalmente isso só pode ocorrer se um desenvolvedor do eBank solicitar esta tag no XML para facilitar depuração de código.
XML de retorno do envio: O que fazer?
Para verificar se a mensagem foi enviada, seu ERP deve verificar as informações no XML de retorno. Esse XML será gerado na pasta de retorno com o nome a seguir:
PIX_00000000000-ret-mb.xml
E sua estrutura é a seguinte:
<?xml version="1.0" encoding="utf-8"?> <MessageBrokerResponse> <Status>1</Status> <Motivo>Mensagem enviada com sucesso.</Motivo> <messageID>wamid.HBgMNTU0NDkxNDIzMDc4FQIAERgSOUYwNzNDMDA3Q0EwMUM3REVBAA==</messageID> </MessageBrokerResponse>
- Legenda:
- A tag <Status> é o status da mensagem tendo os valores:
- 1 = Mensagem enviada com sucesso.
- A tag <Motivo> é a descrição do status;
- A tag <messageID> é o ID da mensagem enviada.
- A tag <Status> é o status da mensagem tendo os valores: