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_recommendations",
      "arguments": {
        "statut_juridique": "SRL",
        "secteur": "horeca",
        "nombre_employes": 12
      }
    }
  }'

Référence Tools

Les 3 tools couvrent le cycle complet : recommandation, détails produit et souscription. Le tableau ci-dessous documente le schéma utilisé par le widget (objet prospect imbriqué).

Note MCP : Le serveur MCP expose les mêmes outils mais avec un schéma légèrement différent : les champs du prospect sont passés au top-level (pas d'objet prospect parent) et get_product_details ne prend que product_id. Référez-vous à l'appel HTTP ci-dessus pour un exemple concret.

get_recommendations

Retourne une liste classée de produits correspondant au profil du prospect. Scores de priorité, descriptions et raisons incluses.

ParamètreTypeRequisDescription
prospect.statut_juridiquestringnonpersonne_physique | SRL | SNC | SA | ASBL
prospect.secteurstringnonIT | horeca | construction | creatif | sante | commerce | services | industrie | autre
prospect.nombre_employesnumbernonNombre d'employés
prospect.chiffre_affairesnumbernonChiffre d'affaires annuel
prospect.avantages_existantsstring[]nonIDs des produits déjà en place

get_product_details

Retourne les détails complets d'un produit : limites légales, avantages fiscaux, conditions, exemples de coût et FAQ.

ParamètreTypeRequisDescription
product_idstringouiIdentifiant unique du produit (défini par le provider)
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",
    "contact": {
      "website": "https://acme-benefits.be",
      "phone": "02 123 45 67"
    },
    "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",
    "category": "avantages_salariaux",
    "limits": { "max_per_day": 8 },
    "eligibility": {
      "statuts": ["personne_physique", "SRL", "SA"],
      "min_employees": 0,
      "requires_professional_activity": true
    },
    "tax_benefits": {
      "employer": "Déductible à 100%",
      "employee": "Exonéré d\'impôts"
    },
    "selling_points": ["Avantage net maximal"]
  }'
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 '{
    "limits": { "max_per_day": 8, "employer_contribution_max": 6.91 },
    "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
namestringouiNom affiché du produit
descriptionstringnonDescription du produit
categorystringnonCatégorie (ex: avantages_salariaux)
limitsobjectnonPlafonds légaux (max_per_day, max_per_year...)
cost_exampleobjectnonExemple de coût (employer_cost_monthly, employee_net_monthly...)
eligibilityobjectnonStatuts autorisés, min. employés, activité requise
tax_benefitsobjectnonAvantages fiscaux employeur + employé
conditionsstring[]nonConditions légales
validity_monthsnumbernonDurée de validité en mois
usagestring[]nonUtilisations possibles du produit
acceptance_networkstringnonRéseau d'acceptation
activation_delaystringnonDélai d'activation
selling_pointsstring[]nonArguments de vente
faqarraynonQuestions fréquentes [{q, a}]
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 }
  ]
}