Communiquer avec Kiamo
Un seul paramètre (URL de base), un SDK chargé côté client qui parle directement à Kiamo.
Principe : SDK client, pas de proxy
Contrairement à Intent, on ne passe pas par une route API Next.js. L’application charge le SDK JavaScript AgentVoice depuis l’URL de votre instance Kiamo (NEXT_PUBLIC_KIAMO_URL). Le SDK s’expose globalement (window.AgentVoice) et communique ensuite directement avec Kiamo depuis le navigateur (WebSocket / API Kiamo). Une seule configuration : l’URL de base.
Flux
Aucun serveur intermédiaire : le SDK dialogue avec Kiamo (authentification et session gérées par Kiamo / l’agent connecté).
Paramètre unique : URL de base
La variable d’environnement NEXT_PUBLIC_KIAMO_URL définit l’URL de votre instance Kiamo (ex. https://votre-instance.mykiamo.com). Elle est publique (préfixe NEXT_PUBLIC_) car le script est chargé par le navigateur depuis ce domaine. L’authentification agent (login, extension, état connecté) est gérée par Kiamo ; le SDK expose l’état via agent.getName(), agent.isLogged(), etc.
Connexion et API du SDK
- Chargement : on injecte le script
{baseUrl}/sdk/agentvoice/agent_voice.js, puis on instancienew AgentVoice(baseUrl). - onReady : callback appelé quand le SDK est prêt ; on peut alors lire l’agent (getName, getLogin, getExtension, isLogged) et s’abonner aux événements (onError).
- Rafraîchir :
instance.indicators?.refresh()pour mettre à jour les indicateurs. Pas de GET/POST HTTP depuis notre backend : tout se fait côté client via le SDK.
Capacités AgentVoice (API exposée par le SDK)
| Module | Rôle |
|---|---|
agentAgent | État de l’agent : getName(), getLogin(), getExtension(), isLogged(), onError() |
callCall | Pilotage des appels (CTI) |
smartMediaSmartMedia | Média et interactions |
indicatorsIndicators | Indicateurs (refresh()) |
directoryDirectory | Annuaire |
allowedAllowed | Permissions / autorisations |
softphoneSoftphone | Contrôle softphone |
Exemple d’utilisation
URL du script (dérivée de NEXT_PUBLIC_KIAMO_URL) :
https://votre-instance.mykiamo.com/sdk/agentvoice/agent_voice.jsAprès chargement du script, instanciation et lecture de l’agent :
const instance = new window.AgentVoice(baseUrl);
instance.onReady(() => {
const name = instance.agent.getName();
const isLogged = instance.agent.isLogged();
// ...
});Test en conditions réelles : page Architecture → Connexions tiers (carte Kiamo AgentVoice).
Documentation Kiamo
Référence complète du SDK AgentVoice (agent, call, smartMedia, indicators, directory, allowed, softphone) : AgentVoice Javascript API. La sémantique et les événements sont définis par Kiamo ; notre app ne fait qu’utiliser le SDK.