Enviar e Receber Mensagens

Guia completo para enviar consultas e receber respostas da API

por Arkangel AI Team•1 min de leitura

Aprenda como enviar consultas médicas para a API Arkangel AI e processar as respostas.

Endpoint Principal

POST https://api.arkangelai.com/v1/chat

Enviando uma Mensagem

Solicitação Básica

curl -X POST https://api.arkangelai.com/v1/chat \
  -H "Authorization: Bearer sua_chave_api" \
  -H "Content-Type: application/json" \
  -d '{
    "message": "Quais são os sintomas do diabetes tipo 2?"
  }'

Parâmetros da Solicitação

Parâmetro Tipo Obrigatório Descrição
message string Sim A mensagem ou consulta a enviar
conversation_id string Não ID para continuar uma conversa existente
context object Não Contexto adicional para a consulta
language string Não Idioma da resposta (es, en, fr, pt)

Exemplo com Contexto

const response = await fetch('https://api.arkangelai.com/v1/chat', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer sua_chave_api',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    message: 'Quais tratamentos estão disponíveis?',
    conversation_id: 'conv_abc123',
    context: {
      patient_age: 45,
      condition: 'diabetes'
    },
    language: 'pt'
  })
});

Formato da Resposta

{
  "id": "msg_xyz789",
  "conversation_id": "conv_abc123",
  "message": "Os sintomas comuns do diabetes tipo 2 incluem...",
  "sources": [
    {
      "title": "Guia de Diabetes ADA 2024",
      "url": "https://example.com/source",
      "relevance": 0.95
    }
  ],
  "created_at": "2026-01-19T10:30:00Z",
  "tokens_used": 150
}

Campos da Resposta

Campo Tipo Descrição
id string Identificador único da mensagem
conversation_id string ID da conversa
message string Resposta gerada pela IA
sources array Fontes médicas citadas
created_at string Data e hora de criação (ISO 8601)
tokens_used number Tokens consumidos nesta solicitação

Conversas

Você pode manter o contexto entre mensagens usando conversation_id:

// Primeira mensagem
const response1 = await sendMessage({
  message: 'O que é hipertensão?'
});

// Mensagem de acompanhamento
const response2 = await sendMessage({
  message: 'Quais são os fatores de risco?',
  conversation_id: response1.conversation_id
});

Streaming de Respostas

Para respostas em tempo real, use o endpoint de streaming:

const response = await fetch('https://api.arkangelai.com/v1/chat/stream', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer sua_chave_api',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    message: 'Explique o processo de digestão'
  })
});

const reader = response.body.getReader();
const decoder = new TextDecoder();

while (true) {
  const { done, value } = await reader.read();
  if (done) break;

  const chunk = decoder.decode(value);
  console.log(chunk);
}

Tratamento de Erros

try {
  const response = await sendMessage({ message: 'Minha consulta' });

  if (!response.ok) {
    const error = await response.json();
    console.error('Erro:', error.message);
  }
} catch (error) {
  console.error('Erro de rede:', error);
}

Próximos Passos