Source: https://aiprimetech.io/pt/docs/getting-started/first-request/ [Início](/pt/) / [Documentação](/pt/docs/) / Sua primeira solicitação explicada # Sua primeira solicitação explicada Uma explicação linha por linha de uma chamada à Messages — o que cada campo faz e o que é retornado. Copiar página [ Ver como Markdown](/pt/docs/getting-started/first-request.md) [ Perguntar ao ChatGPT](https://chatgpt.com/?q=Read%20https%3A//aiprimetech.io/docs/getting-started/first-request.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) [ Perguntar no Claude](https://claude.ai/new?q=Read%20https%3A//aiprimetech.io/docs/getting-started/first-request.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) O guia de início rápido permite obter uma resposta. Esta página explica o significado de cada parte dela, para que você escreva a próxima solicitação por conta própria. ## A solicitação ``` Copycurl https://aiprimetech.io/v1/messages \ -H "x-api-key: $CLAUDEAPIKEY" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{ "model": "claude-sonnet-4-6", "max_tokens": 1024, "messages": [{"role": "user", "content": "Hello"}] }' ``` | Campo | Obrigatório | O que faz | model | sim | Qual modelo executar. Deve corresponder a um ID de /v1/models exatamente. | max_tokens | sim | Limite máximo para a saída. O modelo para nesse ponto, mesmo no meio de uma frase. É um controle de custos, não uma meta. | messages | sim | A conversa até agora, da mensagem mais antiga para a mais recente. Cada entrada tem um role (user ou assistant) e content. | system | não | Instruções que se aplicam à conversa inteira. Um campo de nível superior, não uma mensagem com role: system. | temperature | não | 0–1. Valores menores tornam a geração mais determinística. Deixe sem definir, a menos que tenha um motivo. | stream | não | true retorna eventos enviados pelo servidor em vez de um único corpo JSON. Consulte [Transmissão](/pt/docs/api-reference/streaming/). ## A resposta ``` Copy{ "id": "msg_01ABC...", "type": "message", "role": "assistant", "model": "claude-sonnet-4-6", "content": [{"type": "text", "text": "Hello! How can I help?"}], "stop_reason": "end_turn", "usage": {"input_tokens": 9, "output_tokens": 12} } ``` - content é um array, não uma string. O texto fica em content[0].text. Tratá-lo como uma string é o erro mais comum no cliente. - stop_reason informa por que a geração terminou: end_turn (concluída), max_tokens (atingiu o limite definido — a resposta está truncada), stop_sequence, ou tool_use. - usage é a base da cobrança. Registre esse valor; ele é a única base confiável para atribuir custos. Se stop_reason é max_tokens, sua resposta foi cortada. Aumente max_tokens ou peça uma resposta mais curta — não repita a solicitação às cegas, pois você também paga pela saída truncada. ## Conversas com múltiplos turnos A API não mantém estado. Para continuar uma conversa, você reenvia todo o histórico, incluindo as respostas anteriores do modelo: ``` Copy{ "model": "claude-sonnet-4-6", "max_tokens": 1024, "messages": [ {"role": "user", "content": "What is the capital of France?"}, {"role": "assistant", "content": "Paris."}, {"role": "user", "content": "And its population?"} ] } ``` Como o histórico é reenviado a cada turno, os tokens de entrada aumentam com a conversa, assim como a cobrança. É por isso que sessões longas de agentes ficam caras. [Cache de prompts](/pt/docs/guides/prompt-caching/) e [gerenciamento de contexto](/pt/docs/guides/context-management/) ambos tratam disso diretamente. [API de mensagensReferência completa dos campos](/pt/docs/api-reference/messages/)[TransmissãoRespostas token por token](/pt/docs/api-reference/streaming/)[SDK para PythonA mesma chamada em Python](/pt/docs/sdks/python/) [AnteriorURLs base](/pt/docs/getting-started/base-urls/)[PróximoVisão geral da API](/pt/docs/api-reference/overview/)