[{"data":1,"prerenderedAt":1599},["ShallowReactive",2],{"docs-pages-meta":3,"i-lucide:menu":159,"i-fa6-solid:book":164,"i-fa6-solid:signs-post":168,"i-lucide:search":170,"i-lucide:languages":172,"i-lucide:chevron-down":174,"i-lucide:moon":176,"i-fa6-solid:rocket":178,"i-lucide:sparkles":180,"i-lucide:badge-check":182,"i-lucide:star":184,"i-fa6-solid:qrcode":186,"i-fa6-solid:cube":188,"i-lucide:bot":190,"i-lucide:webhook":192,"i-fa6-brands:wordpress":194,"i-fa6-solid:envelope":196,"i-fa6-solid:code":198,"i-fa6-solid:key":201,"i-lucide:shield":203,"docs-page:\u002Fpt-BR\u002Fmcp":205,"i-lucide:copy":1586,"i-fa6-solid:circle-info":1588,"i-fa6-solid:triangle-exclamation":1590,"i-fa6-solid:lightbulb":1592,"i-lucide:chevron-left":1595,"i-lucide:chevron-right":1597},[4,9,14,19,22,27,30,35,38,42,47,52,56,61,66,71,76,81,86,89,93,97,100,103,107,110,114,117,121,125,129,133,137,141,144,148,152,156],{"path":5,"title":6,"description":7,"icon":8},"\u002Fen\u002Fapi-reference\u002Fv2\u002Fauthentication","Authentication","Learn how to generate and manage your access credentials to use the API securely.","key",{"path":10,"title":11,"description":12,"icon":13},"\u002Fen\u002Fapi-reference\u002Fv2","Introduction","The v2 API: connections, chats, messages and templates.","sparkles",{"path":15,"title":16,"description":17,"icon":18},"\u002Fen\u002Fapi-reference\u002Fv2\u002Fwebhooks","Webhooks","In this section, you’ll learn how to integrate and use webhooks and messaging events to connect your application to your projects.","webhook",{"path":20,"title":6,"description":21,"icon":8},"\u002Fen\u002Fapi-reference\u002Fv3\u002Fauthentication","How a v3 request proves who it is, and which workspace it acts on.",{"path":23,"title":24,"description":25,"icon":26},"\u002Fen\u002Fapi-reference\u002Fv3\u002Fconventions","Conventions","Pagination, errors, ids and dates — the rules every v3 endpoint follows.","list-check",{"path":28,"title":11,"description":29,"icon":13},"\u002Fen\u002Fapi-reference\u002Fv3","The v3 API: workspaces, connections, campaigns and the helpdesk.",{"path":31,"title":32,"description":33,"icon":34},"\u002Fen\u002Fapi-reference\u002Fv3\u002Frealtime","Realtime","The websocket behind the shared inbox: live conversations, typing and presence.","tower-broadcast",{"path":36,"title":16,"description":37,"icon":18},"\u002Fen\u002Fapi-reference\u002Fv3\u002Fwebhooks","Receive WhatsApp and helpdesk events on your own server, and prove they came from us.",{"path":39,"title":40,"description":41,"icon":8},"\u002Fen\u002Fapikeys","API Keys","Understand what API Keys are and why they are required to use Pingo Notify securely.",{"path":43,"title":44,"description":45,"icon":46},"\u002Fen\u002Fconnections","Connections","Connections represent WhatsApp sessions linked to Pingo Notify, used for sending, receiving, and integrations.","qrcode",{"path":48,"title":49,"description":50,"icon":51},"\u002Fen\u002Fhooks-and-development","Hooks and Development","Extend the Pingo Notify WordPress plugin with custom triggers, groups, and hooks.","code",{"path":53,"title":54,"description":55,"icon":13},"\u002Fen","Introduction to Pingo Notify","Connect WhatsApp to your systems, automate workflows, and send messages.",{"path":57,"title":58,"description":59,"icon":60},"\u002Fen\u002Fintegrations","Integrations","Integrations represent external applications linked to Pingo Notify, authorized to access resources such as connections, plans, and messaging.","cube",{"path":62,"title":63,"description":64,"icon":65},"\u002Fen\u002Fmcp","MCP server","Connect an AI assistant to your workspace — how to authorize it, what it can do, and every tool it gets.","robot",{"path":67,"title":68,"description":69,"icon":70},"\u002Fen\u002Foauth","OAuth 2.1","How an application gets a token on behalf of a person, what that token can do, and every error it can get back.","shield",{"path":72,"title":73,"description":74,"icon":75},"\u002Fen\u002Fofficial-whatsapp-api","Official WhatsApp API","Step-by-step guide to request access to the Official WhatsApp Business API and connect it to Pingo Notify.","badge-check",{"path":77,"title":78,"description":79,"icon":80},"\u002Fen\u002Fplugin-wordpress","Get started","WordPress plugin that connects events from your site to Pingo Notify for automatic notification delivery.","wordpress",{"path":82,"title":83,"description":84,"icon":85},"\u002Fen\u002Ftemplate-plugins","Templates Guide","Learn how to create custom dynamic messages.","square-envelope",{"path":87,"title":16,"description":88,"icon":18},"\u002Fen\u002Fwebhooks","Receive WhatsApp events in real time by linking webhooks to one or more connections in Pingo Notify.",{"path":90,"title":91,"description":92,"icon":8},"\u002Fpt-BR\u002Fapi-reference\u002Fv2\u002Fauthentication","Autenticação","Veja como gerar e gerenciar suas credenciais de acesso para utilizar a API com segurança.",{"path":94,"title":95,"description":96,"icon":13},"\u002Fpt-BR\u002Fapi-reference\u002Fv2","Introdução","A API v2: conexões, conversas, mensagens e templates.",{"path":98,"title":16,"description":99,"icon":18},"\u002Fpt-BR\u002Fapi-reference\u002Fv2\u002Fwebhooks","Nesta seção, você aprende como integrar e utilizar webhooks e eventos de mensageria para conectar a aplicação aos seus projetos.",{"path":101,"title":91,"description":102,"icon":8},"\u002Fpt-BR\u002Fapi-reference\u002Fv3\u002Fauthentication","Como uma requisição v3 prova quem é, e em qual workspace ela atua.",{"path":104,"title":105,"description":106,"icon":26},"\u002Fpt-BR\u002Fapi-reference\u002Fv3\u002Fconventions","Convenções","Paginação, erros, ids e datas — as regras que todo endpoint da v3 segue.",{"path":108,"title":95,"description":109,"icon":13},"\u002Fpt-BR\u002Fapi-reference\u002Fv3","A API v3: workspaces, conexões, campanhas e o helpdesk.",{"path":111,"title":112,"description":113,"icon":34},"\u002Fpt-BR\u002Fapi-reference\u002Fv3\u002Frealtime","Tempo real","O websocket por trás da caixa compartilhada: conversas ao vivo, digitação e presença.",{"path":115,"title":16,"description":116,"icon":18},"\u002Fpt-BR\u002Fapi-reference\u002Fv3\u002Fwebhooks","Receba eventos do WhatsApp e do helpdesk no seu servidor, e prove que vieram de nós.",{"path":118,"title":119,"description":120,"icon":8},"\u002Fpt-BR\u002Fapikeys","Chaves de API","Entenda o que são Chaves de API e por que elas são necessárias para usar o Pingo Notify com segurança.",{"path":122,"title":123,"description":124,"icon":46},"\u002Fpt-BR\u002Fconnections","Conexões","Conexões representam sessões do WhatsApp vinculadas ao Pingo Notify, usadas para envio, recebimento e integrações.",{"path":126,"title":127,"description":128,"icon":51},"\u002Fpt-BR\u002Fhooks-and-development","Hooks e Desenvolvimento","Estenda o plugin WordPress do Pingo Notify com gatilhos, grupos e hooks personalizados.",{"path":130,"title":131,"description":132,"icon":13},"\u002Fpt-BR","Introdução ao Pingo Notify","Conecte o WhatsApp aos seus sistemas, automatize fluxos e envie mensagens.",{"path":134,"title":135,"description":136,"icon":60},"\u002Fpt-BR\u002Fintegrations","Integrações","Integrações representam aplicações externas vinculadas ao Pingo Notify, autorizadas a acessar recursos como conexões, planos e mensageria.",{"path":138,"title":139,"description":140,"icon":65},"\u002Fpt-BR\u002Fmcp","Servidor MCP","Conecte um assistente de IA ao seu workspace — como autorizar, o que ele pode fazer e todas as ferramentas que recebe.",{"path":142,"title":68,"description":143,"icon":70},"\u002Fpt-BR\u002Foauth","Como uma aplicação obtém um token em nome de uma pessoa, o que esse token pode fazer e todos os erros que ele pode receber.",{"path":145,"title":146,"description":147,"icon":75},"\u002Fpt-BR\u002Fofficial-whatsapp-api","API Oficial do WhatsApp","Guia passo a passo para solicitar acesso à API Oficial do WhatsApp Business e conectá-la ao Pingo Notify.",{"path":149,"title":150,"description":151,"icon":80},"\u002Fpt-BR\u002Fplugin-wordpress","Primeiros passos","Plugin WordPress que conecta eventos do seu site ao Pingo Notify para envio automático de notificações.",{"path":153,"title":154,"description":155,"icon":85},"\u002Fpt-BR\u002Ftemplate-plugins","Guia de Templates","Aprenda a criar mensagens dinâmicas personalizadas.",{"path":157,"title":16,"description":158,"icon":18},"\u002Fpt-BR\u002Fwebhooks","Receba eventos do WhatsApp em tempo real vinculando webhooks a uma ou mais conexões no Pingo Notify.",{"left":160,"top":160,"width":161,"height":161,"rotate":160,"vFlip":162,"hFlip":162,"body":163},0,24,false,"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 5h16M4 12h16M4 19h16\"\u002F>",{"left":160,"top":160,"width":165,"height":166,"rotate":160,"vFlip":162,"hFlip":162,"body":167},448,512,"\u003Cpath fill=\"currentColor\" d=\"M96 0C43 0 0 43 0 96v320c0 53 43 96 96 96h320c17.7 0 32-14.3 32-32s-14.3-32-32-32v-64c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32zm0 384h256v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32m32-240c0-8.8 7.2-16 16-16h192c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16m16 48h192c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16\"\u002F>",{"left":160,"top":160,"width":166,"height":166,"rotate":160,"vFlip":162,"hFlip":162,"body":169},"\u003Cpath fill=\"currentColor\" d=\"M224 32H64c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h377.4c4.2 0 8.3-1.7 11.3-4.7l48-48c6.2-6.2 6.2-16.4 0-22.6l-48-48c-3-3-7.1-4.7-11.3-4.7H288c0-17.7-14.3-32-32-32s-32 14.3-32 32m256 224c0-17.7-14.3-32-32-32H288v-32h-64v32H70.6c-4.2 0-8.3 1.7-11.3 4.7l-48 48c-6.2 6.2-6.2 16.4 0 22.6l48 48c3 3 7.1 4.7 11.3 4.7H448c17.7 0 32-14.3 32-32zM288 480v-96h-64v96c0 17.7 14.3 32 32 32s32-14.3 32-32\"\u002F>",{"left":160,"top":160,"width":161,"height":161,"rotate":160,"vFlip":162,"hFlip":162,"body":171},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"m21 21l-4.34-4.34\"\u002F>\u003Ccircle cx=\"11\" cy=\"11\" r=\"8\"\u002F>\u003C\u002Fg>",{"left":160,"top":160,"width":161,"height":161,"rotate":160,"vFlip":162,"hFlip":162,"body":173},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m5 8l6 6m-7 0l6-6l2-3M2 5h12M7 2h1m14 20l-5-10l-5 10m2-4h6\"\u002F>",{"left":160,"top":160,"width":161,"height":161,"rotate":160,"vFlip":162,"hFlip":162,"body":175},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m6 9l6 6l6-6\"\u002F>",{"left":160,"top":160,"width":161,"height":161,"rotate":160,"vFlip":162,"hFlip":162,"body":177},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\"\u002F>",{"left":160,"top":160,"width":166,"height":166,"rotate":160,"vFlip":162,"hFlip":162,"body":179},"\u003Cpath fill=\"currentColor\" d=\"M156.6 384.9L125.7 354c-8.5-8.5-11.5-20.8-7.7-32.2c3-8.9 7-20.5 11.8-33.8H24c-8.6 0-16.6-4.6-20.9-12.1s-4.2-16.7.2-24.1l52.5-88.5c13-21.9 36.5-35.3 61.9-35.3H200c2.4-4 4.8-7.7 7.2-11.3C289.1-4.1 411.1-8.1 483.9 5.3c11.6 2.1 20.6 11.2 22.8 22.8c13.4 72.9 9.3 194.8-111.4 276.7c-3.5 2.4-7.3 4.8-11.3 7.2v82.3c0 25.4-13.4 49-35.3 61.9l-88.5 52.5c-7.4 4.4-16.6 4.5-24.1.2S224 496.7 224 488V380.8c-14.1 4.9-26.4 8.9-35.7 11.9c-11.2 3.6-23.4.5-31.8-7.8zM384 168a40 40 0 1 0 0-80a40 40 0 1 0 0 80\"\u002F>",{"left":160,"top":160,"width":161,"height":161,"rotate":160,"vFlip":162,"hFlip":162,"body":181},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594zM20 2v4m2-2h-4\"\u002F>\u003Ccircle cx=\"4\" cy=\"20\" r=\"2\"\u002F>\u003C\u002Fg>",{"left":160,"top":160,"width":161,"height":161,"rotate":160,"vFlip":162,"hFlip":162,"body":183},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M3.85 8.62a4 4 0 0 1 4.78-4.77a4 4 0 0 1 6.74 0a4 4 0 0 1 4.78 4.78a4 4 0 0 1 0 6.74a4 4 0 0 1-4.77 4.78a4 4 0 0 1-6.75 0a4 4 0 0 1-4.78-4.77a4 4 0 0 1 0-6.76\"\u002F>\u003Cpath d=\"m9 12l2 2l4-4\"\u002F>\u003C\u002Fg>",{"left":160,"top":160,"width":161,"height":161,"rotate":160,"vFlip":162,"hFlip":162,"body":185},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.12 2.12 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.12 2.12 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.12 2.12 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.12 2.12 0 0 0 1.597-1.16z\"\u002F>",{"left":160,"top":160,"width":165,"height":166,"rotate":160,"vFlip":162,"hFlip":162,"body":187},"\u003Cpath fill=\"currentColor\" d=\"M0 80c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48zm64 16v64h64V96zM0 336c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48zm64 16v64h64v-64zM304 32h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48h-96c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48m80 64h-64v64h64zM256 304c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s7.2-16 16-16s16 7.2 16 16v96c0 8.8-7.2 16-16 16h-64c-8.8 0-16-7.2-16-16s-7.2-16-16-16s-16 7.2-16 16v64c0 8.8-7.2 16-16 16h-32c-8.8 0-16-7.2-16-16zm112 176a16 16 0 1 1 0-32a16 16 0 1 1 0 32m64 0a16 16 0 1 1 0-32a16 16 0 1 1 0 32\"\u002F>",{"left":160,"top":160,"width":166,"height":166,"rotate":160,"vFlip":162,"hFlip":162,"body":189},"\u003Cpath fill=\"currentColor\" d=\"M234.5 5.7c13.9-5 29.1-5 43.1 0l192 68.6c25.4 9.1 42.4 33.2 42.4 60.3v242.9c0 27-17 51.2-42.5 60.3l-192 68.6c-13.9 5-29.1 5-43.1 0l-192-68.6C17 428.6 0 404.5 0 377.4V134.6c0-27 17-51.2 42.5-60.3zM256 66L82.3 128L256 190l173.7-62zm32 368.6l160-57.1v-188l-160 57.1z\"\u002F>",{"left":160,"top":160,"width":161,"height":161,"rotate":160,"vFlip":162,"hFlip":162,"body":191},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M12 8V4H8\"\u002F>\u003Crect width=\"16\" height=\"12\" x=\"4\" y=\"8\" rx=\"2\"\u002F>\u003Cpath d=\"M2 14h2m16 0h2m-7-1v2m-6-2v2\"\u002F>\u003C\u002Fg>",{"left":160,"top":160,"width":161,"height":161,"rotate":160,"vFlip":162,"hFlip":162,"body":193},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2\"\u002F>\u003Cpath d=\"m6 17l3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06\"\u002F>\u003Cpath d=\"m12 6l3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8\"\u002F>\u003C\u002Fg>",{"left":160,"top":160,"width":166,"height":166,"rotate":160,"vFlip":162,"hFlip":162,"body":195},"\u003Cpath fill=\"currentColor\" d=\"m61.7 169.4l101.5 278C92.2 413 43.3 340.2 43.3 256c0-30.9 6.6-60.1 18.4-86.6m337.9 75.9c0-26.3-9.4-44.5-17.5-58.7c-10.8-17.5-20.9-32.4-20.9-49.9c0-19.6 14.8-37.8 35.7-37.8c.9 0 1.8.1 2.8.2c-37.9-34.7-88.3-55.9-143.7-55.9c-74.3 0-139.7 38.1-177.8 95.9c5 .2 9.7.3 13.7.3c22.2 0 56.7-2.7 56.7-2.7c11.5-.7 12.8 16.2 1.4 17.5c0 0-11.5 1.3-24.3 2l77.5 230.4L249.8 247l-33.1-90.8c-11.5-.7-22.3-2-22.3-2c-11.5-.7-10.1-18.2 1.3-17.5c0 0 35.1 2.7 56 2.7c22.2 0 56.7-2.7 56.7-2.7c11.5-.7 12.8 16.2 1.4 17.5c0 0-11.5 1.3-24.3 2l76.9 228.7l21.2-70.9c9-29.4 16-50.5 16-68.7m-139.9 29.3l-63.8 185.5c19.1 5.6 39.2 8.7 60.1 8.7c24.8 0 48.5-4.3 70.6-12.1c-.6-.9-1.1-1.9-1.5-2.9zm183-120.7c.9 6.8 1.4 14 1.4 21.9c0 21.6-4 45.8-16.2 76.2l-65 187.9C426.2 403 468.7 334.5 468.7 256c0-37-9.4-71.8-26-102.1M504 256c0 136.8-111.3 248-248 248C119.2 504 8 392.7 8 256C8 119.2 119.2 8 256 8c136.7 0 248 111.2 248 248m-11.4 0c0-130.5-106.2-236.6-236.6-236.6C125.5 19.4 19.4 125.5 19.4 256S125.6 492.6 256 492.6c130.5 0 236.6-106.1 236.6-236.6\"\u002F>",{"left":160,"top":160,"width":166,"height":166,"rotate":160,"vFlip":162,"hFlip":162,"body":197},"\u003Cpath fill=\"currentColor\" d=\"M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4l217.6 163.2c11.4 8.5 27 8.5 38.4 0l217.6-163.2c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48zM0 176v208c0 35.3 28.7 64 64 64h384c35.3 0 64-28.7 64-64V176L294.4 339.2a63.9 63.9 0 0 1-76.8 0z\"\u002F>",{"left":160,"top":160,"width":199,"height":166,"rotate":160,"vFlip":162,"hFlip":162,"body":200},640,"\u003Cpath fill=\"currentColor\" d=\"M392.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6m80.6 120.1c-12.5 12.5-12.5 32.8 0 45.3l89.3 89.4l-89.4 89.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-112-112c-12.5-12.5-32.8-12.5-45.3 0zm-306.7 0c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l112 112c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256l89.4-89.4c12.5-12.5 12.5-32.8 0-45.3\"\u002F>",{"left":160,"top":160,"width":166,"height":166,"rotate":160,"vFlip":162,"hFlip":162,"body":202},"\u003Cpath fill=\"currentColor\" d=\"M336 352c97.2 0 176-78.8 176-176S433.2 0 336 0S160 78.8 160 176c0 18.7 2.9 36.8 8.3 53.7L7 391c-4.5 4.5-7 10.6-7 17v80c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24v-40h40c13.3 0 24-10.7 24-24v-40h40c6.4 0 12.5-2.5 17-7l33.3-33.3c16.9 5.4 35 8.3 53.7 8.3m40-256a40 40 0 1 1 0 80a40 40 0 1 1 0-80\"\u002F>",{"left":160,"top":160,"width":161,"height":161,"rotate":160,"vFlip":162,"hFlip":162,"body":204},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\"\u002F>",{"id":206,"title":139,"body":207,"description":140,"extension":1580,"hidden":162,"icon":65,"meta":1581,"navigation":1582,"path":138,"seo":1583,"stem":1584,"__hash__":1585},"docs\u002Fpt-BR\u002Fmcp.md",{"type":208,"value":209,"toc":1560},"minimark",[210,219,224,227,237,240,298,318,330,341,345,350,360,364,380,459,466,478,482,492,499,503,506,510,607,627,635,639,824,839,842,942,946,949,968,1156,1159,1278,1281,1309,1313,1355,1358,1362,1369,1454,1458,1461,1526,1544],[211,212,213,214,218],"p",{},"O Pingo Notify fala ",[215,216,217],"strong",{},"MCP"," (Model Context Protocol), então um assistente de IA pode operar um workspace direto: listar conexões, enviar mensagens de WhatsApp, ler uma conversa, gerenciar webhooks. Você aprova o que ele pode fazer uma vez, numa tela de consentimento, e ele nunca manuseia um token de API.",[220,221,223],"h2",{"id":222},"conectar","Conectar",[211,225,226],{},"Adicione uma URL ao cliente, como conector customizado ou remoto:",[228,229,234],"pre",{"className":230,"code":232,"language":233},[231],"language-text","https:\u002F\u002Fapi.pingonotify.com\u002Fv3\u002Fmcp\n","text",[51,235,232],{"__ignoreMap":236},"",[211,238,239],{},"Tudo depois disso é o protocolo fazendo o trabalho dele:",[241,242,243,258,271,285],"steps",{},[244,245,247],"step",{"title":246},"O cliente descobre o servidor",[211,248,249,250,253,254,257],{},"A primeira chamada dele chega sem credencial e recebe um ",[215,251,252],{},"401"," com ",[51,255,256],{},"WWW-Authenticate: Bearer …, resource_metadata=\"…\u002F.well-known\u002Foauth-protected-resource\u002Fv3\u002Fmcp\"",". Esse documento diz qual é o servidor de autorização e, de propósito, apenas os escopos que este servidor realmente usa.",[244,259,261],{"title":260},"Ele se registra sozinho",[211,262,263,266,267,270],{},[51,264,265],{},"POST \u002Fv3\u002Foauth\u002Fregister",". O registro não tem burocracia: um conector de IA se registra como ",[215,268,269],{},"cliente público"," — sem segredo, com PKCE no lugar.",[244,272,274],{"title":273},"Você autoriza",[211,275,276,277,280,281,284],{},"O cliente abre ",[51,278,279],{},"\u002Fv3\u002Foauth\u002Fauthorize",". Você entra na conta, ",[215,282,283],{},"escolhe o workspace"," e aprova os escopos que ele pediu. Este é o único passo com uma pessoa dentro.",[244,286,288],{"title":287},"Ele recebe um token",[211,289,290,293,294,297],{},[51,291,292],{},"POST \u002Fv3\u002Foauth\u002Ftoken"," troca o código, e daí em diante toda chamada leva ",[51,295,296],{},"Authorization: Bearer …",".",[299,300,301],"info",{},[211,302,303,304,311,312,317],{},"Nada disso é específico de um produto. É o fluxo padrão de MCP remoto — OAuth 2.1 com registro dinâmico de cliente (",[305,306,310],"a",{"href":307,"rel":308},"https:\u002F\u002Fwww.rfc-editor.org\u002Frfc\u002Frfc7591",[309],"nofollow","RFC 7591","), PKCE e tokens restritos por audiência (",[305,313,316],{"href":314,"rel":315},"https:\u002F\u002Fwww.rfc-editor.org\u002Frfc\u002Frfc8707",[309],"RFC 8707",") — então qualquer cliente conforme conecta do mesmo jeito.",[319,320,321],"warning",{},[211,322,323,326,327,297],{},[215,324,325],{},"Só um Owner ou um Admin pode autorizar uma aplicação para um workspace."," A tela de consentimento oferece apenas os workspaces em que o seu papel permite; um Manager ou um Agent não consegue conectar um assistente ao workspace do time. Autorizar sem escolher workspace amarra o token à sua conta ",[215,328,329],{},"pessoal",[211,331,332,333,336,337,297],{},"Conectar não exige plano nenhum, e continua funcionando com assinatura expirada — mas ",[215,334,335],{},"enviar"," não. Veja ",[305,338,340],{"href":339},"#limites","Limites",[220,342,344],{"id":343},"o-que-o-assistente-recebe","O que o assistente recebe",[346,347,349],"h3",{"id":348},"um-workspace-fixado-no-consentimento","Um workspace, fixado no consentimento",[211,351,352,353,359],{},"Tudo que o assistente enxerga pertence ao workspace que você escolheu ao autorizar. Não há ferramenta para trocar de workspace nem header que ele possa mandar para mudar isso: uma requisição que tentar recebe ",[215,354,355,356],{},"403 — ",[51,357,358],{},"This access token is bound to a different workspace; re-authorize to switch."," Um segundo workspace significa uma segunda autorização.",[346,361,363],{"id":362},"escopo-é-teto-nunca-concessão","Escopo é teto, nunca concessão",[211,365,366,367,370,371,375,376,379],{},"A permissão efetiva de um token é a ",[215,368,369],{},"interseção"," entre os escopos que você aprovou e o que ",[372,373,374],"em",{},"você"," pode fazer naquele workspace. Aprovar ",[51,377,378],{},"messages:send"," não deixa um assistente enviar se o seu próprio papel não pode; escopo só estreita.",[381,382,383,396],"table",{},[384,385,386],"thead",{},[387,388,389,393],"tr",{},[390,391,392],"th",{},"Escopo",[390,394,395],{},"O que o assistente alcança",[397,398,399,410,420,430,439,449],"tbody",{},[387,400,401,407],{},[402,403,404],"td",{},[51,405,406],{},"profile",[402,408,409],{},"Quem autorizou, e em qual workspace",[387,411,412,417],{},[402,413,414],{},[51,415,416],{},"connections:read",[402,418,419],{},"Suas conexões e o status delas, conversas, templates, consulta de número",[387,421,422,427],{},[402,423,424],{},[51,425,426],{},"messages:read",[402,428,429],{},"Histórico de mensagens e a mídia de uma mensagem recebida",[387,431,432,436],{},[402,433,434],{},[51,435,378],{},[402,437,438],{},"Envio — todos os tipos de mensagem abaixo, e o indicador de \"digitando\"",[387,440,441,446],{},[402,442,443],{},[51,444,445],{},"webhooks:read",[402,447,448],{},"Seus webhooks, o catálogo de eventos, as tentativas de entrega",[387,450,451,456],{},[402,452,453],{},[51,454,455],{},"webhooks:write",[402,457,458],{},"Criar, editar e excluir webhooks",[211,460,461,462,465],{},"Você pode sempre aprovar ",[215,463,464],{},"menos"," do que foi pedido. Reaprovar com menos escopos revoga os tokens já emitidos para aquela integração, para que a tela e a realidade nunca discordem.",[467,468,469],"note",{},[211,470,471,474,475,477],{},[51,472,473],{},"connections:write"," pode aparecer na tela de consentimento também, porque ele igualmente satisfaz \"ler uma conexão\". Nenhuma ferramenta deste catálogo precisa dele — aprovar só ",[51,476,416],{}," basta.",[346,479,481],{"id":480},"ele-conhece-o-próprio-limite-antes-de-tentar","Ele conhece o próprio limite antes de tentar",[211,483,484,485,488,489,491],{},"O handshake carrega um parágrafo montado para ",[372,486,487],{},"aquele"," token: as ferramentas que este acesso pode usar e, pelo nome, as que não pode. Um assistente que já sabe que lhe falta ",[51,490,455],{}," avisa você em vez de gastar um turno descobrindo.",[211,493,494,495,498],{},"Ferramenta fora de escopo continua listada de propósito. Esconder trocaria uma recusa que diz ",[215,496,497],{},"qual escopo pedir"," por um inútil \"ferramenta desconhecida\".",[220,500,502],{"id":501},"as-ferramentas","As ferramentas",[211,504,505],{},"Vinte e três ferramentas. O corte é por domínio, não por rota — o helpdesk está fora por decisão de produto.",[346,507,509],{"id":508},"orientação","Orientação",[381,511,512,524],{},[384,513,514],{},[387,515,516,519,521],{},[390,517,518],{},"Ferramenta",[390,520,392],{},[390,522,523],{},"Conexão",[397,525,526,540,553,567,580,594],{},[387,527,528,533,537],{},[402,529,530],{},[51,531,532],{},"get_workspace",[402,534,535],{},[51,536,406],{},[402,538,539],{},"qualquer",[387,541,542,547,551],{},[402,543,544],{},[51,545,546],{},"list_connections",[402,548,549],{},[51,550,416],{},[402,552,539],{},[387,554,555,560,564],{},[402,556,557],{},[51,558,559],{},"check_whatsapp_number",[402,561,562],{},[51,563,416],{},[402,565,566],{},"só QR",[387,568,569,574,578],{},[402,570,571],{},[51,572,573],{},"list_chats",[402,575,576],{},[51,577,416],{},[402,579,566],{},[387,581,582,587,591],{},[402,583,584],{},[51,585,586],{},"list_message_templates",[402,588,589],{},[51,590,416],{},[402,592,593],{},"só Oficial",[387,595,596,601,605],{},[402,597,598],{},[51,599,600],{},"get_message_template",[402,602,603],{},[51,604,416],{},[402,606,593],{},[211,608,609,615,616,619,620,623,624,297],{},[215,610,611,612,614],{},"Comece por ",[51,613,546],{},", sempre."," Toda outra ferramenta precisa de um ",[51,617,618],{},"connectionId",", e é ela que revela o tipo da conexão — que decide se uma ferramenta de envio funciona. Ela também informa ",[51,621,622],{},"canSend",", verdadeiro só enquanto a conexão está ",[51,625,626],{},"open",[211,628,629,631,632,634],{},[51,630,559],{}," aceita até 50 números por chamada e devolve o id canônico de cada um. ",[51,633,532],{}," conta ao assistente quais escopos ele de fato tem.",[346,636,638],{"id":637},"mensageria","Mensageria",[381,640,641,653],{},[384,642,643],{},[387,644,645,647,649,651],{},[390,646,518],{},[390,648,392],{},[390,650,523],{},[390,652],{},[397,654,655,671,686,701,716,731,746,761,777,793,808],{},[387,656,657,662,666,668],{},[402,658,659],{},[51,660,661],{},"send_whatsapp_message",[402,663,664],{},[51,665,378],{},[402,667,539],{},[402,669,670],{},"custa dinheiro",[387,672,673,678,682,684],{},[402,674,675],{},[51,676,677],{},"send_whatsapp_media",[402,679,680],{},[51,681,378],{},[402,683,539],{},[402,685,670],{},[387,687,688,693,697,699],{},[402,689,690],{},[51,691,692],{},"send_whatsapp_voice_note",[402,694,695],{},[51,696,378],{},[402,698,539],{},[402,700,670],{},[387,702,703,708,712,714],{},[402,704,705],{},[51,706,707],{},"send_whatsapp_sticker",[402,709,710],{},[51,711,378],{},[402,713,566],{},[402,715,670],{},[387,717,718,723,727,729],{},[402,719,720],{},[51,721,722],{},"send_whatsapp_template",[402,724,725],{},[51,726,378],{},[402,728,593],{},[402,730,670],{},[387,732,733,738,742,744],{},[402,734,735],{},[51,736,737],{},"send_whatsapp_list",[402,739,740],{},[51,741,378],{},[402,743,566],{},[402,745,670],{},[387,747,748,753,757,759],{},[402,749,750],{},[51,751,752],{},"send_whatsapp_buttons",[402,754,755],{},[51,756,378],{},[402,758,566],{},[402,760,670],{},[387,762,763,768,772,774],{},[402,764,765],{},[51,766,767],{},"set_typing_presence",[402,769,770],{},[51,771,378],{},[402,773,566],{},[402,775,776],{},"plano pago",[387,778,779,784,788,790],{},[402,780,781],{},[51,782,783],{},"list_chat_history",[402,785,786],{},[51,787,426],{},[402,789,539],{},[402,791,792],{},"—",[387,794,795,800,804,806],{},[402,796,797],{},[51,798,799],{},"download_message_media",[402,801,802],{},[51,803,426],{},[402,805,539],{},[402,807,792],{},[387,809,810,815,819,821],{},[402,811,812],{},[51,813,814],{},"prepare_media_upload",[402,816,817],{},[51,818,378],{},[402,820,539],{},[402,822,823],{},"abre um envio",[211,825,826,827,830,831,834,835,838],{},"Há uma ferramenta por ",[215,828,829],{},"forma"," de mensagem, em vez de uma ferramenta com um campo ",[51,832,833],{},"type",". Um único schema com sete ramos opcionais deixa o modelo montar uma combinação que o WhatsApp recusa — e esse erro chega ",[372,836,837],{},"depois"," de o envio ter sido cobrado.",[346,840,16],{"id":841},"webhooks",[381,843,844,854],{},[384,845,846],{},[387,847,848,850,852],{},[390,849,518],{},[390,851,392],{},[390,853],{},[397,855,856,870,883,897,910,928],{},[387,857,858,863,867],{},[402,859,860],{},[51,861,862],{},"list_webhook_event_types",[402,864,865],{},[51,866,445],{},[402,868,869],{},"o catálogo, com uma nota de confiabilidade por evento",[387,871,872,877,881],{},[402,873,874],{},[51,875,876],{},"list_webhooks",[402,878,879],{},[51,880,445],{},[402,882,792],{},[387,884,885,890,894],{},[402,886,887],{},[51,888,889],{},"list_webhook_deliveries",[402,891,892],{},[51,893,445],{},[402,895,896],{},"o que o Pingo de fato tentou entregar",[387,898,899,904,908],{},[402,900,901],{},[51,902,903],{},"create_webhook",[402,905,906],{},[51,907,455],{},[402,909,792],{},[387,911,912,917,921],{},[402,913,914],{},[51,915,916],{},"update_webhook",[402,918,919],{},[51,920,455],{},[402,922,923,924,927],{},"destrutivo: a lista de eventos ",[215,925,926],{},"substitui",", não soma",[387,929,930,935,939],{},[402,931,932],{},[51,933,934],{},"delete_webhook",[402,936,937],{},[51,938,455],{},[402,940,941],{},"destrutivo",[220,943,945],{"id":944},"regras-que-falham-em-silêncio","Regras que falham em silêncio",[211,947,948],{},"Vale ler antes de soltar um assistente: ignorar estas não produz erro nenhum, só um resultado que ninguém recebe.",[319,950,951],{},[211,952,953,956,957,960,961,964,965],{},[215,954,955],{},"O tipo da conexão decide o que é possível."," Uma conexão ",[215,958,959],{},"QR"," envia figurinha, lista, botões e o indicador de \"digitando\", confere se um número existe no WhatsApp, e é a única que alimenta webhook com o conjunto completo de eventos. Uma conexão ",[215,962,963],{},"Oficial"," (Cloud API da Meta) envia template aprovado — o único jeito de iniciar conversa fora da janela de 24 horas — e não faz nada da lista acima. Uma lista ou um conjunto de botões enviados pelo canal oficial ",[215,966,967],{},"chegam como texto puro, sem os botões, e ninguém recebe erro.",[969,970,971,1004,1020,1036,1042,1059,1080,1114,1120,1132,1144],"ul",{},[972,973,974,977,978,981,982,985,986,989,990,989,993,989,996,999,1000,1003],"li",{},[215,975,976],{},"Conexão oficial alimenta menos o webhook."," Mensagens recebidas (",[51,979,980],{},"messages.upsert",") e atualizações de entrega (",[51,983,984],{},"messages.update",") chegam sim; ",[51,987,988],{},"send.message",", ",[51,991,992],{},"messages.delete",[51,994,995],{},"messages.edited",[51,997,998],{},"presence.update"," e ",[51,1001,1002],{},"connection.update"," nunca chegam. Inscrever-se nesses numa conexão oficial produz silêncio, não recusa.",[972,1005,1006,1009,1010,999,1012,1014,1015,1017,1018,297],{},[215,1007,1008],{},"Dois eventos são aceitos no cadastro e nunca entregues em conexão nenhuma",": ",[51,1011,1002],{},[51,1013,998],{},". O ",[51,1016,862],{}," carrega essa verdade por evento, e é por isso que o assistente deve chamá-lo antes de criar uma inscrição. Para status de conexão, faça polling em ",[51,1019,546],{},[972,1021,1022,1025,1026,1028,1029,1032,1033,1035],{},[215,1023,1024],{},"Webhook sem conexão vinculada nunca dispara."," O ",[51,1027,903],{}," exige pelo menos um id de conexão — passe todos se você quer o workspace inteiro. O webhook nasce ",[372,1030,1031],{},"ativo"," e o ",[51,1034,889],{}," volta vazio, o que se lê exatamente como \"evento errado\".",[972,1037,1038,1041],{},[215,1039,1040],{},"Seu endpoint vai ver o mesmo evento mais de uma vez."," A entrega estoura em 10 segundos e é retentada até três vezes, com uma linha registrada por tentativa. Faça o endpoint idempotente; um endpoint que responde em mais de 10 segundos garante duplicatas.",[972,1043,1044,1047,1048,1051,1052,1055,1056,1058],{},[215,1045,1046],{},"Telefone vai no formato internacional, só dígitos"," — ",[51,1049,1050],{},"5511999998888",", sem ",[51,1053,1054],{},"+",", sem espaço, sem pontuação. Para um número que você nunca mandou mensagem, rode ",[51,1057,559],{}," primeiro e envie o id canônico que ele devolve, não o que a pessoa digitou.",[972,1060,1061,1068,1069,1072,1073,1075,1076,1079],{},[215,1062,1063,1064,1067],{},"Mídia já hospedada vai por URL pública ",[51,1065,1066],{},"https","; arquivo local vai por upload."," Base64 no argumento não é aceito, e não é capricho: quando a imagem chegou ao assistente ",[372,1070,1071],{},"como imagem",", ela não é mais uma string que ele possa recuperar — e quando os bytes existem, escrevê-los consumiria a resposta inteira (1 MB de arquivo são ~1,4 milhão de caracteres). Para um arquivo na máquina do assistente, ",[51,1074,814],{}," devolve uma URL de upload de uso único: ele sobe o arquivo com um ",[51,1077,1078],{},"curl -F 'file=@caminho'"," e o envio acontece nesse mesmo request, sem os bytes passarem pelo contexto. Sem um terminal disponível, a mesma URL serve para você subir o arquivo à mão.",[972,1081,1082,1085,1086,1089,1090,1093,1094,1097,1098,1101,1102,1105,1106,1109,1110,1113],{},[215,1083,1084],{},"O tipo da mídia é uma escolha, e o contato vê coisas diferentes."," Uma ",[215,1087,1088],{},"imagem"," aparece na bolha com a legenda embaixo; um ",[215,1091,1092],{},"vídeo"," vira player com miniatura e toca dentro da conversa; um ",[215,1095,1096],{},"áudio"," é anexo, com botão de play e o nome do arquivo ao lado; um ",[215,1099,1100],{},"áudio de voz"," é a bolha redonda com forma de onda e velocidade 1×\u002F1,5×\u002F2×, que é o que as pessoas querem dizer com \"manda um áudio\"; um ",[215,1103,1104],{},"documento"," é o card com ícone, nome e tamanho, que o contato baixa para abrir. Tudo que não é imagem, vídeo ou áudio só pode ser documento. O assistente declara esse tipo ao pedir a URL de upload (ou no ",[51,1107,1108],{},"mediatype",", quando manda por URL) — ele ",[215,1111,1112],{},"não"," é adivinhado pela extensão do arquivo, justamente para um vídeo não chegar como card de arquivo.",[972,1115,1116,1119],{},[215,1117,1118],{},"Enviar custa dinheiro do workspace e é irreversível."," As instruções do servidor pedem que o assistente confirme com você antes de enviar, a menos que você já tenha pedido aquele envio na conversa.",[972,1121,1122,1127,1128,1131],{},[215,1123,1124,1126],{},[51,1125,799],{}," desiste em silêncio com arquivo grande."," Acima de uns 750 KB ele responde sem conteúdo e com uma nota mandando abrir o arquivo no Pingo — um ",[215,1129,1130],{},"sucesso",", não um erro. Um cliente que só checa falha segue adiante de mãos vazias.",[972,1133,1134,1139,1140,1143],{},[215,1135,1136,1138],{},[51,1137,722],{}," preenche só variáveis posicionais de texto."," Um template com ",[51,1141,1142],{},"parameterFormat: NAMED",", com header de mídia ou com botão dinâmico não tem como ser preenchido por esta ferramenta — esse caso é a API HTTP. A Meta recusa o envio inteiro quando nome, idioma ou número de parâmetros não batem.",[972,1145,1146,1152,1153,1155],{},[215,1147,1148,1151],{},[51,1149,1150],{},"delay"," é em milissegundos e para em 20000."," A espera é bloqueante do lado do WhatsApp; valores mais altos estouram a requisição por timeout ",[372,1154,837],{}," de a mensagem ter sido aceita — erro para o assistente, mensagem entregue para o contato.",[220,1157,340],{"id":1158},"limites",[381,1160,1161,1169],{},[384,1162,1163],{},[387,1164,1165,1167],{},[390,1166],{},[390,1168],{},[397,1170,1171,1182,1194,1205,1217,1225,1233,1241,1249,1260,1270],{},[387,1172,1173,1176],{},[402,1174,1175],{},"Transporte",[402,1177,1178,1179],{},"Streamable HTTP, stateless, só ",[51,1180,1181],{},"POST",[387,1183,1184,1187],{},[402,1185,1186],{},"Rate limit do endpoint MCP",[402,1188,1189,1190,1193],{},"300 requisições por minuto, chaveadas pela ",[215,1191,1192],{},"credencial",", não pelo IP",[387,1195,1196,1202],{},[402,1197,1198,1199],{},"Rate limit de ",[51,1200,1201],{},"\u002Fv3\u002Foauth\u002Ftoken",[402,1203,1204],{},"120 por minuto, por IP",[387,1206,1207,1214],{},[402,1208,1198,1209,999,1211],{},[51,1210,279],{},[51,1212,1213],{},"\u002Fregister",[402,1215,1216],{},"15 por minuto, por IP",[387,1218,1219,1222],{},[402,1220,1221],{},"Access token",[402,1223,1224],{},"vale 1 hora",[387,1226,1227,1230],{},[402,1228,1229],{},"Refresh token",[402,1231,1232],{},"vale 30 dias, rotacionado a cada uso",[387,1234,1235,1238],{},[402,1236,1237],{},"Código de autorização",[402,1239,1240],{},"vale 60 segundos, uso único",[387,1242,1243,1246],{},[402,1244,1245],{},"Cota de mensagens e tamanho de texto",[402,1247,1248],{},"o que o seu plano permitir — os mesmos limites que o painel aplica",[387,1250,1251,1254],{},[402,1252,1253],{},"Tamanho de mídia",[402,1255,1256,1257,1259],{},"por URL, o teto do próprio WhatsApp — o Pingo não tem bytes para medir e não aplica o limite do plano. Por upload (",[51,1258,814],{},"), vale o limite do seu plano por tipo de mídia",[387,1261,1262,1265],{},[402,1263,1264],{},"Exige plano pago",[402,1266,1267,1268],{},"só ",[51,1269,767],{},[387,1271,1272,1275],{},[402,1273,1274],{},"URL de upload",[402,1276,1277],{},"uso único, vale 10 minutos",[211,1279,1280],{},"O balde do MCP é chaveado por credencial de propósito. Um cliente MCP remoto não é chamado pelo seu navegador: quem chama é a infraestrutura que hospeda o modelo, de um punhado de IPs de saída. Por IP, um workspace derrubaria o outro.",[319,1282,1283],{},[211,1284,1285,1286,1291,1292,999,1295,1298,1299,253,1302,1305,1306,1308],{},"O endpoint MCP responde ",[215,1287,1288,1289],{},"só a ",[51,1290,1181],{},". ",[51,1293,1294],{},"GET",[51,1296,1297],{},"DELETE"," devolvem ",[215,1300,1301],{},"405",[51,1303,1304],{},"Allow: POST",". O servidor é stateless, então não existe sessão para um ",[51,1307,1294],{}," em fluxo receber; um cliente que abrisse um ficaria com um socket que nunca recebe mensagem.",[220,1310,1312],{"id":1311},"o-que-ele-não-faz-de-propósito","O que ele não faz, de propósito",[381,1314,1315,1325],{},[384,1316,1317],{},[387,1318,1319,1322],{},[390,1320,1321],{},"Fora",[390,1323,1324],{},"Por quê",[397,1326,1327,1339,1347],{},[387,1328,1329,1332],{},[402,1330,1331],{},"Ler ou rotacionar o segredo de assinatura de um webhook",[402,1333,1334,1335,1338],{},"Esse segredo é o que ",[215,1336,1337],{},"prova"," que um evento veio do Pingo. Numa ferramenta, ele vira a capacidade de forjar eventos assinados contra o seu endpoint. Rotacionar quebra a verificação em produção no instante seguinte, e nada numa conversa consegue atualizar o outro lado.",[387,1340,1341,1344],{},[402,1342,1343],{},"Criar, editar ou excluir um template de mensagem",[402,1345,1346],{},"É configuração da conexão, não mensageria, e um template recusado conta contra a qualidade da sua conta do WhatsApp Business. Ler templates continua disponível — sem isso, enviar um é impossível.",[387,1348,1349,1352],{},[402,1350,1351],{},"Qualquer coisa do helpdesk",[402,1353,1354],{},"Fora de escopo por decisão de produto.",[211,1356,1357],{},"Os dois primeiros continuam no painel, onde há uma pessoa.",[220,1359,1361],{"id":1360},"quando-algo-dá-errado","Quando algo dá errado",[211,1363,1364,1365,1368],{},"Uma ferramenta que falha volta como ",[215,1366,1367],{},"conteúdo"," legível, não como exceção de protocolo — então o assistente vê o motivo e consegue corrigir o rumo: pedir outro escopo, avisar você, tentar outra ferramenta. Falhas inesperadas nunca vazam detalhe; a stack e qualquer mensagem de banco ficam no log.",[381,1370,1371,1381],{},[384,1372,1373],{},[387,1374,1375,1378],{},[390,1376,1377],{},"Sintoma",[390,1379,1380],{},"O que significa",[397,1382,1383,1397,1407,1417,1428,1444],{},[387,1384,1385,1394],{},[402,1386,1387],{},[372,1388,1389,1390,1393],{},"\"This integration was not granted permission to use ",[51,1391,1392],{},"\u003Ctool>","\"",[402,1395,1396],{},"Falta um escopo ao token. A recusa diz quais; reautorize o conector e aprove-os. Se repetir, verifique se o seu próprio papel no workspace tem aquela permissão — o token não excede você.",[387,1398,1399,1404],{},[402,1400,1401],{},[372,1402,1403],{},"\"This workspace has no active plan, so it cannot send messages\"",[402,1405,1406],{},"Leitura continua funcionando; envio não.",[387,1408,1409,1414],{},[402,1410,1411],{},[372,1412,1413],{},"\"…reached its plan limit of N messages for the period\"",[402,1415,1416],{},"É a cota, não a requisição. Repetir não resolve.",[387,1418,1419,1425],{},[402,1420,1421,1424],{},[215,1422,1423],{},"403"," em toda chamada, citando outro workspace",[402,1426,1427],{},"O token está preso ao workspace escolhido no consentimento. Reautorize para trocar.",[387,1429,1430,1437],{},[402,1431,1432,253,1434],{},[215,1433,252],{},[51,1435,1436],{},"error=\"invalid_token\"",[402,1438,1439,1440,1443],{},"Expirado, revogado, ou emitido para outro recurso. O header ",[51,1441,1442],{},"WWW-Authenticate"," diz qual caso é e aponta o documento de metadata para começar de novo.",[387,1445,1446,1449],{},[402,1447,1448],{},"Meu webhook nunca dispara",[402,1450,1451,1453],{},[51,1452,889],{}," responde se o Pingo chegou a tentar. Lista vazia é problema de inscrição — evento errado, ou conexão oficial. Lista com 4xx\u002F5xx é o seu endpoint.",[220,1455,1457],{"id":1456},"escrevendo-o-seu-próprio-cliente","Escrevendo o seu próprio cliente",[211,1459,1460],{},"Se você está escrevendo o cliente em vez de usar um pronto, quatro detalhes poupam uma tarde:",[969,1462,1463,1481,1499,1508],{},[972,1464,1465,1472,1473,1476,1477,1480],{},[215,1466,1467,1468,1471],{},"Peça o grant ",[51,1469,1470],{},"refresh_token"," no registro."," ",[51,1474,1475],{},"grant_types"," omitido significa só ",[51,1478,1479],{},"authorization_code",", e aí nenhum refresh token é emitido — o seu conector para de funcionar uma hora depois e precisa de gente de novo.",[972,1482,1483,1490,1491,1494,1495,1498],{},[215,1484,1485,1486,1489],{},"Mande ",[51,1487,1488],{},"token_endpoint_auth_method: \"none\""," para ser cliente público."," Omitir o campo cria um cliente ",[215,1492,1493],{},"confidencial",", que recebe um ",[51,1496,1497],{},"client_secret"," mostrado uma única vez e tem de enviá-lo em toda chamada de token.",[972,1500,1501,1507],{},[215,1502,1503,1504,297],{},"A primeira requisição precisa de ",[51,1505,1506],{},"Accept: application\u002Fjson, text\u002Fevent-stream"," O transporte do MCP exige, mesmo que este servidor sempre responda JSON.",[972,1509,1510,1517,1518,1521,1522,1525],{},[215,1511,1512,1513,1516],{},"O parâmetro ",[51,1514,1515],{},"resource"," prende o token a um caminho."," Um token emitido para ",[51,1519,1520],{},"https:\u002F\u002Fapi.pingonotify.com\u002Fv3\u002Fmcp"," é aceito sob ",[51,1523,1524],{},"\u002Fv3\u002Fmcp"," e recusado com 401 em todo o resto da API. Peça o recurso que você realmente pretende chamar.",[211,1527,1528,1531,1532,1535,1536,1539,1540,1543],{},[51,1529,1530],{},"prompt=consent"," força a tela mesmo quando já existe um consentimento vivo que cobre o pedido; ",[51,1533,1534],{},"prompt=none"," nunca mostra a tela e responde ",[51,1537,1538],{},"consent_required"," ou ",[51,1541,1542],{},"login_required",". Fora disso, uma reautorização pode se completar em silêncio — mas só quando existe exatamente um consentimento que cobre os escopos pedidos e o seu papel ainda permite.",[1545,1546,1547],"tip",{},[211,1548,1549,1550,1553,1554,1557,1558,297],{},"O servidor de autorização se descreve em ",[51,1551,1552],{},"\u002F.well-known\u002Foauth-authorization-server",", e a metadata deste endpoint — com a lista exata dos escopos que ele usa — em ",[51,1555,1556],{},"\u002F.well-known\u002Foauth-protected-resource\u002Fv3\u002Fmcp",". Os dois são cacheados por cinco minutos e não pedem credencial. Para o modelo de credenciais do resto da API, veja ",[305,1559,91],{"href":101},{"title":236,"searchDepth":1561,"depth":1561,"links":1562},3,[1563,1565,1570,1575,1576,1577,1578,1579],{"id":222,"depth":1564,"text":223},2,{"id":343,"depth":1564,"text":344,"children":1566},[1567,1568,1569],{"id":348,"depth":1561,"text":349},{"id":362,"depth":1561,"text":363},{"id":480,"depth":1561,"text":481},{"id":501,"depth":1564,"text":502,"children":1571},[1572,1573,1574],{"id":508,"depth":1561,"text":509},{"id":637,"depth":1561,"text":638},{"id":841,"depth":1561,"text":16},{"id":944,"depth":1564,"text":945},{"id":1158,"depth":1564,"text":340},{"id":1311,"depth":1564,"text":1312},{"id":1360,"depth":1564,"text":1361},{"id":1456,"depth":1564,"text":1457},"md",{},true,{"title":139,"description":140},"pt-BR\u002Fmcp","-W-iDT8j-lPiHsfAC-quaJRgNkT7N4PvSIPQLJyol8Y",{"left":160,"top":160,"width":161,"height":161,"rotate":160,"vFlip":162,"hFlip":162,"body":1587},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\" ry=\"2\"\u002F>\u003Cpath d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"\u002F>\u003C\u002Fg>",{"left":160,"top":160,"width":166,"height":166,"rotate":160,"vFlip":162,"hFlip":162,"body":1589},"\u003Cpath fill=\"currentColor\" d=\"M256 512a256 256 0 1 0 0-512a256 256 0 1 0 0 512m-40-176h24v-64h-24c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-80c-13.3 0-24-10.7-24-24s10.7-24 24-24m40-208a32 32 0 1 1 0 64a32 32 0 1 1 0-64\"\u002F>",{"left":160,"top":160,"width":166,"height":166,"rotate":160,"vFlip":162,"hFlip":162,"body":1591},"\u003Cpath fill=\"currentColor\" d=\"M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7.2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8.2-40.1l216-368C228.7 39.5 241.8 32 256 32m0 128c-13.3 0-24 10.7-24 24v112c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24m32 224a32 32 0 1 0-64 0a32 32 0 1 0 64 0\"\u002F>",{"left":160,"top":160,"width":1593,"height":166,"rotate":160,"vFlip":162,"hFlip":162,"body":1594},384,"\u003Cpath fill=\"currentColor\" d=\"M272 384c9.6-31.9 29.5-59.1 49.2-86.2c5.2-7.1 10.4-14.2 15.4-21.4c19.8-28.5 31.4-63 31.4-100.3C368 78.8 289.2 0 192 0S16 78.8 16 176c0 37.3 11.6 71.9 31.4 100.3c5 7.2 10.2 14.3 15.4 21.4c19.8 27.1 39.7 54.4 49.2 86.2h160zm-80 128c44.2 0 80-35.8 80-80v-16H112v16c0 44.2 35.8 80 80 80m-80-336c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-61.9 50.1-112 112-112c8.8 0 16 7.2 16 16s-7.2 16-16 16c-44.2 0-80 35.8-80 80\"\u002F>",{"left":160,"top":160,"width":161,"height":161,"rotate":160,"vFlip":162,"hFlip":162,"body":1596},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m15 18l-6-6l6-6\"\u002F>",{"left":160,"top":160,"width":161,"height":161,"rotate":160,"vFlip":162,"hFlip":162,"body":1598},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m9 18l6-6l-6-6\"\u002F>",1788888921813]