<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>api v2 Archives - Leonardo Nascimento | Engenheiro de Software</title>
	<atom:link href="https://leonardonascimento.dev/tag/api-v2/feed/" rel="self" type="application/rss+xml" />
	<link>https://leonardonascimento.dev/tag/api-v2/</link>
	<description>Especializado em backend, APIs e sistemas escaláveis. Experiência em arquitetura de sistemas, integrações, mensageria, performance e aplicações de alta disponibilidade.</description>
	<lastBuildDate>Thu, 22 Jan 2026 16:18:05 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://leonardonascimento.dev/wp-content/uploads/2021/05/cropped-programming-32x32.png</url>
	<title>api v2 Archives - Leonardo Nascimento | Engenheiro de Software</title>
	<link>https://leonardonascimento.dev/tag/api-v2/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Como fazer o primeiro disparo na Evolution API</title>
		<link>https://leonardonascimento.dev/blog/como-fazer-o-primeiro-disparo-na-evolution-api/</link>
					<comments>https://leonardonascimento.dev/blog/como-fazer-o-primeiro-disparo-na-evolution-api/#respond</comments>
		
		<dc:creator><![CDATA[Leonardo]]></dc:creator>
		<pubDate>Sat, 17 Jan 2026 22:06:00 +0000</pubDate>
				<category><![CDATA[API]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[api v2]]></category>
		<category><![CDATA[automação]]></category>
		<category><![CDATA[disparo de mensagem]]></category>
		<category><![CDATA[evolution api]]></category>
		<category><![CDATA[integrações]]></category>
		<category><![CDATA[whatsapp api]]></category>
		<guid isPermaLink="false">https://leonardonascimento.dev/?p=2307</guid>

					<description><![CDATA[<p>Depois de instalar a Evolution API (via Orion), muita gente trava no mesmo ponto: “ok, está rodando… e agora?”.O primeiro disparo envolve 3 passos obrigatórios, sempre nessa ordem: Se pular qualquer um deles, não funciona. 1️⃣ Confirmar dados básicos da instalação Você precisa ter em mãos: Esses dois dados são usados em todas as chamadas. [&#8230;]</p>
<p>The post <a href="https://leonardonascimento.dev/blog/como-fazer-o-primeiro-disparo-na-evolution-api/">Como fazer o primeiro disparo na Evolution API</a> appeared first on <a href="https://leonardonascimento.dev">Leonardo Nascimento | Engenheiro de Software</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p><a href="https://leonardonascimento.dev/blog/como-instalar-docker-portainer-e-evolution-api/" type="post" id="2304">Depois de instalar a Evolution API (via Orion)</a>, muita gente trava no mesmo ponto: <em>“ok, está rodando… e agora?”</em>.<br>O primeiro disparo envolve <strong>3 passos obrigatórios</strong>, sempre nessa ordem:</p>



<ol class="wp-block-list">
<li>criar a instância</li>



<li>conectar o WhatsApp (QR Code)</li>



<li>enviar a mensagem</li>
</ol>



<p>Se pular qualquer um deles, não funciona.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-1-confirmar-dados-basicos-da-instalacao">1️⃣ Confirmar dados básicos da instalação</h2>



<p>Você precisa ter em mãos:</p>



<ul class="wp-block-list">
<li><strong>Server URL</strong><br>Exemplo: <code>https://api.seudominio.com</code></li>



<li><strong>API Key global</strong> (gerada pelo Orion na instalação)</li>
</ul>



<p>Esses dois dados são usados em <strong>todas</strong> as chamadas.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-2-criar-a-instancia-obrigatorio">2️⃣ Criar a instância (obrigatório)</h2>



<p>Na Evolution API v2, <strong>não existe envio sem instância</strong>.</p>



<h3 class="wp-block-heading" id="h-endpoint">Endpoint</h3>



<pre class="wp-block-code"><code>POST /instance/create
</code></pre>



<h3 class="wp-block-heading" id="h-exemplo-com-curl">Exemplo com <code>curl</code></h3>



<pre class="wp-block-code"><code>curl -X POST https://api.seudominio.com/instance/create \
  -H "apikey: SUA_API_KEY_AQUI" \
  -H "Content-Type: application/json" \
  -d '{
    "instanceName": "primeira-instancia"
  }'
</code></pre>



<h3 class="wp-block-heading" id="h-resposta-esperada">Resposta esperada</h3>



<p>Algo semelhante a:</p>



<pre class="wp-block-code"><code>{
  "instance": {
    "instanceName": "primeira-instancia",
    "status": "created"
  }
}
</code></pre>



<p>Se deu erro aqui, <strong>pare</strong>. O resto não vai funcionar.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-3-conectar-o-whatsapp-qr-code">3️⃣ Conectar o WhatsApp (QR Code)</h2>



<p>Depois da instância criada, você precisa <strong>conectar o número</strong>.</p>



<h3 class="wp-block-heading" id="h-gerar-qr-code">Gerar QR Code</h3>



<pre class="wp-block-code"><code>GET /instance/connect/{instanceName}
</code></pre>



<pre class="wp-block-code"><code>curl -X GET https://api.seudominio.com/instance/connect/primeira-instancia \
  -H "apikey: SUA_API_KEY_AQUI"
</code></pre>



<p>A resposta vem com o <strong>QR Code em base64</strong> ou link.</p>



<p>Abra no navegador ou use o <strong>manager</strong> do Orion:</p>



<pre class="wp-block-code"><code>https:&#47;&#47;api.seudominio.com/manager
</code></pre>



<p>Escaneie com o WhatsApp do celular.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading" id="h-verificar-status-da-instancia">Verificar status da instância</h3>



<p>Antes de enviar mensagem, confirme que está conectada.</p>



<pre class="wp-block-code"><code>GET /instance/connectionState/{instanceName}
</code></pre>



<pre class="wp-block-code"><code>curl -X GET https://api.seudominio.com/instance/connectionState/primeira-instancia \
  -H "apikey: SUA_API_KEY_AQUI"
</code></pre>



<p>Status esperado:</p>



<pre class="wp-block-code"><code>{
  "state": "open"
}
</code></pre>



<p>Se não estiver <code>open</code>, <strong>não adianta tentar enviar mensagem</strong>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-4-primeiro-disparo-de-mensagem-texto-simples">4️⃣ Primeiro disparo de mensagem (texto simples)</h2>



<p>Agora sim.</p>



<h3 class="wp-block-heading" id="h-endpoint-v2-para-texto">Endpoint v2 para texto</h3>



<pre class="wp-block-code"><code>POST /message/sendText/{instanceName}
</code></pre>



<h3 class="wp-block-heading" id="h-exemplo-real">Exemplo real</h3>



<pre class="wp-block-code"><code>curl -X POST https://api.seudominio.com/message/sendText/primeira-instancia \
  -H "apikey: SUA_API_KEY_AQUI" \
  -H "Content-Type: application/json" \
  -d '{
    "number": "559999999999",
    "text": "Olá! Este é meu primeiro disparo pela Evolution API v2."
  }'
</code></pre>



<p>⚠️ <strong>Formato do número</strong></p>



<ul class="wp-block-list">
<li>Sempre com <strong>DDI + DDD + número</strong></li>



<li>Sem <code>+</code>, sem espaço, sem traço</li>
</ul>



<p>Exemplo válido:</p>



<pre class="wp-block-code"><code>5591999999999
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-5-o-que-acontece-se-nao-enviar">5️⃣ O que acontece se não enviar?</h2>



<p>Os erros mais comuns no primeiro disparo:</p>



<h3 class="wp-block-heading" id="h-instancia-nao-conectada">❌ Instância não conectada</h3>



<p>Resposta típica:</p>



<pre class="wp-block-code"><code>instance not connected
</code></pre>



<h3 class="wp-block-heading" id="h-numero-invalido">❌ Número inválido</h3>



<ul class="wp-block-list">
<li>faltou DDI</li>



<li>tem <code>+</code></li>



<li>tem espaço</li>
</ul>



<h3 class="wp-block-heading" id="h-api-key-errada">❌ API Key errada</h3>



<p>Resposta:</p>



<pre class="wp-block-code"><code>Unauthorized
</code></pre>



<h3 class="wp-block-heading" id="h-endpoint-errado-v1-v2">❌ Endpoint errado (v1 ≠ v2)</h3>



<p>Na v2:</p>



<pre class="wp-block-code"><code>/message/sendText/{instance}
</code></pre>



<p>Na v1 era diferente. Não misture.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-6-teste-rapido-pelo-manager-opcional">6️⃣ Teste rápido pelo Manager (opcional)</h2>



<p>Se quiser validar sem curl:</p>



<ol class="wp-block-list">
<li>Acesse: <code>https://api.seudominio.com/manager</code></li>



<li>Escolha a instância</li>



<li>Vá em <strong>Send Message</strong></li>



<li>Envie um texto simples</li>
</ol>



<p>Se funciona no manager e não via API, o problema é <strong>payload ou headers</strong>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-7-proximos-disparos-possiveis-depois-do-primeiro">7️⃣ Próximos disparos possíveis (depois do primeiro)</h2>



<p>Depois que o texto simples funciona, você pode evoluir para:</p>



<ul class="wp-block-list">
<li>imagem</li>



<li>vídeo</li>



<li>áudio</li>



<li>botão</li>



<li>lista</li>



<li>disparos em massa</li>



<li>integração com Laravel, n8n, Notifish etc.</li>
</ul>



<p>Mas <strong>sempre valide texto primeiro</strong>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-resumo-rapido-ordem-correta">Resumo rápido (ordem correta)</h2>



<p>1️⃣ criar instância<br>2️⃣ conectar WhatsApp<br>3️⃣ confirmar <code>state = open</code><br>4️⃣ enviar <code>sendText</code></p>



<p>Se seguir isso, <strong>funciona</strong>.</p>
<p>The post <a href="https://leonardonascimento.dev/blog/como-fazer-o-primeiro-disparo-na-evolution-api/">Como fazer o primeiro disparo na Evolution API</a> appeared first on <a href="https://leonardonascimento.dev">Leonardo Nascimento | Engenheiro de Software</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://leonardonascimento.dev/blog/como-fazer-o-primeiro-disparo-na-evolution-api/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
