§ 06 / 06 — INTÉGRATION OJIN AI

Brancher Ojin sur API Platform sans casser votre stack.

Ojin AI expose des agents conversationnels temps réel (voix, vision, world models) via une Model API et une Agent API. Côté back Symfony, ça veut dire un proxy WebSocket à écrire, une authentification à unifier, des conversations à persister et des quotas à plafonner. Je livre ce socle d'intégration en sprint court, sans déstabiliser votre stack API Platform existante.

§ 01 — Le problème

Le problème.

Sans expert
  • SDK Node/Python uniquement — Les SDK officiels Ojin et l'écosystème Pipecat / LiveKit Agents sont pensés pour Node et Python — pas pour Symfony.
  • Clés exposées au front — Sans proxy serveur, les clés Ojin se retrouvent dans le navigateur — facture incontrôlée garantie.
  • Authentifications dissonantes — JWT applicatif côté Symfony, tokens Ojin côté inference — sans réconciliation, c'est l'usine à bugs.
  • Conversations perdues — Pas de persistance Doctrine : aucun replay possible pour le SAV, le contrôle qualité ou l'amélioration des prompts.
  • Coûts qui dérapent — Sans rate limiting et hard cap par tenant, un seul utilisateur peut faire exploser la facture mensuelle.
Avec Vulcain
  • Bundle proxy websocket et http côté serveur
  • Jwt applicatif unifié avec propagation du token ojin côté back uniquement
  • Persistance doctrine des conversations (turns
  • Tool calls
  • Scores)
  • Comptabilité par tenant et hard cap
  • Observabilité monolog + sentry/posthog.
§ 02 — Ce qui est livré

Ce qui est livré.

§ 01

Proxy temps réel Ojin ↔ Symfony

Bundle proxy WebSocket et HTTP vers la Model API et l'Agent API d'Ojin, compatible Pipecat et LiveKit Agents. Les clés d'API restent côté serveur, jamais exposées au navigateur.

  • Proxy WebSocket
  • Compatible Pipecat
  • Compatible LiveKit
  • Clés côté serveur
§ 02

Endpoints REST/GraphQL devant l'agent

Resources API Platform qui exposent l'historique de conversation, le contexte agent, les artefacts produits (audio, vision, tool calls). REST par défaut, GraphQL si votre front en a besoin.

  • Historique exposé
  • Contexte agent
  • Artefacts (audio, vision)
  • REST + GraphQL
§ 03

Authentification unifiée

JWT applicatif Symfony côté utilisateur final, propagation du token Ojin côté serveur uniquement. Pas de clé Ojin exposée au front, pas de double login pour vos utilisateurs.

  • JWT applicatif
  • Token Ojin côté serveur
  • Sans double login
  • Sans clé exposée
§ 04

Persistance & relecture

Stockage Doctrine des sessions Ojin : turns, tool calls, scores, métadonnées. Endpoints de replay pour le SAV et le contrôle qualité. Conformité RGPD intégrée (rétention configurable, droit à l'oubli, export).

  • Turns + tool calls
  • Endpoints de replay
  • Rétention configurable
  • Droit à l'oubli
§ 05

Quotas, billing & observabilité

Rate limiting natif API Platform, comptabilité par tenant (compte, équipe, utilisateur final), hard cap par compte pour éviter la dérive de coût. Logs Monolog structurés, traces PostHog/Sentry, métriques Prometheus si besoin.

  • Rate limiting
  • Hard cap par tenant
  • Stripe metered billing
  • Logs + traces
§ 06

Tests et CI

Mocks de la Model API pour rejouer les tests sans appeler Ojin, fixtures de conversations réalistes, PHPUnit pour les endpoints REST/GraphQL, Panther si UI temps réel à valider. Doc OpenAPI générée automatiquement à chaque déploiement.

  • Mocks Model API
  • Fixtures conversations
  • PHPUnit + Panther
  • OpenAPI auto
§ 04 — Tarifs & délais
§ 01

Cadrage Ojin

1 jour

Audit du besoin, choix entre Model API et Agent API, dimensionnement des quotas, estimation du coût Ojin mensuel attendu, cahier des charges 2 pages, devis ferme.

  • Audit besoin
  • Model vs Agent API
  • Dimensionnement quotas
  • Estimation coût mensuel
  • Cahier des charges 2 p.
  • Devis ferme
§ 02

Sprint d'intégration

5 à 10 jours

Bundle proxy, endpoints REST/GraphQL, auth JWT, persistance Doctrine, tests PHPUnit, doc OpenAPI. Démos quotidiennes, code review continue sur votre dépôt. Premier agent en préproduction à J+10.

  • Bundle proxy
  • Endpoints REST/GraphQL
  • Auth JWT unifiée
  • Persistance Doctrine
  • Tests PHPUnit
  • Doc OpenAPI
§ 03

Plateforme multi-tenant

3 à 6 semaines

Tout du sprint + multi-tenant complet, Stripe metered billing, dashboards usage, observabilité PostHog/Sentry, runbook astreinte, formation équipe interne.

  • Tout du sprint +
  • Multi-tenant
  • Stripe metered billing
  • Dashboards usage
  • PostHog + Sentry
  • Runbook + formation

Tarifs sur devis après cadrage · forfait ou régie selon le format

§ 04 — Questions fréquentes

Questions côté intégrateurs.

§ 01 Faut-il être client Ojin avant le cadrage ?

Non. Le cadrage sert justement à choisir entre la Model API et l'Agent API d'Ojin selon votre cas. Je vous aide aussi à dimensionner les quotas et anticiper le coût mensuel avant de signer chez Ojin.

§ 02 Vous travaillez avec Pipecat ou LiveKit ?

Oui. Ojin expose des transports compatibles Pipecat et LiveKit Agents. Côté Symfony, je gère le proxy WebSocket et la persistance ; côté front, l'équipe choisit le transport qui colle au produit (WebRTC LiveKit pour la voix bidirectionnelle, pipeline Pipecat pour des cas plus simples).

§ 03 Comment gérer la facturation des tokens Ojin par utilisateur final ?

Comptabilité par tenant côté Doctrine, rate limiting API Platform, hard cap par compte pour éviter les explosions de facture. C'est exactement le modèle déjà en prod sur Qualifleads pour la facturation des appels LLM. Possibilité de brancher Stripe metered billing pour refacturer au client final.

§ 04 Mon back est en Symfony 6 ou 7, c'est compatible ?

Oui. Le bundle cible Symfony 6.4 LTS et 7.x, PHP 8.2+, API Platform 3.x ou 4.x. Pour une stack plus ancienne (Symfony 5.4), on cadre une montée de version en amont — ça reste rentable avant d'investir sur un agent IA.

§ 05 Peut-on stocker les conversations en France (RGPD) ?

Oui. La persistance Doctrine se fait dans votre base, hébergée où vous voulez (OVHcloud, Scaleway, Clever Cloud, on-premise). Ojin reste un sous-traitant de traitement côté inference : votre registre RGPD doit le mentionner et votre DPA Ojin doit être à jour.

§ 06 Quel est le délai pour un premier agent en prod ?

5 à 10 jours ouvrés après le cadrage pour un premier agent fonctionnel en préproduction (proxy + auth + persistance + un endpoint exposé). Comptez 2 à 3 semaines pour une mise en prod robuste avec tests complets, observabilité, runbook et formation équipe.

§ 07 Combien ça coûte ?

Sprint d'intégration entre 6 000 et 14 000 € HT selon le périmètre (Model API seule ou Agent API complète, nombre d'endpoints exposés, billing multi-tenant, intégration observabilité). Devis ferme délivré après le cadrage, sans engagement.

§ 05 — Cas client · SaaS B2B · IA · LLM en production

Qualifleads

SaaS B2B de scoring de leads par IA. La stack la plus proche d'Ojin dans mon portfolio : LLM en production, persistance des conversations, scoring multi-critères, quotas par tenant, facturation à l'usage. C'est la référence que vous voulez voir si vous intégrez Ojin.

  • GPT-5
  • Symfony 8
  • API Platform
  • HubSpot
  • PostHog
800/mois
Leads traités
< 30 s
Latence par lead
+60 %
Conversion vs manuel
§ 06 — Voir aussi
§ 07 — Cadrer votre intégration Ojin

Un agent Ojin à brancher sur votre Symfony ?

15 minutes pour comprendre votre cas (Model API ou Agent API), votre stack actuelle et le palier pertinent. Devis chiffré sous 24 h.

  • 01
    On choisit entre Model API et Agent API selon votre cas d'usage.
  • 02
    On dimensionne les quotas et on estime le coût Ojin mensuel attendu.
  • 03
    Estimation chiffrée envoyée sous 24 h. Si ce n'est pas pour moi, je vous oriente.