Accès agents (API + MCP)

Vyro est l’assistant commercial des agents immobiliers et petites agences en France : mandats, visites, relances, validation avant envoi. CRM + email + SMS. Hébergé UE. L’IA prépare ; l’humain envoie.

Cette page décrit comment un agent externe se connecte. Pas de session cookie sur ces routes. WhatsApp, logiciel de régie (baux/loyers) et sync boîte Gmail/Outlook ne sont pas livrés.

1. Clés d’accès agents

Créez une clé dans Réglages. En-tête : Authorization: Bearer vyro_… Le préfixe est visible ; le secret s’affiche une fois.

Scopes :

  • contacts:read
  • contacts:write
  • inbox:read
  • tasks:write
  • pipeline:write
  • sms:send

Limite : 60 requêtes / minute / clé. 429 avec Retry-After.

2. OpenAPI /api/v1

Spec machine (fichier, pas un portail marketing) : https://www.vyrocrm.com/api/v1/openapi · https://www.vyrocrm.com/openapi-v1.json

3. MCP remote

JSON-RPC sur https://www.vyrocrm.com/api/mcp. Mêmes outils que l’agent interne (contacts, bien, visites, draft_sms, enroll_sequence). Les envois restent en file d’approbation.

{
  "mcpServers": {
    "vyro": {
      "url": "https://www.vyrocrm.com/api/mcp",
      "headers": { "Authorization": "Bearer vyro_VOTRE_CLE" }
    }
  }
}

4. Webhooks

Événements sortants HMAC-SHA256 (Réglages). Liste vide = tous. Pas de whatsapp.*, rent.*, lease.*.

  • property.created
  • visit.scheduled
  • visit.completed
  • offer.stage_entered
  • contact.created
  • contact.updated
  • pipeline.stage_changed
  • message.received
  • message.sent
  • ai_action.pending
  • sequence.completed
  • sequence.replied
  • task.overdue

5. SMS : campagne masse vs unitaire

Les campagnes de masse restent sur POST /api/campaigns/:id/start. Le SMS unitaire est POST /api/v1/messages/sms (pending) puis approbation humaine → Twilio. Consentement requis (sinon 422). Répondre STOP pour se désinscrire.

6. Recettes

Chaque recette ci-dessous = email + SMS unitaire + séquence Inngest + bien/visite. Pas de WhatsApp, pas de loyer/bail, pas de sync Gmail.

# Bien + visites
GET https://www.vyrocrm.com/api/v1/properties/{id}
GET https://www.vyrocrm.com/api/v1/appointments

# SMS unitaire (pending → approbation humaine → Twilio)
POST https://www.vyrocrm.com/api/v1/messages/sms
{ "prospectId": "…", "body": "Nouveau créneau ?" }

# EmailSequence Inngest (s’exécute)
POST https://www.vyrocrm.com/api/v1/sequences/{emailSequenceId}/enroll
{ "prospectId": "…" }

n8n

Quatre nœuds HTTP Request, en-tête Bearer, pas d’app n8n officielle : GET bien ou visites, POST /api/v1/messages/sms (unitaire, pending), POST /api/v1/sequences/:id/enroll (EmailSequence visite). Les brouillons email restent dans À traiter ou via MCP draft_email.

Make

Scénario HTTP manuel (aucun connecteur Make officiel). Mêmes quatre appels Bearer que n8n. Nous ne livrons pas d’app Make.

Grok Bot / Claude / Cursor

Ajoutez l’URL MCP ci-dessus. Flux : search_contacts → get_property → list_visits → enroll_sequence (playbook visite). Via MCP, enroll_sequence et draft_email / draft_sms restent en pending ; un humain approuve dans À traiter. Pour enroller tout de suite : POST /api/v1/sequences/:id/enroll (pas l’outil MCP).

Playbooks agence

  • Visite no-show — visite planifiée non marquée réalisée → séquence email + SMS.
  • Offre / contre-offre — étape Offre → note + email de relance.
  • Mandat / pièce manquante vendeur — cron mandat J-30 → tâche + email vendeur. Pas de relance loyer.

Installer depuis la bibliothèque playbooks (secteur immobilier).

7. Kit MCP public

Le kit à cloner (cursor-mcp.json, exemple widget, licence MIT, templates d’issues) est dans le dossier mcp-public/ du monorepo. Un dépôt GitHub séparé est le levier de visibilité prévu — il n’est pas encore publié. Pas d’achat d’étoiles. Quand le remote existera, cette page le liera.