Subvise
Developers

Démarrer

Subvise expose un agent IA de recommandation B2B accessible de trois manières :

Serveur MCPAgent-to-agent via le protocole MCP
Widget iframeChatbot embarqué dans votre interface
Provider APIREST API pour gérer vos produits et metrics

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.

Header HTTP
Authorization: Bearer YOUR_API_KEY
Note : Une clé demo-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

HTTP
POST https://mcp.subvise.io/mcp
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Accept: application/json, text/event-stream

Health check : GET https://mcp.subvise.io/health

Claude Desktop

Ajoutez dans ~/.claude/claude_desktop_config.json :

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 :

mcp.json
{
  "mcpServers": {
    "subvise": {
      "type": "http",
      "url": "https://mcp.subvise.io/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Appel HTTP direct

cURL
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é).

Note MCP : Le serveur MCP expose les mêmes outils avec un schéma simplifié — pas d'objet 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ètreTypeRequisDescription

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ètreTypeRequisDescription
product_idstringouiIdentifiant unique du produit (slug)
providerstringnonSlug du provider (auto-détecté si omis)

Widget iframe

Embarquez le chatbot Subvise dans votre interface web. Un simple <iframe>, aucun SDK nécessaire.

Intégration basique

HTML
<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.

HTML
<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ètreTypeRequisDescription
distributorstringnonID du canal distributeur (votre slug)
contextJSON (URL-encoded)nonProfil 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é.

GET
/api/providers/me

Lire votre profil

PUT
/api/providers/me

Modifier votre profil

GET
/api/providers/me/products

Lister vos produits

POST
/api/providers/me/products

Ajouter un produit

GET
/api/providers/me/products/{product_id}

Détail d'un produit

PUT
/api/providers/me/products/{product_id}

Modifier un produit

DELETE
/api/providers/me/products/{product_id}

Supprimer un produit

GET
/api/providers/me/metrics?days=30

Consulter vos metrics

Profil

Consultez et modifiez votre nom, description, coordonnées et configuration d'onboarding.

Lire le profil
curl https://subvise.io/api/providers/me \
  -H "Authorization: Bearer YOUR_API_KEY"
Modifier le profil
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é.

Ajouter un produit
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
  }'
Modifier un produit
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
  }'
Supprimer un produit
curl -X DELETE https://subvise.io/api/providers/me/products/premium-lunch \
  -H "Authorization: Bearer YOUR_API_KEY"
ParamètreTypeRequisDescription
product_idstringouiIdentifiant unique du produit (slug, ex: cheques-repas)
namestringouiNom affiché du produit
descriptionstringnonRésumé en une ligne — apparaît dans le catalogue présenté à l'IA
categorystringnonCatégorie (ex: avantages_salariaux, comptabilite)
contentstring (markdown)nonContenu complet en markdown — l'IA le lit lors du drill-down (limites, fiscalité, conditions, FAQ…)
prioritynumbernonOrdre dans le catalogue (défaut: 50 — plus élevé = affiché en premier)
activebooleannonProduit 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.

Consulter les metrics
curl "https://subvise.io/api/providers/me/metrics?days=30" \
  -H "Authorization: Bearer YOUR_API_KEY"
ParamètreTypeRequisDescription
daysnumbernonPériode en jours (défaut: 30, max: 90)
Exemple de réponse
{
  "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 }
  ]
}