Envoyer et Recevoir des Messages

Guide complet pour envoyer des requêtes et recevoir des réponses de l'API

par Arkangel AI Team•1 min de lecture

Apprenez comment envoyer des requêtes médicales à l'API Arkangel AI et traiter les réponses.

Point d'Accès Principal

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

Envoyer un Message

Requête de Base

curl -X POST https://api.arkangelai.com/v1/chat \
  -H "Authorization: Bearer votre_cle_api" \
  -H "Content-Type: application/json" \
  -d '{
    "message": "Quels sont les symptômes du diabète de type 2 ?"
  }'

Paramètres de la Requête

Paramètre Type Requis Description
message string Oui Le message ou la requête à envoyer
conversation_id string Non ID pour continuer une conversation existante
context object Non Contexte supplémentaire pour la requête
language string Non Langue de réponse (es, en, fr, pt)

Exemple avec Contexte

const response = await fetch('https://api.arkangelai.com/v1/chat', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer votre_cle_api',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    message: 'Quels traitements sont disponibles ?',
    conversation_id: 'conv_abc123',
    context: {
      patient_age: 45,
      condition: 'diabète'
    },
    language: 'fr'
  })
});

Format de Réponse

{
  "id": "msg_xyz789",
  "conversation_id": "conv_abc123",
  "message": "Les symptômes courants du diabète de type 2 incluent...",
  "sources": [
    {
      "title": "Guide du Diabète ADA 2024",
      "url": "https://example.com/source",
      "relevance": 0.95
    }
  ],
  "created_at": "2026-01-19T10:30:00Z",
  "tokens_used": 150
}

Champs de la Réponse

Champ Type Description
id string Identifiant unique du message
conversation_id string ID de la conversation
message string Réponse générée par l'IA
sources array Sources médicales citées
created_at string Date et heure de création (ISO 8601)
tokens_used number Tokens consommés pour cette requête

Conversations

Vous pouvez maintenir le contexte entre les messages en utilisant conversation_id :

// Premier message
const response1 = await sendMessage({
  message: "Qu'est-ce que l'hypertension ?"
});

// Message de suivi
const response2 = await sendMessage({
  message: 'Quels sont les facteurs de risque ?',
  conversation_id: response1.conversation_id
});

Streaming de Réponses

Pour des réponses en temps réel, utilisez le point d'accès de streaming :

const response = await fetch('https://api.arkangelai.com/v1/chat/stream', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer votre_cle_api',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    message: 'Expliquez le processus de digestion'
  })
});

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

Gestion des Erreurs

try {
  const response = await sendMessage({ message: 'Ma requête' });

  if (!response.ok) {
    const error = await response.json();
    console.error('Erreur:', error.message);
  }
} catch (error) {
  console.error('Erreur réseau:', error);
}

Prochaines Étapes