Mudanças entre as edições de "Manuais:UniNFe/EnviandoXMLMessageBroker"

De unimake
Ir para: navegação, pesquisa
(Criado tópico "Message.Broker")
(Sem diferença)

Edição das 10h40min de 17 de julho de 2023

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.

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.

Veja também