Démarrer
Subvise expose un agent IA de recommandation B2B accessible de trois manières :
Authentification
Toutes les requêtes authentifiées utilisent un Bearer token dans le header HTTP. Les API keys sont délivrées sur demande à hello@subvise.io.
Authorization: Bearer YOUR_API_KEYdemo-key est disponible pour le serveur MCP (rate-limited). Les endpoints Provider API nécessitent une clé de production.Serveur MCP
Votre agent IA communique directement avec Subvise via le Model Context Protocol. Compatible Claude Desktop, Cursor, Zed et tout client MCP.
Endpoint
POST https://mcp.subvise.io/mcp
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Accept: application/json, text/event-streamHealth check : GET https://mcp.subvise.io/health
Claude Desktop
Ajoutez dans ~/.claude/claude_desktop_config.json :
{
"mcpServers": {
"subvise": {
"url": "https://mcp.subvise.io/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}Cursor
Ajoutez dans .cursor/mcp.json à la racine du projet :
{
"mcpServers": {
"subvise": {
"type": "http",
"url": "https://mcp.subvise.io/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}Appel HTTP direct
curl -X POST https://mcp.subvise.io/mcp \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_product_details",
"arguments": {
"product_id": "cheques-repas",
"provider": "monizze"
}
}
}'Référence Tools
Trois tools couvrent le cycle complet : découverte du catalogue, détails produit et souscription. Les schémas ci-dessous documentent l'interface exposée par le widget (objet prospect imbriqué).
prospect imbriqué pour generate_onboarding_link : seul nombre_employesest accepté au top-level (les autres champs du profil sont ignorés côté MCP). Référez-vous à l'appel HTTP ci-dessus pour un exemple concret.list_catalog
Retourne un digest compact du catalogue (une ligne par produit actif, tous providers confondus). À utiliser en premier pour découvrir ce qui est disponible avant d'appeler `get_product_details`. Exposé uniquement par le serveur MCP.
| Paramètre | Type | Requis | Description |
|---|
get_product_details
Retourne le contenu markdown complet d'un produit (limites légales, avantages fiscaux, conditions, FAQ…). L'IA appelle cet outil dès qu'elle veut présenter un produit en détail — le catalogue ne contient que des résumés.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
product_id | string | oui | Identifiant unique du produit (slug) |
provider | string | non | Slug du provider (auto-détecté si omis) |
generate_onboarding_link
Génère un lien de souscription pré-rempli vers le formulaire du fournisseur.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
product_id | string | oui | ID du produit |
provider | string | oui | Slug du fournisseur (ex: monizze, accountable) |
firstname | string | non | Prénom du contact |
lastname | string | non | Nom du contact |
company | string | non | Nom de l'entreprise |
vat | string | non | Numéro de TVA (ex: BE0123456789) |
prospect | object | oui | Profil du prospect (widget uniquement — cf. note MCP ci-dessous) |
distributor | string | non | ID du canal distributeur |
Widget iframe
Embarquez le chatbot Subvise dans votre interface web. Un simple <iframe>, aucun SDK nécessaire.
Intégration basique
<iframe
src="https://subvise.io/widget"
width="420"
height="700"
style="border: none; border-radius: 16px;"
allow="clipboard-write"
></iframe>Avec contexte pré-rempli
Passez le profil du prospect et le canal distributeur via query parameters pour personnaliser l'expérience.
<iframe
src="https://subvise.io/widget?distributor=your-slug&context=%7B%22secteur%22%3A%22horeca%22%7D"
width="420"
height="700"
style="border: none; border-radius: 16px;"
allow="clipboard-write"
></iframe>Paramètres
| Paramètre | Type | Requis | Description |
|---|---|---|---|
distributor | string | non | ID du canal distributeur (votre slug) |
context | JSON (URL-encoded) | non | Profil prospect pré-rempli (secteur, statut_juridique, nombre_employes...) |
Provider API
API REST réservée aux providers pour configurer leurs données, gérer leur catalogue produit et consulter leurs metrics de performance. Toutes les routes sont scopées au provider authentifié.
/api/providers/meLire votre profil
/api/providers/meModifier votre profil
/api/providers/me/productsLister vos produits
/api/providers/me/productsAjouter un produit
/api/providers/me/products/{product_id}Détail d'un produit
/api/providers/me/products/{product_id}Modifier un produit
/api/providers/me/products/{product_id}Supprimer un produit
/api/providers/me/metrics?days=30Consulter vos metrics
Profil
Consultez et modifiez votre nom, description, coordonnées et configuration d'onboarding.
curl https://subvise.io/api/providers/me \
-H "Authorization: Bearer YOUR_API_KEY"curl -X PUT https://subvise.io/api/providers/me \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"label": "Acme Benefits",
"description": "Avantages salariaux pour PME belges",
"content": "### À propos\nAcme Benefits accompagne les PME belges dans la mise en place d'avantages salariaux fiscalement optimisés.",
"contact": {
"website": "https://acme-benefits.be",
"phone": "02 123 45 67",
"support": "https://acme-benefits.be/support"
},
"onboarding": {
"base_url": "https://acme-benefits.be/onboarding",
"params": ["firstname", "lastname", "company", "vat"],
"source_value": "subvise"
}
}'Produits
Gérez votre catalogue de produits. Chaque produit dispose d'un product_id unique et peut être activé/désactivé.
curl -X POST https://subvise.io/api/providers/me/products \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"product_id": "premium-lunch",
"name": "Premium Lunch Pass",
"description": "Chèque-repas jusqu\''à 10€/jour — solution phare pour les équipes.",
"category": "avantages_salariaux",
"content": "### Description\n...\n\n### Avantages fiscaux\n- **Employeur** : exonéré ONSS, déductible jusqu\'à 4€/chèque\n- **Employé** : exonéré d\'impôts dans les limites légales\n\n### Conditions\n- 1 jour travaillé = 1 chèque-repas\n- Mention obligatoire au contrat ou CCT",
"priority": 90,
"active": true
}'curl -X PUT https://subvise.io/api/providers/me/products/premium-lunch \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "### Description\nMis à jour...\n\n### Conditions\n- ...",
"priority": 95,
"active": true
}'curl -X DELETE https://subvise.io/api/providers/me/products/premium-lunch \
-H "Authorization: Bearer YOUR_API_KEY"| Paramètre | Type | Requis | Description |
|---|---|---|---|
product_id | string | oui | Identifiant unique du produit (slug, ex: cheques-repas) |
name | string | oui | Nom affiché du produit |
description | string | non | Résumé en une ligne — apparaît dans le catalogue présenté à l'IA |
category | string | non | Catégorie (ex: avantages_salariaux, comptabilite) |
content | string (markdown) | non | Contenu complet en markdown — l'IA le lit lors du drill-down (limites, fiscalité, conditions, FAQ…) |
priority | number | non | Ordre dans le catalogue (défaut: 50 — plus élevé = affiché en premier) |
active | boolean | non | Produit visible dans les recommandations (défaut: true) |
Metrics
Consultez vos statistiques : conversations, liens de souscription générés, taux de conversion et breakdown par produit.
curl "https://subvise.io/api/providers/me/metrics?days=30" \
-H "Authorization: Bearer YOUR_API_KEY"| Paramètre | Type | Requis | Description |
|---|---|---|---|
days | number | non | Période en jours (défaut: 30, max: 90) |
{
"provider": "acme-benefits",
"period": { "days": 30, "since": "2026-03-15T..." },
"products": { "total": 4, "active": 4, "ids": ["premium-lunch", "eco-pass", "gift-card", "sport-culture"] },
"conversations": {
"total": 142,
"with_link_generated": 38,
"with_link_clicked": 12,
"conversion_rate": "26.8%"
},
"recommendations_by_product": {
"premium-lunch": 95,
"eco-pass": 42
},
"daily": [
{ "date": "2026-04-13", "conversations": 8, "links_generated": 3 }
]
}