<svg width="1300" height="820" viewBox="0 0 1300 820" xmlns="http://www.w3.org/2000/svg" role="img" xmlns:c2pa="http://c2pa.org/manifest"><metadata><c2pa:manifest>AAAWgmp1bWIAAAAeanVtZGMycGEAEQAQgAAAqgA4m3EDYzJwYQAAABZcanVtYgAAAEdqdW1kYzJtYQARABCAAACqADibcQN1cm46YzJwYTo0YTUyM2Y0NS1mNWQzLTQwNTAtOTMzMi01MzZhMTljMGE2MGQAAAADl2p1bWIAAAApanVtZGMyYXMAEQAQgAAAqgA4m3EDYzJwYS5hc3NlcnRpb25zAAAAALxqdW1iAAAARGp1bWRjYm9yABEAEIAAAKoAOJtxE2MycGEuaW5ncmVkaWVudC52MwAAAAAYYzJzaCFKZf+SCAw3FWr9Rm/JaHEAAABwY2JvcqNpZGM6Zm9ybWF0bWltYWdlL3N2Zyt4bWxqaW5zdGFuY2VJRHgseG1wOmlpZDpmNjk4MWQzMi05YTM5LTRmM2MtYmI2MC0wMzU4YTk2NGM1NjBscmVsYXRpb25zaGlwaHBhcmVudE9mAAAB4mp1bWIAAABBanVtZGNib3IAEQAQgAAAqgA4m3ETYzJwYS5hY3Rpb25zLnYyAAAAABhjMnNo24qEh+CXxazfwYqCRndoNwAAAZljYm9yomdhY3Rpb25zgqJmYWN0aW9ua2MycGEub3BlbmVkanBhcmFtZXRlcnOha2luZ3JlZGllbnRzgaJjdXJseC1zZWxmI2p1bWJmPWMycGEuYXNzZXJ0aW9ucy9jMnBhLmluZ3JlZGllbnQudjNkaGFzaFgg96MTwG9N1TZ/mjGbMxxzfCUGYgXNFnLMpREnH8AwayOkZmFjdGlvbngdY29tLmFudGhyb3BpYy5jbGF1ZGUucHJvdmlkZWRqcGFyYW1ldGVyc6F4H2NvbS5hbnRocm9waWMub3JpZ2luLWNvbmZpZGVuY2VndW5rbm93bmtkZXNjcmlwdGlvbnhmQ2xhdWRlIHByb3ZpZGVkIHRoaXMgZmlsZSBhdCB0aGUgcmVxdWVzdCBvZiBhIHVzZXIgYW5kIG1heSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgdGhlIGZpbGUgY29udGVudHMubXNvZnR3YXJlQWdlbnShZG5hbWVmQ2xhdWRlcmFsbEFjdGlvbnNJbmNsdWRlZPUAAADIanVtYgAAAEBqdW1kY2JvcgARABCAAACqADibcRNjMnBhLmhhc2guZGF0YQAAAAAYYzJzaD9gi4oVWmr38XMEcFkc9z0AAACAY2JvcqVjYWxnZnNoYTI1NmNwYWRNAAAAAAAAAAAAAAAAAGRoYXNoWCANJYdesh+OUNetLdOR/FzGomaSOcQy4DuKAF349KZBeWRuYW1lbmp1bWJmIG1hbmlmZXN0amV4Y2x1c2lvbnOBomVzdGFydBijZmxlbmd0aBkeBAAAAj5qdW1iAAAAJ2p1bWRjMmNsABEAEIAAAKoAOJtxA2MycGEuY2xhaW0udjIAAAACD2Nib3KlY2FsZ2ZzaGEyNTZpc2lnbmF0dXJleE1zZWxmI2p1bWJmPS9jMnBhL3VybjpjMnBhOjRhNTIzZjQ1LWY1ZDMtNDA1MC05MzMyLTUzNmExOWMwYTYwZC9jMnBhLnNpZ25hdHVyZWppbnN0YW5jZUlEeCx4bXA6aWlkOmVkOGI1YzdlLTRhMWItNDAyOC05Mzg4LTk0ZjI0M2RjN2UwNnJjcmVhdGVkX2Fzc2VydGlvbnODomN1cmx4LXNlbGYjanVtYmY9YzJwYS5hc3NlcnRpb25zL2MycGEuaW5ncmVkaWVudC52M2RoYXNoWCD3oxPAb03VNn+aMZszHHN8JQZiBc0WcsylEScfwDBrI6JjdXJseCpzZWxmI2p1bWJmPWMycGEuYXNzZXJ0aW9ucy9jMnBhLmFjdGlvbnMudjJkaGFzaFgggjzFE/FvaXGEeTbQ5lbgfKWMwuRsdpMShA8P8QzcPu+iY3VybHgpc2VsZiNqdW1iZj1jMnBhLmFzc2VydGlvbnMvYzJwYS5oYXNoLmRhdGFkaGFzaFggtncXWxWD4m8I45xy9OmzFuGUGu7jqEWig0ljPYoCRFp0Y2xhaW1fZ2VuZXJhdG9yX2luZm+jZG5hbWVvQW50aHJvcGljIEZpbGVzZ3ZlcnNpb25lMS4wLjBrc3BlY1ZlcnNpb25lMi40LjAAABA4anVtYgAAAChqdW1kYzJjcwARABCAAACqADibcQNjMnBhLnNpZ25hdHVyZQAAABAIY2JvctKEWQISogEmGCFZAgowggIGMIIBjaADAgECAhRA5aAK7sI50L64g/oGQgU9Z1UTADAKBggqhkjOPQQDAzBJMRcwFQYDVQQKEw5BbnRocm9waWMsIFBCQzEuMCwGA1UEAxMlQW50aHJvcGljIENvbnRlbnQgQ3JlZGVudGlhbHMgUm9vdCBDQTAeFw0yNjA4MDcxODQzNTZaFw0yODA4MDYxOTQzNTZaMEQxFzAVBgNVBAoTDkFudGhyb3BpYywgUEJDMSkwJwYDVQQDEyBBbnRocm9waWMgQ2xhdWRlIENvbnRlbnQgU2lnbmluZzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJh6CmvLUBgFFNU0vUKlOVtE6djd17L5SuwX0LemFisBM3dkd/3cyjxFA3Qo5S46fX0/ihY0VZ7mfb9KF703t5OjWDBWMA4GA1UdDwEB/wQEAwIHgDAVBgNVHSUEDjAMBgorBgEEAYPoXgIBMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUzlHiBIFOZFsj+OPEz5o+nMHXXMIwCgYIKoZIzj0EAwMDZwAwZAIwMXMdFJ4BetLLVY7ORuE9noqbbAZOZn/aArXyTwFAZfKrPzxF2vPoJNf1+UCdg1XGAjBwX1zd9WGqYkqmL5SFqw1QySjr1zJfpJM9+1rdDwSPLMOPOjKuiXjoU/pUUeG9RwmhY3BhZFkNngAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPZYQMgAyTO9JX5w7Pi/yGqM1Mv9NSxnt/u5/qCYfgWlOkNTIflbkWT/8hDrv/Pnp570QJ0WaMga616qcx51qBLazUs=</c2pa:manifest></metadata>
<title>Arquitetura do fluxo n8n com 8 nos</title>
<desc>Diagrama tecnico mostrando o pipeline completo de um agente de IA no n8n, do webhook da Meta ate o registro da interacao, passando por extracao de mensagem, memoria, base de conhecimento, modelo de linguagem e envio da resposta.</desc>
<rect width="1300" height="820" fill="#0A1520"/>
<text x="650" y="45" text-anchor="middle" font-family="Consolas, monospace" font-size="24" font-weight="bold" fill="#E6EDF3">Pipeline n8n: Webhook ao Agente Funcionando</text>

<g font-family="Consolas, monospace" font-size="13">
<!-- node 1 -->
<rect x="60" y="90" width="220" height="70" rx="6" fill="#161B22" stroke="#3FB950" stroke-width="1.5"/>
<text x="170" y="115" text-anchor="middle" fill="#3FB950" font-weight="bold">No 1 · Webhook</text>
<text x="170" y="135" text-anchor="middle" fill="#8B949E">POST recebe payload Meta</text>
<text x="170" y="150" text-anchor="middle" fill="#8B949E" font-size="11">URL producao, nao teste</text>

<line x1="280" y1="125" x2="340" y2="125" stroke="#3FB950" stroke-width="2" marker-end="url(#ar)"/>

<!-- node 2 -->
<rect x="345" y="90" width="220" height="70" rx="6" fill="#161B22" stroke="#58A6FF" stroke-width="1.5"/>
<text x="455" y="115" text-anchor="middle" fill="#58A6FF" font-weight="bold">No 2 · Extract</text>
<text x="455" y="135" text-anchor="middle" fill="#8B949E">entry[0].changes[0]</text>
<text x="455" y="150" text-anchor="middle" fill="#8B949E" font-size="11">.value.messages[0].text.body</text>

<line x1="565" y1="125" x2="625" y2="125" stroke="#58A6FF" stroke-width="2" marker-end="url(#ar)"/>

<!-- node 3 -->
<rect x="630" y="90" width="220" height="70" rx="6" fill="#161B22" stroke="#D29922" stroke-width="1.5"/>
<text x="740" y="115" text-anchor="middle" fill="#D29922" font-weight="bold">No 3 · Roteador</text>
<text x="740" y="135" text-anchor="middle" fill="#8B949E">Identifica intencao</text>
<text x="740" y="150" text-anchor="middle" fill="#8B949E" font-size="11">Switch por palavra-chave</text>

<line x1="850" y1="125" x2="740" y2="220" stroke="#D29922" stroke-width="2" marker-end="url(#ar)"/>

<!-- node 4 memoria -->
<rect x="630" y="225" width="220" height="70" rx="6" fill="#161B22" stroke="#BC8CFF" stroke-width="1.5"/>
<text x="740" y="250" text-anchor="middle" fill="#BC8CFF" font-weight="bold">No 4 · Memoria</text>
<text x="740" y="270" text-anchor="middle" fill="#8B949E">Google Sheets lookup</text>
<text x="740" y="285" text-anchor="middle" fill="#8B949E" font-size="11">telefone_cliente como chave</text>

<line x1="630" y1="260" x2="345" y2="260" stroke="#BC8CFF" stroke-width="2" marker-end="url(#ar)"/>

<!-- node 5 RAG -->
<rect x="90" y="225" width="220" height="70" rx="6" fill="#161B22" stroke="#F778BA" stroke-width="1.5"/>
<text x="200" y="250" text-anchor="middle" fill="#F778BA" font-weight="bold">No 5 · RAG</text>
<text x="200" y="270" text-anchor="middle" fill="#8B949E">Busca vetorial</text>
<text x="200" y="285" text-anchor="middle" fill="#8B949E" font-size="11">Trechos relevantes</text>

<line x1="200" y1="295" x2="200" y2="380" stroke="#F778BA" stroke-width="2" marker-end="url(#ar)"/>
<line x1="200" y1="380" x2="345" y2="380" stroke="#F778BA" stroke-width="1" stroke-dasharray="4,3"/>

<!-- node 6 LLM -->
<rect x="345" y="360" width="220" height="80" rx="6" fill="#0D2818" stroke="#3FB950" stroke-width="2"/>
<text x="455" y="385" text-anchor="middle" fill="#3FB950" font-weight="bold">No 6 · Modelo IA</text>
<text x="455" y="405" text-anchor="middle" fill="#8B949E">GPT-4o-mini / Claude</text>
<text x="455" y="420" text-anchor="middle" fill="#8B949E" font-size="11">prompt + historico + RAG</text>

<line x1="565" y1="400" x2="625" y2="400" stroke="#3FB950" stroke-width="2" marker-end="url(#ar)"/>

<!-- node 7 send -->
<rect x="630" y="360" width="220" height="80" rx="6" fill="#161B22" stroke="#58A6FF" stroke-width="1.5"/>
<text x="740" y="385" text-anchor="middle" fill="#58A6FF" font-weight="bold">No 7 · Enviar</text>
<text x="740" y="405" text-anchor="middle" fill="#8B949E">HTTP POST Graph API</text>
<text x="740" y="420" text-anchor="middle" fill="#8B949E" font-size="11">Bearer: token permanente</text>

<line x1="850" y1="400" x2="910" y2="400" stroke="#58A6FF" stroke-width="2" marker-end="url(#ar)"/>

<!-- node 8 log -->
<rect x="915" y="360" width="220" height="80" rx="6" fill="#161B22" stroke="#D29922" stroke-width="1.5"/>
<text x="1025" y="385" text-anchor="middle" fill="#D29922" font-weight="bold">No 8 · Registrar</text>
<text x="1025" y="405" text-anchor="middle" fill="#8B949E">Historico_Conversas</text>
<text x="1025" y="420" text-anchor="middle" fill="#8B949E" font-size="11">append row</text>
</g>

<defs>
<marker id="ar" markerWidth="10" markerHeight="8" refX="8" refY="4" orient="auto">
<polygon points="0 0, 10 4, 0 8" fill="#8B949E"/>
</marker>
</defs>

<rect x="90" y="500" width="1045" height="130" rx="8" fill="#161B22" stroke="#F85149" stroke-width="1"/>
<text x="612" y="530" text-anchor="middle" font-family="Consolas, monospace" font-size="14" fill="#F85149" font-weight="bold">Erro comum: codigo 131026</text>
<text x="612" y="555" text-anchor="middle" font-family="Consolas, monospace" font-size="12" fill="#8B949E">Template de mensagem enviado fora da janela de 24h sem aprovacao previa da Meta</text>
<text x="612" y="578" text-anchor="middle" font-family="Consolas, monospace" font-size="12" fill="#8B949E">Verifique: token permanente (nao o de 24h) + permissoes duplas no System User</text>
<text x="612" y="601" text-anchor="middle" font-family="Consolas, monospace" font-size="12" fill="#8B949E">hub.challenge deve ser respondido em texto puro, sem modificacao</text>

<text x="650" y="700" text-anchor="middle" font-family="Consolas, monospace" font-size="13" fill="#6E7681">Producao real exige ainda: retry, timeout, rate limiting e isolamento multi-tenant</text>
</svg>
