<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>http://wiki.vrsoft.com.br//wiki/index.php?action=history&amp;feed=atom&amp;title=VR_Integracao_Fiscal_API</id>
	<title>VR Integracao Fiscal API - Histórico de revisão</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.vrsoft.com.br//wiki/index.php?action=history&amp;feed=atom&amp;title=VR_Integracao_Fiscal_API"/>
	<link rel="alternate" type="text/html" href="http://wiki.vrsoft.com.br//wiki/index.php?title=VR_Integracao_Fiscal_API&amp;action=history"/>
	<updated>2026-05-15T14:48:44Z</updated>
	<subtitle>Histórico de revisões para esta página neste wiki</subtitle>
	<generator>MediaWiki 1.32.1</generator>
	<entry>
		<id>http://wiki.vrsoft.com.br//wiki/index.php?title=VR_Integracao_Fiscal_API&amp;diff=49997&amp;oldid=prev</id>
		<title>Felipe.salome em 16h01min de 25 de março de 2026</title>
		<link rel="alternate" type="text/html" href="http://wiki.vrsoft.com.br//wiki/index.php?title=VR_Integracao_Fiscal_API&amp;diff=49997&amp;oldid=prev"/>
		<updated>2026-03-25T16:01:24Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;pt-BR&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Edição anterior&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Edição das 16h01min de 25 de março de 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l46&quot; &gt;Linha 46:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linha 46:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==&amp;lt;b&amp;gt;AUTENTICAÇÃO (BEARER TOKEN)&amp;lt;/b&amp;gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==&amp;lt;b&amp;gt;AUTENTICAÇÃO (BEARER TOKEN)&amp;lt;/b&amp;gt;==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;A &lt;/del&gt;API &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;utiliza o padrão &lt;/del&gt;de &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;segurança Bearer Token (JWT). O Token gerado no VRMaster deve ser trocado por &lt;/del&gt;um &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;hash de autorização&lt;/del&gt;:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Diferente das etapas anteriores de instalação e configuração, a autenticação ocorre no momento da utilização da &lt;/ins&gt;API&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;. Trata-se &lt;/ins&gt;de um &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;procedimento lógico necessário para que as requisições sejam processadas&lt;/ins&gt;:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Obtenção &lt;/del&gt;do &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Hash&lt;/del&gt;:''' &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Realize &lt;/del&gt;uma requisição ao endpoint &amp;lt;code&amp;gt;/auth&amp;lt;/code&amp;gt; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;informando &lt;/del&gt;o Token &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;obtido &lt;/del&gt;no VRMaster.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Troca &lt;/ins&gt;do &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Token&lt;/ins&gt;:''' &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Para iniciar o consumo, deve-se realizar &lt;/ins&gt;uma requisição ao endpoint &amp;lt;code&amp;gt;/auth&amp;lt;/code&amp;gt; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;enviando &lt;/ins&gt;o Token &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;gerado &lt;/ins&gt;no VRMaster.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Formatação &lt;/del&gt;do &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Cabeçalho&lt;/del&gt;:''' O hash &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;retornado &lt;/del&gt;deve ser inserido no cabeçalho (Header) de todas as requisições subsequentes sob a chave '''Authorization'''.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''Padrão de Envio:''' O &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;valor &lt;/del&gt;deve &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ser &lt;/del&gt;rigorosamente &amp;lt;code&amp;gt;Bearer {hash_retornado}&amp;lt;/code&amp;gt; (Mantendo o espaço único entre a palavra Bearer e o código hash).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* '''Hash de Autorização:''' A API retornará um hash de segurança. Este hash é o que valida as chamadas de integração e consulta.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Configuração &lt;/ins&gt;do &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Header&lt;/ins&gt;:''' O hash deve ser inserido &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;obrigatoriamente &lt;/ins&gt;no cabeçalho (Header) de todas as requisições subsequentes sob a chave '''Authorization'''.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''Padrão de Envio:''' O &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;preenchimento do Header &lt;/ins&gt;deve &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;seguir &lt;/ins&gt;rigorosamente &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;o padrão: &lt;/ins&gt;&amp;lt;code&amp;gt;Bearer {hash_retornado}&amp;lt;/code&amp;gt; (Mantendo &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;obrigatoriamente &lt;/ins&gt;o espaço único entre a palavra Bearer e o código hash).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Felipe.salome</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.vrsoft.com.br//wiki/index.php?title=VR_Integracao_Fiscal_API&amp;diff=49992&amp;oldid=prev</id>
		<title>Felipe.salome: /* AUTENTICAÇÃO (BEARER TOKEN) */</title>
		<link rel="alternate" type="text/html" href="http://wiki.vrsoft.com.br//wiki/index.php?title=VR_Integracao_Fiscal_API&amp;diff=49992&amp;oldid=prev"/>
		<updated>2026-03-24T12:15:29Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;AUTENTICAÇÃO (BEARER TOKEN)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;pt-BR&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Edição anterior&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Edição das 12h15min de 24 de março de 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l48&quot; &gt;Linha 48:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linha 48:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A API utiliza o padrão de segurança Bearer Token (JWT). O Token gerado no VRMaster deve ser trocado por um hash de autorização:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A API utiliza o padrão de segurança Bearer Token (JWT). O Token gerado no VRMaster deve ser trocado por um hash de autorização:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''Obtenção do Hash:''' Realize uma requisição ao endpoint &amp;lt;code&amp;gt;/auth&amp;lt;/code&amp;gt; informando &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;o CNPJ da loja e &lt;/del&gt;o Token obtido no VRMaster.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''Obtenção do Hash:''' Realize uma requisição ao endpoint &amp;lt;code&amp;gt;/auth&amp;lt;/code&amp;gt; informando o Token obtido no VRMaster.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''Formatação do Cabeçalho:''' O hash retornado deve ser inserido no cabeçalho (Header) de todas as requisições subsequentes sob a chave '''Authorization'''.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''Formatação do Cabeçalho:''' O hash retornado deve ser inserido no cabeçalho (Header) de todas as requisições subsequentes sob a chave '''Authorization'''.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''Padrão de Envio:''' O valor deve ser rigorosamente &amp;lt;code&amp;gt;Bearer {hash_retornado}&amp;lt;/code&amp;gt; (Mantendo o espaço único entre a palavra Bearer e o código hash).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''Padrão de Envio:''' O valor deve ser rigorosamente &amp;lt;code&amp;gt;Bearer {hash_retornado}&amp;lt;/code&amp;gt; (Mantendo o espaço único entre a palavra Bearer e o código hash).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Felipe.salome</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.vrsoft.com.br//wiki/index.php?title=VR_Integracao_Fiscal_API&amp;diff=49989&amp;oldid=prev</id>
		<title>Felipe.salome: Criou página com '==&lt;b&gt;LICENCIAMENTO E ATIVAÇÃO&lt;/b&gt;== O processo de liberação do módulo é vinculado ao licenciamento da unidade:  * '''Liberação Comercial:''' A unidade ou parceiro deve...'</title>
		<link rel="alternate" type="text/html" href="http://wiki.vrsoft.com.br//wiki/index.php?title=VR_Integracao_Fiscal_API&amp;diff=49989&amp;oldid=prev"/>
		<updated>2026-03-24T11:26:43Z</updated>

		<summary type="html">&lt;p&gt;Criou página com &amp;#039;==&amp;lt;b&amp;gt;LICENCIAMENTO E ATIVAÇÃO&amp;lt;/b&amp;gt;== O processo de liberação do módulo é vinculado ao licenciamento da unidade:  * &amp;#039;&amp;#039;&amp;#039;Liberação Comercial:&amp;#039;&amp;#039;&amp;#039; A unidade ou parceiro deve...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==&amp;lt;b&amp;gt;LICENCIAMENTO E ATIVAÇÃO&amp;lt;/b&amp;gt;==&lt;br /&gt;
O processo de liberação do módulo é vinculado ao licenciamento da unidade:&lt;br /&gt;
&lt;br /&gt;
* '''Liberação Comercial:''' A unidade ou parceiro deve solicitar a ativação do módulo de Integração Fiscal junto à VR Software.&lt;br /&gt;
* '''Ativação via VRGestor:''' Após o processamento da licença no '''VRGestor''', o serviço é habilitado automaticamente para a unidade, sem necessidade de manutenção manual em tabelas de banco de dados por parte do cliente.&lt;br /&gt;
* '''Habilitação no Service Manager:''' No painel do '''VR Service Manager''', localize o serviço '''VRIntegracaoFiscalAPI''' e clique em '''Ativar'''.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;b&amp;gt;INSTALAÇÃO&amp;lt;/b&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
* '''&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;Certifique-se de as configurações do VR Ubuntu foram todas executadas&amp;lt;/span&amp;gt; [[VRUbuntu_Ferramentas|neste link]]'''&lt;br /&gt;
* Crie na pasta &amp;lt;code&amp;gt;.vr&amp;lt;/code&amp;gt;, dentro da pasta padrão do usuário, a seguinte estrutura de diretórios e arquivos, onde os arquivos e/ou pastas com * são obrigatórios (Em alguns casos a pasta &amp;lt;code&amp;gt;.vr&amp;lt;/code&amp;gt; pode estar oculta):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
├── ./vr&lt;br /&gt;
│   ├── data&lt;br /&gt;
│   ├── exec&lt;br /&gt;
│   ├── servicecontainer*&lt;br /&gt;
│   │   └── service&lt;br /&gt;
│   │       └── VRIntegracaoFiscalAPI.war*&lt;br /&gt;
│   ├── servicemanager*&lt;br /&gt;
│   │   └── service&lt;br /&gt;
│   │       ├── VRConcentrador.jar&lt;br /&gt;
│   │       └── ...&lt;br /&gt;
│   ├── docker-compose-sm.yml*&lt;br /&gt;
│   └── vr.properties*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Executar &amp;lt;code&amp;gt;docker-compose -f ~/.vr/docker-compose-sm.yml up -d&amp;lt;/code&amp;gt; para iniciar o ambiente. Em caso de sucesso na criação dos containers, o terminal exibirá:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: silver; background: black;&amp;quot;&amp;gt;&lt;br /&gt;
Creating vrredis ... done&lt;br /&gt;
Creating vrrabbitmq ... done&lt;br /&gt;
Creating vrservicecontainer ... done&lt;br /&gt;
Creating vrservicemanager ... done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;b&amp;gt;GERAÇÃO DE TOKEN (VRMASTER)&amp;lt;/b&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
Com o serviço em execução no Service Manager, é necessário registrar a API no ERP para obter a chave de acesso inicial:&lt;br /&gt;
* Acesse o sistema '''VRMaster''';&lt;br /&gt;
* Navegue até o menu '''Sistema &amp;gt; API''';&lt;br /&gt;
* Realize o cadastro da nova API para a unidade;&lt;br /&gt;
* Ao finalizar, o sistema exibirá o '''Token''' gerado. Este código deve ser armazenado para a etapa de autenticação.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:VRMaster-Cadastro-API-Token.png]]&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;b&amp;gt;AUTENTICAÇÃO (BEARER TOKEN)&amp;lt;/b&amp;gt;==&lt;br /&gt;
A API utiliza o padrão de segurança Bearer Token (JWT). O Token gerado no VRMaster deve ser trocado por um hash de autorização:&lt;br /&gt;
&lt;br /&gt;
* '''Obtenção do Hash:''' Realize uma requisição ao endpoint &amp;lt;code&amp;gt;/auth&amp;lt;/code&amp;gt; informando o CNPJ da loja e o Token obtido no VRMaster.&lt;br /&gt;
* '''Formatação do Cabeçalho:''' O hash retornado deve ser inserido no cabeçalho (Header) de todas as requisições subsequentes sob a chave '''Authorization'''.&lt;br /&gt;
* '''Padrão de Envio:''' O valor deve ser rigorosamente &amp;lt;code&amp;gt;Bearer {hash_retornado}&amp;lt;/code&amp;gt; (Mantendo o espaço único entre a palavra Bearer e o código hash).&lt;/div&gt;</summary>
		<author><name>Felipe.salome</name></author>
		
	</entry>
</feed>