{"id":546,"date":"2026-10-28T16:07:35","date_gmt":"2026-10-28T16:07:35","guid":{"rendered":"https:\/\/vectalk.com.br\/blog\/chatgpt-api-oficial-whatsapp\/"},"modified":"2026-10-28T16:07:38","modified_gmt":"2026-10-28T16:07:38","slug":"chatgpt-api-oficial-whatsapp","status":"publish","type":"post","link":"https:\/\/vectalk.com.br\/blog\/chatgpt-api-oficial-whatsapp\/","title":{"rendered":"Como conectar o ChatGPT \u00e0 API oficial do WhatsApp (tutorial com c\u00f3digo)"},"content":{"rendered":"\n<p><em>Atualizado em 28\/10\/2026<\/em><\/p>\n\n\n\n<p>Para conectar o ChatGPT \u00e0 API oficial do WhatsApp, voc\u00ea recebe a mensagem do cliente pelo webhook, envia o hist\u00f3rico daquela conversa para a Responses API da OpenAI (<code>POST https:\/\/api.openai.com\/v1\/responses<\/code>) e devolve o texto gerado com uma chamada de envio da Cloud API. A resposta livre s\u00f3 pode sair dentro da janela de 24 horas aberta pelo cliente, e a pol\u00edtica da Meta exige um caminho claro para atendimento humano. O uso permitido \u00e9 a IA como apoio ao atendimento da sua empresa; oferecer um &#8220;ChatGPT de uso geral&#8221; como produto no WhatsApp tem regras pr\u00f3prias nos termos da Meta.<\/p>\n\n\n\n<p>Este tutorial \u00e9 a parte pr\u00e1tica: c\u00f3digo Node.js completo, hist\u00f3rico por contato, controle da janela, passagem para humano e custo. A arquitetura em geral (fila, deduplica\u00e7\u00e3o, estados) est\u00e1 em <a href=\"https:\/\/vectalk.com.br\/blog\/chatbot-ia-whatsapp-api\/\">Chatbot com IA no WhatsApp pela API oficial<\/a>, que vale ler antes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">O que voc\u00ea precisa antes de come\u00e7ar<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Um n\u00famero conectado \u00e0 API oficial, com webhook configurado. Se ainda n\u00e3o tem, o <a href=\"https:\/\/vectalk.com.br\/blog\/api-oficial-do-whatsapp\/\">guia da API oficial do WhatsApp<\/a> explica o caminho.<\/li>\n\n\n<li>Uma chave da API da OpenAI (<code>OPENAI_API_KEY<\/code>), criada no painel da OpenAI.<\/li>\n\n\n<li>Node.js 18 ou superior (o exemplo usa <code>fetch<\/code> nativo e o SDK oficial <code>openai<\/code>).<\/li>\n\n\n<li>Um banco para guardar hist\u00f3rico e estado da conversa. No exemplo usamos mem\u00f3ria para simplificar.<\/li>\n\n<\/ul>\n\n\n\n<p>Nada no WhatsApp muda por voc\u00ea usar o ChatGPT: a Cloud API n\u00e3o sabe qual modelo gera o texto. Quem regula o uso s\u00e3o os termos da Meta, que veremos adiante.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">O fluxo em 5 passos<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Passo<\/th><th>O que acontece<\/th><th>Onde<\/th><\/tr><\/thead><tbody><tr><td>1<\/td><td>O cliente manda mensagem e a Meta dispara o webhook<\/td><td>Meta \u2192 seu servidor (direto ou via provedor)<\/td><\/tr><tr><td>2<\/td><td>Seu servidor responde 200 na hora e enfileira o evento<\/td><td>Webhook<\/td><\/tr><tr><td>3<\/td><td>O worker carrega o hist\u00f3rico daquele <code>wa_id<\/code> e decide se o bot responde<\/td><td>Banco + roteador<\/td><\/tr><tr><td>4<\/td><td>O worker chama a Responses API com instru\u00e7\u00f5es e hist\u00f3rico<\/td><td>OpenAI<\/td><\/tr><tr><td>5<\/td><td>O texto volta ao cliente por <code>POST \/messages<\/code><\/td><td>Cloud API<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>O ponto que mais derruba integra\u00e7\u00f5es feitas \u00e0s pressas \u00e9 o passo 2. O modelo pode levar alguns segundos para responder, e o webhook n\u00e3o pode esperar. Na Vectalk, por exemplo, o endpoint precisa devolver HTTP 200 em at\u00e9 20 segundos, ou o evento \u00e9 reenviado, segundo a <a href=\"https:\/\/docs.vectalk.com.br\/concepts\/webhooks\">documenta\u00e7\u00e3o de webhooks<\/a>. Reenvio sem deduplica\u00e7\u00e3o vira resposta duplicada e custo dobrado.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Responses API ou Chat Completions?<\/h2>\n\n\n\n<p>A OpenAI tem duas APIs para gerar texto. A <a href=\"https:\/\/developers.openai.com\/api\/docs\/guides\/text\" target=\"_blank\" rel=\"noreferrer noopener\">documenta\u00e7\u00e3o de gera\u00e7\u00e3o de texto<\/a> recomenda a <strong>Responses API<\/strong> para aplica\u00e7\u00f5es novas, e \u00e9 ela que usamos aqui. A chamada m\u00ednima \u00e9:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-bash\">curl https:\/\/api.openai.com\/v1\/responses \\\n  -H \"Authorization: Bearer $OPENAI_API_KEY\" \\\n  -H \"Content-Type: application\/json\" \\\n  -d '{\n    \"model\": \"SEU_MODELO\",\n    \"instructions\": \"Voc\u00ea \u00e9 o assistente da Loja Exemplo. Responda em at\u00e9 3 frases.\",\n    \"input\": \"Qual o prazo de entrega para Natal\/RN?\"\n  }'<\/code><\/pre>\n\n\n\n<p>Tr\u00eas par\u00e2metros importam para um bot de WhatsApp:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>instructions<\/code><\/strong>: o comportamento do bot (tom, escopo, o que ele n\u00e3o faz). Vale s\u00f3 para a requisi\u00e7\u00e3o atual, ent\u00e3o envie sempre.<\/li>\n\n\n<li><strong><code>input<\/code><\/strong>: a pergunta, ou uma lista de mensagens <code>user<\/code> e <code>assistant<\/code> com o hist\u00f3rico.<\/li>\n\n\n<li><strong><code>model<\/code><\/strong>: escolha na p\u00e1gina de modelos da OpenAI. Deixe numa vari\u00e1vel de ambiente para trocar sem mexer no c\u00f3digo.<\/li>\n\n<\/ul>\n\n\n\n<p>Nos SDKs oficiais, o texto final fica em <code>response.output_text<\/code>. N\u00e3o leia <code>output[0]<\/code> direto: a sa\u00edda pode conter outros itens antes do texto, como chamadas de ferramenta.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Hist\u00f3rico por contato: tr\u00eas jeitos<\/h2>\n\n\n\n<p>O ChatGPT n\u00e3o lembra da conversa sozinho. A cada mensagem, voc\u00ea precisa dizer qual \u00e9 o contexto. A <a href=\"https:\/\/developers.openai.com\/api\/docs\/guides\/conversation-state\" target=\"_blank\" rel=\"noreferrer noopener\">documenta\u00e7\u00e3o de estado da conversa<\/a> descreve tr\u00eas op\u00e7\u00f5es:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Op\u00e7\u00e3o<\/th><th>Como funciona<\/th><th>Onde o hist\u00f3rico fica<\/th><th>Quando usar<\/th><\/tr><\/thead><tbody><tr><td>Hist\u00f3rico manual<\/td><td>Voc\u00ea envia as \u00faltimas mensagens no <code>input<\/code><\/td><td>No seu banco<\/td><td>Padr\u00e3o recomendado para atendimento: voc\u00ea controla tamanho, reten\u00e7\u00e3o e auditoria<\/td><\/tr><tr><td><code>previous_response_id<\/code><\/td><td>Voc\u00ea envia s\u00f3 a mensagem nova e o ID da resposta anterior<\/td><td>Na OpenAI (objetos de resposta s\u00e3o guardados por 30 dias por padr\u00e3o)<\/td><td>Prot\u00f3tipos; os tokens das respostas anteriores continuam cobrados como entrada<\/td><\/tr><tr><td>Conversations API<\/td><td>Voc\u00ea cria uma conversa e passa o ID em <code>conversation<\/code><\/td><td>Na OpenAI, sem o limite de 30 dias<\/td><td>Quando quer um estado dur\u00e1vel do lado da OpenAI<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Para atendimento no Brasil, o hist\u00f3rico manual costuma ser a escolha mais simples de justificar: os dados ficam no seu banco, voc\u00ea define por quanto tempo guarda e pode usar <code>store: false<\/code> para pedir que a OpenAI n\u00e3o salve a resposta. A chave do hist\u00f3rico \u00e9 o <code>wa_id<\/code> do cliente (o campo <code>from<\/code> da mensagem recebida).<\/p>\n\n\n\n<p>Se a conversa envolve dados pessoais, a <a href=\"https:\/\/www.planalto.gov.br\/ccivil_03\/_ato2015-2018\/2018\/lei\/l13709.htm\" target=\"_blank\" rel=\"noreferrer noopener\">LGPD<\/a> se aplica ao que voc\u00ea envia ao provedor de IA. Este artigo n\u00e3o substitui orienta\u00e7\u00e3o jur\u00eddica; veja tamb\u00e9m <a href=\"https:\/\/vectalk.com.br\/blog\/lgpd-whatsapp\/\">LGPD e WhatsApp<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f3digo completo em Node.js<\/h2>\n\n\n\n<p>O exemplo usa Express, o SDK <code>openai<\/code> e o envio pela Vectalk, que aceita o mesmo payload da Cloud API. Com token de inst\u00e2ncia, o n\u00famero de origem \u00e9 resolvido automaticamente; com token de organiza\u00e7\u00e3o, inclua <code>phone_number_id<\/code> no corpo, conforme a <a href=\"https:\/\/docs.vectalk.com.br\/api-reference\/messages\/send\">refer\u00eancia de envio<\/a>. Se voc\u00ea integra direto com a Meta, troque a URL por <code>https:\/\/graph.facebook.com\/&lt;vers\u00e3o&gt;\/&lt;PHONE_NUMBER_ID&gt;\/messages<\/code> e use o seu token da Meta.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-bash\">npm install express openai<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-js\">import express from 'express';\nimport OpenAI from 'openai';\n\nconst openai = new OpenAI(); \/\/ l\u00ea OPENAI_API_KEY do ambiente\nconst MODELO = process.env.OPENAI_MODEL;\nconst ENVIO_URL = 'https:\/\/apis.vectalk.com.br\/api\/messages';\nconst TOKEN = process.env.VECTALK_TOKEN; \/\/ token de inst\u00e2ncia\nconst JANELA_MS = 24 * 60 * 60 * 1000;\nconst MAX_TURNOS = 20;\n\nconst INSTRUCOES = `Voc\u00ea \u00e9 o assistente virtual da Loja Exemplo no WhatsApp.\n- Responda em portugu\u00eas, em no m\u00e1ximo 3 frases curtas.\n- Fale s\u00f3 sobre pedidos, entregas, trocas e produtos da loja.\n- N\u00e3o invente pre\u00e7os, prazos ou pol\u00edticas: use apenas os dados fornecidos.\n- Se n\u00e3o souber, se o cliente pedir uma pessoa ou o assunto for reclama\u00e7\u00e3o,\n  cancelamento ou cobran\u00e7a, responda exatamente: HANDOFF`;\n\nconst app = express();\napp.use(express.json());\n\nconst fila = [];\nconst processados = new Set();  \/\/ wamid j\u00e1 tratados (use Redis\/banco em produ\u00e7\u00e3o)\nconst conversas = new Map();    \/\/ wa_id -&gt; { estado, historico, ultimaEntrada }\n\n\/\/ 1. Webhook: enfileira e responde 200 imediatamente\napp.post('\/webhook', (req, res) =&gt; {\n  for (const entry of req.body.entry ?? []) {\n    for (const change of entry.changes ?? []) {\n      for (const msg of change.value?.messages ?? []) fila.push(msg);\n    }\n  }\n  res.sendStatus(200);\n});\n\n\/\/ 2. Envio para o WhatsApp\nasync function enviar(corpo) {\n  const r = await fetch(ENVIO_URL, {\n    method: 'POST',\n    headers: { Authorization: `Bearer ${TOKEN}`, 'Content-Type': 'application\/json' },\n    body: JSON.stringify({ messaging_product: 'whatsapp', ...corpo }),\n  });\n  if (!r.ok) throw new Error(`Envio falhou: ${r.status} ${await r.text()}`);\n  return r.json();\n}\n\n\/\/ 3. Chamada \u00e0 OpenAI (Responses API)\nasync function perguntarAoModelo(historico) {\n  const resposta = await openai.responses.create(\n    {\n      model: MODELO,\n      instructions: INSTRUCOES,\n      input: historico,          \/\/ [{ role: 'user' | 'assistant', content: '...' }]\n      max_output_tokens: 300,    \/\/ respostas curtas custam menos\n      store: false,              \/\/ n\u00e3o guardar a resposta na OpenAI\n    },\n    { timeout: 15000 },\n  );\n  return resposta.output_text.trim();\n}\n\n\/\/ 4. Worker\nasync function processar(msg) {\n  if (processados.has(msg.id)) return;\n  processados.add(msg.id);\n\n  const c = conversas.get(msg.from) ?? { estado: 'bot', historico: [], ultimaEntrada: 0 };\n  c.ultimaEntrada = Number(msg.timestamp) * 1000;\n  conversas.set(msg.from, c);\n\n  if (c.estado !== 'bot') return; \/\/ um humano assumiu: o bot n\u00e3o responde\n\n  if (msg.type !== 'text') {\n    await enviar({ to: msg.from, type: 'text', text: { body: 'Por aqui eu entendo s\u00f3 texto. Pode escrever sua d\u00favida?' } });\n    return;\n  }\n\n  await enviar({ status: 'read', message_id: msg.id }); \/\/ marca como lida\n\n  c.historico.push({ role: 'user', content: msg.text.body });\n  c.historico = c.historico.slice(-MAX_TURNOS);\n\n  let texto;\n  try {\n    texto = await perguntarAoModelo(c.historico);\n  } catch (e) {\n    console.error('OpenAI falhou', e);\n    texto = 'HANDOFF'; \/\/ na d\u00favida, passa para uma pessoa\n  }\n\n  if (texto === 'HANDOFF') return transferir(msg.from, c);\n  if (Date.now() - c.ultimaEntrada &gt; JANELA_MS) return; \/\/ janela fechou: s\u00f3 template\n\n  await enviar({ to: msg.from, type: 'text', text: { body: texto } });\n  c.historico.push({ role: 'assistant', content: texto });\n}\n\nasync function transferir(waId, c) {\n  c.estado = 'humano';\n  await enviar({ to: waId, type: 'text', text: { body: 'Vou chamar uma pessoa do nosso time. J\u00e1 j\u00e1 algu\u00e9m continua por aqui.' } });\n  \/\/ Avise a ferramenta de atendimento (fila de tickets, CRM, Slack).\n}\n\nsetInterval(async () =&gt; {\n  const msg = fila.shift();\n  if (!msg) return;\n  try { await processar(msg); } catch (e) { console.error(e); }\n}, 50);\n\napp.listen(3000, () =&gt; console.log('Bot no ar na porta 3000'));<\/code><\/pre>\n\n\n\n<p>Para rodar:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-bash\">export OPENAI_API_KEY=\"sk-...\"\nexport OPENAI_MODEL=\"modelo-escolhido-na-pagina-de-modelos\"\nexport VECTALK_TOKEN=\"seu-token-de-instancia\"\nnode bot.mjs<\/code><\/pre>\n\n\n\n<p>Para testar localmente, exponha a porta 3000 com um t\u00fanel e cadastre a URL como webhook; o passo a passo est\u00e1 em <a href=\"https:\/\/vectalk.com.br\/blog\/testar-webhook-whatsapp-localmente\/\">como testar o webhook localmente<\/a>. Se o seu webhook recebe direto da Meta, valide a assinatura de cada requisi\u00e7\u00e3o antes de processar: veja <a href=\"https:\/\/vectalk.com.br\/blog\/assinatura-webhook-whatsapp\/\">como validar o X-Hub-Signature-256<\/a>.<\/p>\n\n\n\n<p>Enquanto o modelo pensa, a Cloud API permite mostrar &#8220;digitando&#8230;&#8221; na mesma chamada que marca a mensagem como lida, acrescentando <code>\"typing_indicator\": { \"type\": \"text\" }<\/code>. Segundo a <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/typing-indicators\" target=\"_blank\" rel=\"noreferrer noopener\">documenta\u00e7\u00e3o de indicadores de digita\u00e7\u00e3o<\/a>, ele some quando voc\u00ea responde ou depois de 25 segundos, o que vier primeiro, e a Meta recomenda us\u00e1-lo s\u00f3 quando voc\u00ea realmente vai responder.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">O que o exemplo resolve e o que falta<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Resolve:<\/strong> resposta imediata ao webhook, deduplica\u00e7\u00e3o por <code>wamid<\/code>, hist\u00f3rico por contato com limite de tamanho, timeout na OpenAI, checagem da janela e estado de handoff.<\/li>\n\n\n<li><strong>Falta para produ\u00e7\u00e3o:<\/strong> fila persistente com novas tentativas, banco para hist\u00f3rico e estado, controle de ritmo de envio (throughput), registro de custo por conversa e um painel para o atendente devolver a conversa ao bot.<\/li>\n\n<\/ul>\n\n\n\n<p>Vers\u00f5es completas de bot, sem a parte de IA, est\u00e3o em <a href=\"https:\/\/vectalk.com.br\/blog\/bot-whatsapp-nodejs-api-oficial\/\">bot com Node.js<\/a> e <a href=\"https:\/\/vectalk.com.br\/blog\/bot-whatsapp-python-api-oficial\/\">bot com Python<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Janela de 24 horas: o ChatGPT n\u00e3o puxa conversa<\/h2>\n\n\n\n<p>A resposta gerada pelo modelo \u00e9 uma mensagem livre. A <a href=\"https:\/\/whatsappbusiness.com\/pt-br\/policy\/\" target=\"_blank\" rel=\"noreferrer noopener\">Pol\u00edtica de Mensagens do WhatsApp Business<\/a> permite responder sem template s\u00f3 dentro da janela de atendimento de 24 horas, aberta e renovada a cada mensagem do cliente. Fora dela, s\u00f3 templates aprovados.<\/p>\n\n\n\n<p>Na pr\u00e1tica:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>O bot \u00e9 reativo.<\/strong> Ele n\u00e3o pode mandar &#8220;Oi, ainda est\u00e1 interessado?&#8221; dois dias depois com texto gerado pelo ChatGPT. Para isso existe template.<\/li>\n\n\n<li><strong>Cheque a janela antes de enviar<\/strong>, n\u00e3o s\u00f3 quando a mensagem chega. Se o modelo travou, a fila atrasou ou o worker caiu, a janela pode fechar no meio do caminho.<\/li>\n\n\n<li><strong>N\u00e3o use o modelo para &#8220;preencher&#8221; um template.<\/strong> Templates t\u00eam texto aprovado e vari\u00e1veis; o conte\u00fado das vari\u00e1veis deve vir de dados do seu sistema.<\/li>\n\n<\/ul>\n\n\n\n<p>As regras de abertura e renova\u00e7\u00e3o est\u00e3o em <a href=\"https:\/\/vectalk.com.br\/blog\/janela-24-horas-whatsapp\/\">janela de 24 horas do WhatsApp<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Passar para humano<\/h2>\n\n\n\n<p>A pol\u00edtica da Meta permite automa\u00e7\u00e3o dentro da janela, mas exige caminhos de escalonamento claros, como a transfer\u00eancia para um atendente humano na conversa, telefone, e-mail, suporte no site ou formul\u00e1rio. No c\u00f3digo acima, tr\u00eas situa\u00e7\u00f5es levam ao handoff:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>O modelo responde <code>HANDOFF<\/code> porque n\u00e3o sabe, o cliente pediu uma pessoa ou o assunto \u00e9 sens\u00edvel (as instru\u00e7\u00f5es dizem isso).<\/li>\n\n\n<li>A chamada \u00e0 OpenAI falha ou passa do tempo.<\/li>\n\n\n<li>Voc\u00ea pode somar gatilhos pr\u00f3prios, como palavras-chave ou um bot\u00e3o &#8220;Falar com atendente&#8221;.<\/li>\n\n<\/ol>\n\n\n\n<p>Depois do handoff, o estado da conversa vira <code>humano<\/code> e o bot fica em sil\u00eancio at\u00e9 o atendente devolver. Se o n\u00famero usa coexist\u00eancia, o atendente pode responder pelo app WhatsApp Business, e as mensagens enviadas pelo app chegam ao seu sistema como eventos de eco; d\u00e1 para us\u00e1-los para marcar a conversa como <code>humano<\/code> automaticamente.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Quanto custa: Meta + OpenAI<\/h2>\n\n\n\n<p>S\u00e3o duas contas separadas.<\/p>\n\n\n\n<p><strong>WhatsApp (Meta).<\/strong> As respostas do bot dentro da janela s\u00e3o mensagens de servi\u00e7o. Desde 1\u00ba\/10\/2026, cada n\u00famero tem 1.000 mensagens de servi\u00e7o gratuitas por m\u00eas, e a cobran\u00e7a come\u00e7a na 1.001\u00aa. Para destinat\u00e1rios no Brasil, a tarifa de servi\u00e7o \u00e9 R$ 0,0350 por mensagem entregue, segundo a <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/pricing\" target=\"_blank\" rel=\"noreferrer noopener\">p\u00e1gina de pre\u00e7os da Meta<\/a>. Templates s\u00e3o cobrados pela tarifa da categoria, dentro ou fora da janela (marketing R$ 0,3217; utilidade e autentica\u00e7\u00e3o R$ 0,0350); desde 1\u00ba\/10\/2026, isso inclui templates de utilidade enviados dentro da janela.<\/p>\n\n\n\n<p><strong>OpenAI.<\/strong> A cobran\u00e7a \u00e9 por tokens de entrada e de sa\u00edda, com pre\u00e7o que depende do modelo. Consulte a p\u00e1gina de pre\u00e7os da OpenAI antes de estimar.<\/p>\n\n\n\n<p>Tr\u00eas ajustes reduzem as duas contas ao mesmo tempo:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Uma resposta por pergunta.<\/strong> Tr\u00eas mensagens curtas custam tr\u00eas mensagens de servi\u00e7o depois da franquia. Pe\u00e7a ao modelo uma resposta \u00fanica.<\/li>\n\n\n<li><strong>Hist\u00f3rico curto.<\/strong> Cada mensagem antiga enviada no <code>input<\/code> \u00e9 token de entrada cobrado de novo. Mantenha as \u00faltimas trocas e, se precisar, um resumo.<\/li>\n\n\n<li><strong><code>max_output_tokens<\/code>.<\/strong> Limita o tamanho da resposta e evita textos longos que ningu\u00e9m l\u00ea no celular.<\/li>\n\n<\/ul>\n\n\n\n<p>Para simular o lado do WhatsApp, veja <a href=\"https:\/\/vectalk.com.br\/blog\/custo-campanha-whatsapp\/\">quanto custa uma campanha no WhatsApp<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">O que a Meta permite: &#8220;ChatGPT de uso geral&#8221; \u00e9 outro caso<\/h2>\n\n\n\n<p>Os <a href=\"https:\/\/www.facebook.com\/legal\/Meta-Terms-for-WhatsApp-Business-Platform\" target=\"_blank\" rel=\"noreferrer noopener\">Termos da Meta para a Plataforma do WhatsApp Business<\/a>, atualizados em 23\/09\/2026, tratam de &#8220;Provedores de IA&#8221; na se\u00e7\u00e3o 4.7: fornecedores e desenvolvedores de tecnologias de IA ou machine learning, como grandes modelos de linguagem, plataformas de IA generativa e assistentes de IA de uso geral. Eles s\u00e3o proibidos de usar a plataforma para oferecer essas tecnologias quando elas s\u00e3o a funcionalidade principal, e n\u00e3o incidental ou auxiliar, a crit\u00e9rio da Meta. Os termos preveem exce\u00e7\u00f5es para determinados pa\u00edses.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Cen\u00e1rio<\/th><th>Leitura dos termos<\/th><\/tr><\/thead><tbody><tr><td>Loja usa um modelo da OpenAI para responder d\u00favidas sobre pedidos<\/td><td>IA como apoio ao atendimento da empresa; n\u00e3o \u00e9 o caso que a cl\u00e1usula mira<\/td><\/tr><tr><td>Cl\u00ednica usa IA para agendar e confirmar consultas<\/td><td>Idem: a IA \u00e9 ferramenta do servi\u00e7o, n\u00e3o o produto<\/td><\/tr><tr><td>Empresa oferece &#8220;converse com uma IA sobre qualquer assunto&#8221; no WhatsApp<\/td><td>\u00c9 o caso de Provedor de IA; depende das regras por pa\u00eds<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>O Brasil \u00e9 um desses pa\u00edses. A <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/pricing\/ai-providers\" target=\"_blank\" rel=\"noreferrer noopener\">p\u00e1gina de pre\u00e7os para Provedores de IA<\/a>, atualizada em 15\/10\/2026, informa que desde 11\/03\/2026 Provedores de IA podem enviar mensagens de servi\u00e7o a usu\u00e1rios com n\u00famero +55, com cobran\u00e7a pr\u00f3pria, sempre em resposta ao usu\u00e1rio (a janela de atendimento continua valendo). Nessas mensagens, o webhook de status traz a categoria <code>general_purpose_ai<\/code>. A regra vale s\u00f3 para Provedores de IA; o pre\u00e7o das demais empresas n\u00e3o muda.<\/p>\n\n\n\n<p>Os termos tamb\u00e9m pro\u00edbem usar dados da plataforma para criar, treinar ou melhorar modelos de IA, com exce\u00e7\u00e3o para ajustar um modelo de uso exclusivo da empresa que n\u00e3o sirva para outros modelos. Na pr\u00e1tica: revise como o seu provedor de IA trata reten\u00e7\u00e3o e treino, e n\u00e3o reaproveite conversas do WhatsApp para treinar modelos de terceiros.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Como fazer isso com a Vectalk<\/h2>\n\n\n\n<p>A Vectalk \u00e9 um proxy da Cloud API oficial: seu bot recebe os mesmos webhooks da Meta e envia com os mesmos payloads, trocando apenas a URL base e o token. No c\u00f3digo acima, isso \u00e9 a constante <code>ENVIO_URL<\/code> e o <code>VECTALK_TOKEN<\/code>. Voc\u00ea registra a URL do bot com <code>POST \/api\/webhooks<\/code> e pode cadastrar mais de uma URL por inst\u00e2ncia, por exemplo uma para o bot e outra para o seu sistema de atendimento. Voc\u00ea n\u00e3o cadastra cart\u00e3o na Meta: cada mensagem entregue \u00e9 descontada do saldo pr\u00e9-pago da sua conta Vectalk, e a coexist\u00eancia deixa o time humano responder pelo app quando o bot passa a conversa. Comece em <a href=\"https:\/\/apps.vectalk.com.br\/register\">apps.vectalk.com.br\/register<\/a> e veja o <a href=\"https:\/\/docs.vectalk.com.br\/quickstart\">guia r\u00e1pido<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Perguntas frequentes<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Preciso de autoriza\u00e7\u00e3o da Meta para usar o ChatGPT no WhatsApp?<\/h3>\n\n\n\n<p>Para um bot de atendimento da pr\u00f3pria empresa, a documenta\u00e7\u00e3o consultada n\u00e3o descreve cadastro adicional: voc\u00ea usa a API oficial normalmente. Se o seu produto \u00e9 um assistente de IA de uso geral, leia a se\u00e7\u00e3o 4.7 dos termos e a p\u00e1gina de Provedores de IA antes de lan\u00e7ar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Posso usar o app do ChatGPT ou um &#8220;ChatGPT para WhatsApp&#8221; pronto?<\/h3>\n\n\n\n<p>Este tutorial usa a API da OpenAI no seu servidor, ligada \u00e0 API oficial do WhatsApp. Ferramentas que conectam o WhatsApp lendo QR Code usam canais n\u00e3o oficiais, com risco de banimento; veja <a href=\"https:\/\/vectalk.com.br\/blog\/api-oficial-vs-api-nao-oficial-whatsapp\/\">API oficial x n\u00e3o oficial<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">O bot pode mandar a primeira mensagem?<\/h3>\n\n\n\n<p>N\u00e3o com texto gerado pelo modelo. Para iniciar ou retomar contato fora da janela de 24 horas, \u00e9 preciso um template aprovado.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Como fa\u00e7o o ChatGPT responder \u00e1udio?<\/h3>\n\n\n\n<p>O webhook entrega o ID da m\u00eddia. Voc\u00ea baixa o arquivo pela API de m\u00eddia, transcreve com o servi\u00e7o que preferir e envia o texto ao modelo. O download est\u00e1 em <a href=\"https:\/\/vectalk.com.br\/blog\/baixar-midia-webhook-whatsapp\/\">como baixar a m\u00eddia que o cliente envia<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Uso Responses API ou Chat Completions?<\/h3>\n\n\n\n<p>As duas funcionam com o WhatsApp, porque a integra\u00e7\u00e3o \u00e9 s\u00f3 HTTP. A OpenAI recomenda a Responses API para aplica\u00e7\u00f5es novas, e \u00e9 ela que o exemplo usa.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Fontes oficiais consultadas em 28\/10\/2026:<\/strong> <a href=\"https:\/\/developers.openai.com\/api\/docs\/guides\/text\" target=\"_blank\" rel=\"noreferrer noopener\">OpenAI: gera\u00e7\u00e3o de texto<\/a>, <a href=\"https:\/\/developers.openai.com\/api\/docs\/guides\/conversation-state\" target=\"_blank\" rel=\"noreferrer noopener\">OpenAI: estado da conversa<\/a>, <a href=\"https:\/\/www.facebook.com\/legal\/Meta-Terms-for-WhatsApp-Business-Platform\" target=\"_blank\" rel=\"noreferrer noopener\">Termos da Meta para a Plataforma do WhatsApp Business<\/a> (atualizados em 23\/09\/2026), <a href=\"https:\/\/whatsappbusiness.com\/pt-br\/policy\/\" target=\"_blank\" rel=\"noreferrer noopener\">Pol\u00edtica de Mensagens do WhatsApp Business<\/a> (atualizada em 23\/09\/2026), <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/pricing\/ai-providers\" target=\"_blank\" rel=\"noreferrer noopener\">Pre\u00e7os para Provedores de IA<\/a> (atualizada em 15\/10\/2026), <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/pricing\" target=\"_blank\" rel=\"noreferrer noopener\">Pre\u00e7os da plataforma do WhatsApp Business<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/typing-indicators\" target=\"_blank\" rel=\"noreferrer noopener\">Indicadores de digita\u00e7\u00e3o e leitura<\/a>, <a href=\"https:\/\/docs.vectalk.com.br\/concepts\/webhooks\">Vectalk: webhooks<\/a>, <a href=\"https:\/\/docs.vectalk.com.br\/api-reference\/messages\/send\">Vectalk: envio de mensagens<\/a>, <a href=\"https:\/\/www.planalto.gov.br\/ccivil_03\/_ato2015-2018\/2018\/lei\/l13709.htm\" target=\"_blank\" rel=\"noreferrer noopener\">Lei n\u00ba 13.709\/2018 (LGPD)<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tutorial com c\u00f3digo Node.js para ligar o webhook da API oficial do WhatsApp \u00e0 Responses API da OpenAI, com hist\u00f3rico por contato, janela de 24h e handoff.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[8],"tags":[],"class_list":["post-546","post","type-post","status-publish","format-standard","hentry","category-uncategorized-pt"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ChatGPT no WhatsApp pela API oficial: tutorial | Vectalk<\/title>\n<meta name=\"description\" content=\"Conecte o ChatGPT \u00e0 WhatsApp API oficial: webhook, Responses API da OpenAI, hist\u00f3rico por contato, janela de 24h, handoff humano e regras da Meta.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vectalk.com.br\/blog\/chatgpt-api-oficial-whatsapp\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ChatGPT no WhatsApp pela API oficial: tutorial | Vectalk\" \/>\n<meta property=\"og:description\" content=\"Conecte o ChatGPT \u00e0 WhatsApp API oficial: webhook, Responses API da OpenAI, hist\u00f3rico por contato, janela de 24h, handoff humano e regras da Meta.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vectalk.com.br\/blog\/chatgpt-api-oficial-whatsapp\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog Vectalk\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-28T16:07:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-28T16:07:38+00:00\" \/>\n<meta name=\"author\" content=\"wanderleyfcunha\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"wanderleyfcunha\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/chatgpt-api-oficial-whatsapp\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/chatgpt-api-oficial-whatsapp\\\/\"},\"author\":{\"name\":\"wanderleyfcunha\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/ff36ecd9d8257856f227f8e5d639db2b\"},\"headline\":\"Como conectar o ChatGPT \u00e0 API oficial do WhatsApp (tutorial com c\u00f3digo)\",\"datePublished\":\"2026-10-28T16:07:35+00:00\",\"dateModified\":\"2026-10-28T16:07:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/chatgpt-api-oficial-whatsapp\\\/\"},\"wordCount\":2267,\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/chatgpt-api-oficial-whatsapp\\\/\",\"url\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/chatgpt-api-oficial-whatsapp\\\/\",\"name\":\"ChatGPT no WhatsApp pela API oficial: tutorial | Vectalk\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#website\"},\"datePublished\":\"2026-10-28T16:07:35+00:00\",\"dateModified\":\"2026-10-28T16:07:38+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/ff36ecd9d8257856f227f8e5d639db2b\"},\"description\":\"Conecte o ChatGPT \u00e0 WhatsApp API oficial: webhook, Responses API da OpenAI, hist\u00f3rico por contato, janela de 24h, handoff humano e regras da Meta.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/chatgpt-api-oficial-whatsapp\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/chatgpt-api-oficial-whatsapp\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/chatgpt-api-oficial-whatsapp\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Como conectar o ChatGPT \u00e0 API oficial do WhatsApp (tutorial com c\u00f3digo)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/\",\"name\":\"Blog Vectalk\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/ff36ecd9d8257856f227f8e5d639db2b\",\"name\":\"wanderleyfcunha\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g\",\"caption\":\"wanderleyfcunha\"},\"sameAs\":[\"https:\\\/\\\/vectalk.com.br\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ChatGPT no WhatsApp pela API oficial: tutorial | Vectalk","description":"Conecte o ChatGPT \u00e0 WhatsApp API oficial: webhook, Responses API da OpenAI, hist\u00f3rico por contato, janela de 24h, handoff humano e regras da Meta.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vectalk.com.br\/blog\/chatgpt-api-oficial-whatsapp\/","og_locale":"en_US","og_type":"article","og_title":"ChatGPT no WhatsApp pela API oficial: tutorial | Vectalk","og_description":"Conecte o ChatGPT \u00e0 WhatsApp API oficial: webhook, Responses API da OpenAI, hist\u00f3rico por contato, janela de 24h, handoff humano e regras da Meta.","og_url":"https:\/\/vectalk.com.br\/blog\/chatgpt-api-oficial-whatsapp\/","og_site_name":"Blog Vectalk","article_published_time":"2026-10-28T16:07:35+00:00","article_modified_time":"2026-10-28T16:07:38+00:00","author":"wanderleyfcunha","twitter_card":"summary_large_image","twitter_misc":{"Written by":"wanderleyfcunha","Est. reading time":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vectalk.com.br\/blog\/chatgpt-api-oficial-whatsapp\/#article","isPartOf":{"@id":"https:\/\/vectalk.com.br\/blog\/chatgpt-api-oficial-whatsapp\/"},"author":{"name":"wanderleyfcunha","@id":"https:\/\/vectalk.com.br\/blog\/#\/schema\/person\/ff36ecd9d8257856f227f8e5d639db2b"},"headline":"Como conectar o ChatGPT \u00e0 API oficial do WhatsApp (tutorial com c\u00f3digo)","datePublished":"2026-10-28T16:07:35+00:00","dateModified":"2026-10-28T16:07:38+00:00","mainEntityOfPage":{"@id":"https:\/\/vectalk.com.br\/blog\/chatgpt-api-oficial-whatsapp\/"},"wordCount":2267,"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/vectalk.com.br\/blog\/chatgpt-api-oficial-whatsapp\/","url":"https:\/\/vectalk.com.br\/blog\/chatgpt-api-oficial-whatsapp\/","name":"ChatGPT no WhatsApp pela API oficial: tutorial | Vectalk","isPartOf":{"@id":"https:\/\/vectalk.com.br\/blog\/#website"},"datePublished":"2026-10-28T16:07:35+00:00","dateModified":"2026-10-28T16:07:38+00:00","author":{"@id":"https:\/\/vectalk.com.br\/blog\/#\/schema\/person\/ff36ecd9d8257856f227f8e5d639db2b"},"description":"Conecte o ChatGPT \u00e0 WhatsApp API oficial: webhook, Responses API da OpenAI, hist\u00f3rico por contato, janela de 24h, handoff humano e regras da Meta.","breadcrumb":{"@id":"https:\/\/vectalk.com.br\/blog\/chatgpt-api-oficial-whatsapp\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vectalk.com.br\/blog\/chatgpt-api-oficial-whatsapp\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/vectalk.com.br\/blog\/chatgpt-api-oficial-whatsapp\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vectalk.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Como conectar o ChatGPT \u00e0 API oficial do WhatsApp (tutorial com c\u00f3digo)"}]},{"@type":"WebSite","@id":"https:\/\/vectalk.com.br\/blog\/#website","url":"https:\/\/vectalk.com.br\/blog\/","name":"Blog Vectalk","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vectalk.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/vectalk.com.br\/blog\/#\/schema\/person\/ff36ecd9d8257856f227f8e5d639db2b","name":"wanderleyfcunha","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g","caption":"wanderleyfcunha"},"sameAs":["https:\/\/vectalk.com.br\/blog"]}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/posts\/546","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/comments?post=546"}],"version-history":[{"count":1,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/posts\/546\/revisions"}],"predecessor-version":[{"id":549,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/posts\/546\/revisions\/549"}],"wp:attachment":[{"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/media?parent=546"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/categories?post=546"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/tags?post=546"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}