Como usar a API de Respostas da OpenAI

A API de Respostas da OpenAI em detalhes: /v1/responses, ferramentas integradas, estado, em comparação com Chat Completions, e como chamá-la, validar e simular no Apidog.

INEZA Felin-Michel

INEZA Felin-Michel

26 junho 2026

Como usar a API de Respostas da OpenAI

Apidog para empresas

Implantação local

SSO & RBAC

Conforme SOC 2

Explorar Apidog Enterprise

Este guia o acompanhará no uso completo da API OpenAI Responses: ao terminar, você será capaz de enviar uma solicitação para POST /v1/responses, ler a saída aninhada que ela retorna, ativar ferramentas integradas, manter o estado da conversa entre as chamadas e verificar todo o contrato dentro do Apidog. A API Responses é a interface mais recente da OpenAI para gerar saída de modelo, e o guia oficial do Responses explica por que a OpenAI agora direciona novos projetos para ela. Se você já testa o endpoint mais antigo, pode reutilizar a maior parte dessa configuração, assim como o fluxo de trabalho em nosso guia de teste da API ChatGPT com Apidog.

button

O que você precisa primeiro

Antes de enviar uma solicitação, certifique-se de ter algumas coisas prontas:

Também ajuda saber o que o endpoint faz antes de chamá-lo. A API Responses expõe um único endpoint, POST /v1/responses. Você envia um nome de modelo e um input, e recebe de volta um objeto de resposta que pode conter texto simples, chamadas de função e os resultados de ferramentas hospedadas pela OpenAI, como pesquisa na web ou pesquisa de arquivos. Uma única chamada pode executar uma sequência de várias etapas: o modelo decide pesquisar na web, lê os resultados, depois escreve uma resposta, e a resposta registra cada etapa que foi tomada.

Duas coisas a diferenciam de um endpoint de texto simples. Primeiro, ele pode executar ferramentas integradas no lado do servidor, então você não precisa configurar sua própria pesquisa ou sandbox. Segundo, ele é com estado por padrão. Cada resposta recebe um id, e você pode passar esse id para a próxima solicitação para que a OpenAI mantenha o histórico da conversa para você. A OpenAI descreve a API Responses como a evolução das Chat Completions e a recomenda para novos projetos, incorporando lições da beta da API Assistants. Assim, em vez de três modelos mentais, você tem um.

Saiba como difere das Chat Completions

Se você já usou POST /v1/chat/completions, a mudança é principalmente na forma e no estado. Chat Completions recebe um array de messages e retorna choices. Você gerencia a transcrição completa por conta própria, reenviando cada turno anterior em cada chamada. As ferramentas são algo que você implementa no seu lado.

A API Responses recebe um input (uma string ou uma lista de itens tipados) e retorna um output (uma lista de itens tipados). Ela pode armazenar o turno para você e executar ferramentas hospedadas sem necessidade de configuração extra.

Aqui está a comparação prática:

Aspecto Chat Completions Responses API
Endpoint POST /v1/chat/completions POST /v1/responses
Corpo da Requisição Array messages input (string ou itens) + instructions
Formato da Saída choices[].message Lista de itens tipados output
Estado da Conversa Você reenvia o histórico completo store + previous_response_id
Ferramentas Integradas Você as constrói web_search, file_search, code_interpreter e mais
Status Suportado, sem depreciação anunciada Recomendado para novos projetos

Chat Completions não vai desaparecer. A OpenAI diz que continuará sendo suportada, e você pode migrar um fluxo de usuário por vez em vez de reescrever tudo de uma vez. A API Assistants é a que está com o tempo contado: a OpenAI a descontinuou em 26 de agosto de 2025, com um fim de vida declarado para 26 de agosto de 2026, então novos trabalhos de agente devem começar com a API Responses.

Faça sua primeira solicitação

Aqui está uma chamada mínima. Troque o nome do modelo pelo que sua conta tem acesso, e mantenha sua chave fora do próprio comando.

curl https://api.openai.com/v1/responses \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.5",
    "input": "Escreva uma frase descrevendo o que um servidor de mock de API faz.",
    "instructions": "Você é um escritor técnico conciso. Sem linguagem de marketing.",
    "store": true
  }'

Você passa três coisas importantes aqui: o model, o input (seu prompt), e as instructions (a direção em nível de sistema). Definir store como true informa à OpenAI para salvar a resposta para que você possa continuar a conversa mais tarde.

Leia a resposta

Uma resposta simplificada se parece com isto:

{
  "id": "resp_abc123",
  "object": "response",
  "status": "completed",
  "model": "gpt-5.5",
  "output": [
    {
      "type": "message",
      "role": "assistant",
      "content": [
        {
          "type": "output_text",
          "text": "Um servidor de mock retorna respostas de API predefinidas para que os clientes possam ser desenvolvidos e testados antes que o backend real exista."
        }
      ]
    }
  ],
  "usage": {
    "input_tokens": 28,
    "output_tokens": 24,
    "total_tokens": 52
  }
}

Observe a estrutura, porque é a parte que confunde as pessoas. O texto que você quer está em output[0].content[0].text, não em um campo de nível superior. Os SDKs oficiais adicionam um acessador de conveniência output_text que agrega todos os itens de texto em uma única string, mas essa propriedade é um auxiliar do SDK, não faz parte do JSON HTTP bruto. Ao chamar o endpoint diretamente, você lê o caminho aninhado. O id de nível superior é o que você reutilizará para o estado, e usage.total_tokens informa o custo da chamada.

Adicione ferramentas integradas

O recurso principal é que a OpenAI executa certas ferramentas para você. Você as lista em um array tools e o modelo decide quando chamá-las. Os tipos integrados verificados incluem:

Ativar uma delas é uma pequena adição ao corpo:

{
  "model": "gpt-5.5",
  "input": "O que mudou na última versão da OpenAPI? Cite as fontes.",
  "tools": [{ "type": "web_search" }]
}

Quando o modelo usa uma ferramenta, o array output ganha entradas que documentam a etapa, como um item web_search_call junto com a message final. Isso é útil mais tarde: você pode verificar se uma ferramenta realmente foi disparada, não apenas se o texto retornou.

Continue a conversa entre chamadas

O estado funciona através de dois parâmetros. store é verdadeiro por padrão, o que significa que a OpenAI salva o objeto de resposta (retido por 30 dias por padrão) e retorna um id. Passe esse id como previous_response_id em sua próxima chamada e o modelo continuará o tópico sem que você precise reenviar a transcrição:

{
  "model": "gpt-5.5",
  "input": "Agora reescreva isso para um público não técnico.",
  "previous_response_id": "resp_abc123"
}

Se você preferir manter as coisas sem estado, ou tiver um requisito de retenção de dados zero, defina store como falso e gerencie o contexto você mesmo. Para fluxos de voz e áudio em tempo real e de baixa latência, a OpenAI usa uma superfície diferente; nosso guia da API GPT em tempo real aborda esse caso. E se você estiver orquestrando agentes multi-etapas além de tudo isso, os padrões se alinham com o SDK OpenAI Agents.

Como testar no Apidog

Apidog é uma plataforma de teste, design e mock de API. Não é um SDK da OpenAI nem uma biblioteca de código, então você não escreverá Python com ela. Em vez disso, você: constrói a requisição HTTP bruta para /v1/responses, a envia e escreve asserções sobre o JSON que retorna. Esse é exatamente o tipo de verificação de contrato que detecta uma integração quebrada antes que seus usuários o façam.

Aqui está a configuração, passo a passo.

Armazene a chave em uma variável de ambiente

No Apidog, crie um ambiente (digamos, "OpenAI Prod") e adicione uma variável como OPENAI_API_KEY. Mantenha o valor no ambiente, não na requisição, para que o segredo nunca seja salvo em uma coleção compartilhada. Em seguida, crie uma nova requisição POST para https://api.openai.com/v1/responses e adicione o cabeçalho Authorization: Bearer {{OPENAI_API_KEY}}. O Apidog substitui a variável no momento do envio.

Defina o corpo como JSON e cole a solicitação anterior. Clique em enviar. Você verá o objeto de resposta completo, formatado, com o array output aninhado.

Faça asserções nos campos de resposta

Um 200 bem-sucedido não é prova de que a resposta tem o formato esperado pelo seu aplicativo. Adicione asserções para que uma regressão falhe ruidosamente. Verificações úteis contra uma resposta de /v1/responses:

O construtor visual de asserções do Apidog permite que você direcione esses caminhos JSON sem escrever scripts de teste, e nosso modelo de caso de teste de API mostra como estruturar verificações como essas. Salve a requisição em uma coleção e ela se torna um teste repetível que você pode executar na CI.

Simule a resposta para desenvolvimento offline

Chamadas à OpenAI custam dinheiro e precisam de acesso à rede, o que é inconveniente quando você está construindo a interface que consome a resposta ou executando testes em um pipeline que não deveria acessar uma API paga. O recurso de mock do Apidog resolve isso. Salve um payload representativo de /v1/responses como um mock, aponte seu aplicativo para a URL de mock do Apidog, e seu frontend obterá o formato JSON correto com custo zero de tokens. Quando o endpoint real mudar, você atualiza um mock em vez de perseguir falhas em cada teste. Nosso explicador de mock de API aborda a abordagem geral.

Essa divisão importa. Você testa contra o endpoint ativo para verificar o contrato da OpenAI, e você o simula para um desenvolvimento rápido, offline e determinístico. Ambos são executados a partir do mesmo projeto Apidog.

Perguntas Frequentes

A API Responses está substituindo o Chat Completions?

Não por força. A OpenAI chama a API Responses de evolução das Chat Completions e a recomenda para novos projetos, mas as Chat Completions continuam suportadas sem data de depreciação anunciada. Você pode migrar um fluxo por vez. A API Assistants é a que está sendo aposentada, com data de fim de vida em 2026.

Qual a diferença entre store e previous_response_id?

store controla se a OpenAI salva o objeto de resposta (por padrão é verdadeiro e retém por 30 dias). previous_response_id é como você vincula uma nova solicitação a uma resposta armazenada para que o modelo continue a conversa no lado do servidor. Você os usa juntos para threads com estado, e desativa store quando deseja um comportamento sem estado.

Quais modelos suportam a API Responses?

Os modelos atuais de propósito geral da OpenAI são projetados para funcionar com a API Responses, mas a disponibilidade depende da sua conta e do modelo que você escolher. Em vez de codificar o nome de um modelo, verifique a lista de modelos em seu painel OpenAI e, em seguida, confirme-o em relação ao endpoint. Enviar uma solicitação rápida através do Apidog e ler o campo model na resposta é uma maneira rápida de verificar o que sua chave pode realmente chamar.

Posso testar as ferramentas integradas sem escrever código?

Sim. Adicione um array tools ao corpo JSON no Apidog, envie a requisição e faça uma asserção de que o item de chamada de ferramenta correspondente (como web_search_call) aparece no array output. Você está verificando o comportamento da OpenAI via HTTP, então nenhum SDK é necessário. Para testar chamadas de ferramentas de agente de forma mais ampla, veja como gerar coleções de testes de API a partir de especificações OpenAPI.

Conclusão

Agora você tem o ciclo completo: um único endpoint, POST /v1/responses, que lida com texto, ferramentas hospedadas e estado de conversação no servidor. Envie uma solicitação, leia o output aninhado, adicione um array tools quando precisar de pesquisa ou execução de código, e encadeie previous_response_id para manter uma conversa em andamento. Como a forma é diferente das Chat Completions, a maneira mais segura é verificar o contrato você mesmo, em vez de confiar na sua memória da API antiga.

É aí que o Apidog se encaixa. Construa a solicitação, armazene sua chave como uma variável de ambiente, faça asserções nos campos output aninhados e simule a resposta para trabalho offline, tudo em um único projeto. Baixe o Apidog e aponte um teste para /v1/responses para ver exatamente o que sua integração recebe. Você pode fazer toda a configuração no Apidog sem escrever uma única linha de código de teste.

button

Pratique o design de API no Apidog

Descubra uma forma mais fácil de construir e usar APIs