Integração ChatGPT, na prática, é usar a API da OpenAI (os mesmos modelos GPT do ChatGPT) dentro do seu código: gerar descrição de produto, classificar ticket, responder com base no catálogo. Eu faço em PHP, Magento 2 e WooCommerce sobre a Responses API, que é o caminho atual desde que a OpenAI desligou a Assistants API em 26/08/2026.
Atualizado em · por Roger Takemiya
O ChatGPT é o aplicativo que você usa no navegador ou no celular, com assinatura mensal. Integração é outra coisa: o seu código chama a API da OpenAI, paga por token consumido, e a resposta volta direto para o sistema, sem ninguém copiar e colar. A conta da API é separada (platform.openai.com), a cobrança é separada, e a assinatura do ChatGPT não dá crédito de API.
Quase todo pedido que chega para mim com o nome “integração ChatGPT” cai num destes três casos: gerar texto em lote a partir de dados que você já tem, classificar e encaminhar algo que chega o dia inteiro (e-mail, ticket, avaliação de produto) ou responder perguntas usando o catálogo e as políticas da loja como fonte. Os três se resolvem pela API, em PHP, dentro do Magento 2, do WooCommerce ou do seu sistema.
A OpenAI desligou a Assistants API em 26 de agosto de 2026. Muito plugin de WordPress e módulo de Magento feito entre 2024 e 2025 usava o desenho de assistants, threads e runs, e passou a devolver erro nessa data. O caminho atual é a Responses API, e a migração mexe no modelo de dados, não só na URL.
| Na Assistants API | Na Responses API | O que eu mudo no código |
|---|---|---|
| Assistant: instruções e ferramentas guardadas na OpenAI | Prompt reutilizável, ou instruções enviadas na própria chamada | Trago as instruções para o código versionado e deixo de depender de um ID criado à mão no painel |
| Thread: o histórico da conversa | Conversation | Migro o histórico que importa e gravo o ID da conversa junto do cliente ou do ticket |
| Run: execução assíncrona consultada por polling | Response: a chamada já devolve o resultado, com streaming opcional | Removo o laço de polling, que segurava worker do PHP-FPM sem fazer nada |
| Ferramentas do assistant, como busca em arquivos | Ferramentas declaradas na própria chamada | Reaproveito os vector stores quando dá e reindexo os arquivos quando não dá |
Para saber se o seu código depende disso, procure por /v1/assistants, /v1/threads ou pelo cabeçalho OpenAI-Beta: assistants. Se aparecer, a parte que usava esses endpoints já não funciona.
Sem SDK, só com cURL, que funciona em qualquer hospedagem. A chave vem do ambiente, e o modelo também, para trocar de versão sem deploy:
$modelo = getenv('OPENAI_MODEL');
$ch = curl_init('https://api.openai.com/v1/responses');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 60,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('OPENAI_API_KEY'),
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode(['model' => $modelo, 'input' => $prompt]),
]);
$corpo = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$dados = json_decode((string) $corpo, true);
O texto vem dentro de output, numa lista de itens. Os SDKs oficiais em Python e JavaScript têm o atalho output_text; em PHP puro eu percorro a lista e junto os blocos do tipo output_text. O consumo vem em usage, e o tratamento de 429 fica no worker, não aqui. O script completo rodando pelo terminal está no post chamar API de IA com cURL no PHP 8.3.
A partir da ficha técnica que o fornecedor manda, o modelo escreve descrição e meta description e sugere atributos de filtro. Tudo cai num campo de rascunho, e o time aprova em lote no admin do Magento ou do WooCommerce.
E-mail e ticket que chegam são classificados por assunto (troca, atraso, dúvida técnica) e por urgência, com o número do pedido extraído do texto. A fila do atendimento já abre organizada, e a sugestão de resposta espera um humano revisar e enviar.
Gero embeddings dos produtos pela API da OpenAI e guardo num índice vetorial. O OpenSearch, que o Magento 2.4 já usa, tem busca k-NN. Assim “tênis para correr na chuva” encontra o produto certo mesmo sem essas palavras no nome. Entra como complemento da busca da loja, não como substituta.
Se você ainda está decidindo entre provedores, a página de integração com IA compara GPT, Claude, Gemini e modelo local pelos critérios que eu uso nos projetos.
Não. A integração usa a API da OpenAI, que tem conta e cobrança próprias em platform.openai.com e é paga por uso. A assinatura do ChatGPT é outro produto e não dá crédito de API.
O mais provável é que ele usasse a Assistants API, que a OpenAI desligou em 26 de agosto de 2026. A correção é migrar para a Responses API: assistants viram prompts, threads viram conversations e runs viram responses. Se o plugin não recebeu atualização, eu faço a migração no código ou troco por uma integração própria.
Dá, em lote e em segundo plano, a partir dos atributos que cada produto já tem. Eu gravo o texto num campo de rascunho e alguém aprova antes de publicar, porque o modelo às vezes inventa medida ou material que não está na ficha.
Pela API, a OpenAI informa que não usa os dados enviados para treinar modelos, a não ser que você autorize. Mesmo assim eu mando só o necessário para a tarefa e tiro dado pessoal de cliente quando ele não é preciso.
Depende do modelo, do tamanho dos textos e do volume. Antes de você aprovar, eu rodo uma amostra real, leio o consumo de tokens que a própria API devolve e multiplico pelo volume do mês. O preço por token eu confiro na página da OpenAI no dia, porque muda com frequência.
Funciona. No WooCommerce a chamada roda numa ação do Action Scheduler, fora do carregamento da página, e a chave fica no ambiente do servidor, não nas opções do WordPress. O resultado volta para o produto, o pedido ou o comentário como qualquer outro dado.
Me conte o que está acontecendo. Respondo pessoalmente, em horário comercial.