Aller au contenu
  1. Documentation/
  2. RagWeb — Documentation/

API et intégrations

728 mots
Sommaire
Documentation RagWeb - Série de pages
Service 5: Ce service

RagWeb expose une API REST pour l’intégration programmatique du moteur de recherche IA dans vos applications, bots ou workflows.

Clés API
#

Créer une clé
#

Onglet Clés API du dashboard
  1. Connectez-vous au tableau de bord RagWeb
  2. Allez dans l’onglet Clés API
  3. Entrez un nom descriptif (ex : “Mon site”, “Bot Discord”)
  4. Cliquez Créer
  5. Copiez immédiatement la clé — elle ne sera plus affichée ensuite

Format de la clé
#

rw_xxxxxxxxxxxxxxxxxxxxxxxxxxxx

Les clés commencent par rw_ et sont composées de caractères alphanumériques.

Limites par plan
#

PlanClés API max
Free1
Starter1
Pro2
Business5

Révoquer une clé
#

Dans l’onglet Clés API, cliquez Révoquer sur la clé concernée. L’action est irréversible — les requêtes utilisant cette clé seront immédiatement rejetées.

Endpoint Search#

Requête
#

POST https://api.yannick.services/ragweb/search

Headers :

Content-Type: application/json
X-API-Key: rw_VOTRE_CLE

Body :

{
  "query": "Comment fonctionne votre service ?",
  "messages": []
}
ChampTypeRequisDescription
querystringOuiLa question de l’utilisateur
messagesarrayNonHistorique de conversation pour le multi-turn

Réponse
#

{
  "answer": "Notre service fonctionne en trois étapes...",
  "sources": [
    {
      "title": "Comment ça marche",
      "url": "https://monsite.fr/comment-ca-marche",
      "snippet": "Extrait pertinent de la page..."
    }
  ]
}

Multi-turn (conversation)
#

Pour les questions de suivi, envoyez l’historique dans messages :

{
  "query": "Et pour le plan Pro ?",
  "messages": [
    { "role": "user", "content": "Quels sont vos tarifs ?" },
    { "role": "assistant", "content": "Nous proposons 4 plans..." }
  ]
}

Le maximum est de 6 messages d’historique.

Codes d’erreur
#

Code HTTPSignification
200Succès
400Requête invalide (query manquante, trop longue)
401Clé API invalide ou manquante
429Quota quotidien atteint
500Erreur serveur temporaire

CORS
#

L’endpoint /ragweb/search accepte les requêtes cross-origin (Access-Control-Allow-Origin: *). Le widget peut être utilisé depuis n’importe quel domaine.

Streaming SSE
#

Pour une expérience temps réel (réponse progressive), utilisez l’endpoint de streaming :

POST {stream-url}

L’URL de streaming est une Lambda Function URL. Elle est configurée automatiquement dans le widget via data-stream-url.

Headers :

Content-Type: application/json
X-API-Key: rw_VOTRE_CLE

Body : identique à l’endpoint search.

Réponse : flux Server-Sent Events (SSE) :

data: {"type":"token","content":"Notre "}
data: {"type":"token","content":"service "}
data: {"type":"token","content":"fonctionne..."}
data: {"type":"sources","sources":[...]}
data: {"type":"done"}

Intégration JavaScript
#

async function searchStream(query, apiKey, streamUrl) {
  const response = await fetch(streamUrl, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'X-API-Key': apiKey
    },
    body: JSON.stringify({ query, messages: [] })
  });

  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);
    const lines = chunk.split('\n').filter(l => l.startsWith('data: '));

    for (const line of lines) {
      const data = JSON.parse(line.slice(6));
      if (data.type === 'token') {
        // Afficher progressivement
        console.log(data.content);
      } else if (data.type === 'sources') {
        // Sources de la réponse
        console.log('Sources:', data.sources);
      }
    }
  }
}

Endpoint MCP (Pro / Business)
#

RagWeb expose un endpoint Model Context Protocol compatible avec Claude Desktop, ChatGPT et tout client MCP.

Configuration
#

Depuis l’onglet Clés API du dashboard, copiez la configuration MCP :

{
  "mcpServers": {
    "ragweb": {
      "url": "https://45xicyewg4zqjvpqi6dd7w2tza0kegxp.lambda-url.eu-west-1.on.aws/",
      "headers": {
        "X-API-Key": "rw_VOTRE_CLE_API"
      }
    }
  }
}

Utilisation avec Claude Desktop
#

  1. Ouvrez les paramètres de Claude Desktop
  2. Section MCP Servers → ajoutez un nouveau serveur
  3. Collez la configuration ci-dessus
  4. Redémarrez Claude Desktop
  5. L’outil search est disponible — Claude peut interroger votre base de connaissances

Outil exposé
#

Le serveur MCP expose un seul outil :

OutilDescription
searchRecherche dans la base de connaissances du site. Paramètre : query (string)

Quota
#

Les requêtes MCP consomment le même quota quotidien que le widget (30 à 3 000 selon le plan).

Quotas et rate limiting
#

PlanRequêtes / jour
Free30
Starter200
Pro1 000
Business3 000

Le compteur est réinitialisé à minuit UTC. Une fois le quota atteint, les requêtes retournent un code 429.

Exemples d’intégration
#

cURL
#

curl -X POST https://api.yannick.services/ragweb/search \
  -H "Content-Type: application/json" \
  -H "X-API-Key: rw_VOTRE_CLE" \
  -d '{"query": "Comment contacter le support ?"}'

Python
#

import requests

response = requests.post(
    "https://api.yannick.services/ragweb/search",
    headers={
        "Content-Type": "application/json",
        "X-API-Key": "rw_VOTRE_CLE"
    },
    json={"query": "Quels sont vos horaires ?"}
)

data = response.json()
print(data["answer"])
for source in data["sources"]:
    print(f"  - {source['title']}: {source['url']}")

Node.js
#

const response = await fetch('https://api.yannick.services/ragweb/search', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': 'rw_VOTRE_CLE'
  },
  body: JSON.stringify({ query: 'Comment fonctionne la livraison ?' })
});

const { answer, sources } = await response.json();
console.log(answer);
sources.forEach(s => console.log(`  ${s.title}: ${s.url}`));
Documentation RagWeb - Série de pages
Service 5: Ce service

Pages connexes

Configuration

659 mots
L’onglet Configuration permet de contrôler précisément ce que RagWeb indexe et comment l’IA répond. Il se déverrouille une fois votre domaine vérifié. Seed URLs # Les seed URLs sont les pages de départ depuis lesquelles le crawler commence sa découverte. Le crawler suit ensuite les liens internes pour indexer le reste du site.

Démarrage rapide

322 mots
De l’inscription à votre premier résultat de recherche IA en 5 minutes. Prérequis # Un site web public accessible (pas de pages derrière un login) Un email professionnel (@votredomaine.fr) — recommandé pour la vérification par email Accès à votre zone DNS — si vous préférez la vérification DNS Étape 1 — Créer un compte # Rendez-vous sur yannick.services/apps/ragweb/ Cliquez sur Commencer gratuitement Entrez votre email et validez le code OTP reçu Vous êtes redirigé vers le tableau de bord RagWeb Le plan Free est activé automatiquement. Pas de carte bancaire requise.

FAQ et dépannage

736 mots
Questions fréquentes # Combien de temps prend l’indexation ? # La première indexation prend entre 1 et 10 minutes selon la taille de votre site. Les re-indexations suivantes sont plus rapides (incrémentales — seules les pages modifiées ou nouvelles sont traitées).