Aller au contenu
Préproduction : l'API répond sur https://api.visiobank.com/v1, avec une clé de test. Les exemples gardent l'adresse de production, api.vizalia.ai, qui ouvrira à la mise en production.

Brancher un agent développé par vos soins

(LiveKit Agents, Pipecat, votre orchestrateur SIP) : déclarez le serveur en Streamable HTTP et envoyez sur chaque requête Authorization et X-Call-Id, l’identifiant de votre appel (avec LiveKit Agents, MCPServerHTTP(url, headers=…, client_session_timeout_seconds=90) : sans ce réglage, chaque requête est coupée au bout de 5 secondes). Relayez la fin d’appel de même.

En-tête Valeur
Authorization Bearer vz_<préfixe>_…
X-Call-Id L’identifiant de votre appel, le même pendant tout l’appel

L’identifiant de l’appel lie la session à cet appel : une session ne se pilote que depuis l’appel qui l’a ouverte. Laissez au serveur au moins 90 secondes pour répondre : take_photo répond en 25 secondes au plus, record_video en 85.

from livekit.agents import mcp
serveur_vizalia = mcp.MCPServerHTTP(
url="https://mcp.vizalia.ai/mcp",
transport_type="streamable_http",
headers={
"Authorization": f"Bearer {CLE_VIZALIA}",
"X-Call-Id": identifiant_appel,
},
# 5 secondes par défaut : take_photo et record_video seraient coupés.
client_session_timeout_seconds=90,
)

client_session_timeout_seconds est le délai de chaque requête au serveur MCP (LiveKit Agents 1.8). À sa valeur par défaut, 5 secondes, l’agent abandonne une photo ou une vidéo avant sa fin.

Au raccroché, prévenez Vizalia ; sans ce relais, la session se ferme d’elle-même 16 minutes après la dernière requête de l’appel.

Relais de fin d’appel, pour Retell et pour un agent développé par vos soins :

POST https://mcp.vizalia.ai/webhooks/generic
Authorization: Bearer vz_<préfixe>_…
Content-Type: application/json
{"event": "call_ended", "call_id": "<identifiant de l'appel>"}

Une plateforme qui ne parle pas MCP, comme un serveur vocal qui ne sait appeler qu’une adresse HTTP, démarre la vidéo par l’API : POST /sessions avec le numéro de l’appelant.