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> </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).
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> </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).
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: