Enviar y Recibir Mensajes

Guía completa para enviar consultas y recibir respuestas de la API

por Arkangel AI Team•1 min de lectura

Aprende a enviar consultas médicas a la API de Arkangel AI y procesar las respuestas.

Endpoint Principal

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

Enviar un Mensaje

Solicitud Básica

curl -X POST https://api.arkangelai.com/v1/chat \
  -H "Authorization: Bearer tu_clave_api" \
  -H "Content-Type: application/json" \
  -d '{
    "message": "¿Cuáles son los síntomas de la diabetes tipo 2?"
  }'

Parámetros de la Solicitud

Parámetro Tipo Requerido Descripción
message string Sí El mensaje o consulta a enviar
conversation_id string No ID para continuar una conversación existente
context object No Contexto adicional para la consulta
language string No Idioma de respuesta (es, en, fr, pt)

Ejemplo con Contexto

const response = await fetch('https://api.arkangelai.com/v1/chat', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer tu_clave_api',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    message: '¿Qué tratamientos existen?',
    conversation_id: 'conv_abc123',
    context: {
      patient_age: 45,
      condition: 'diabetes'
    },
    language: 'es'
  })
});

Formato de Respuesta

{
  "id": "msg_xyz789",
  "conversation_id": "conv_abc123",
  "message": "Los síntomas comunes de la diabetes tipo 2 incluyen...",
  "sources": [
    {
      "title": "Guía de Diabetes ADA 2024",
      "url": "https://example.com/source",
      "relevance": 0.95
    }
  ],
  "created_at": "2026-01-19T10:30:00Z",
  "tokens_used": 150
}

Campos de la Respuesta

Campo Tipo Descripción
id string Identificador único del mensaje
conversation_id string ID de la conversación
message string Respuesta generada por la IA
sources array Fuentes médicas citadas
created_at string Fecha y hora de creación (ISO 8601)
tokens_used number Tokens consumidos en esta solicitud

Conversaciones

Puedes mantener el contexto entre mensajes usando conversation_id:

// Primer mensaje
const response1 = await sendMessage({
  message: '¿Qué es la hipertensión?'
});

// Mensaje de seguimiento
const response2 = await sendMessage({
  message: '¿Cuáles son los factores de riesgo?',
  conversation_id: response1.conversation_id
});

Streaming de Respuestas

Para respuestas en tiempo real, usa el endpoint de streaming:

const response = await fetch('https://api.arkangelai.com/v1/chat/stream', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer tu_clave_api',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    message: 'Explica el proceso de digestión'
  })
});

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);
}

Manejo de Errores

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

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

Próximos Pasos