io.enterpriseai.resources.ChannelsClient
Source : sdks/java/enterprise-ai-java/src/main/java/io/enterpriseai/resources/ChannelsClient.java. Retour à l'index de la référence du SDK Java.
Cette page est générée par tools/docs/gen_sdk_reference.py depuis les sources du SDK et les dossiers de textes OpenAPI. Ne la modifiez pas à la main : changez la source et régénérez.
Classe ChannelsClient
Canaux. Channel Gateway : les points d'entrée où les utilisateurs finaux parlent aux agents (web, mobile, e-mail, Slack, Teams, WhatsApp, SMS, voix, API, et les canaux Navin Discord, Telegram, Matrix, Mattermost et Signal). Un message entrant devient un message de session et lance un run de l'agent du canal, dans des limites de taille, de débit et de sessions et avec DLP.
Constructeur ChannelsClient
ChannelsClient(Transport transport)
Crée le client sur le transport partagé ; EnterpriseAIClient le construit, on y accède par l'accesseur du même nom.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
transport | Transport | oui | Transport partagé par les sous-clients d'un même client. |
ChannelsClient.create
JsonNode create(Object body)
Créer ou mettre à jour un canal. Applique un manifeste Channel (apply_status : created ou updated) ; project (identifiant ou slug, par défaut l'en-tête X-Project) le rattache à un projet, et un canal d'un autre projet n'est jamais repris (409 channel_project_conflict). L'agent de agent_ref doit exister (404 agent_not_found) ; signed_webhook demande auth.secret_ref (422 invalid_manifest). Demande tenant_admin, developer ou application_owner. Audité sous channel.apply.
Route : /v1/channels (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | Object | oui | Manifeste Channel (kind: Channel, metadata, spec avec type, agent, auth, limites, DLP et sessions). |
Retour : JsonNode. Réponse JSON décodée de l'opération « Créer ou mettre à jour un canal ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ChannelsClient.create
JsonNode create(Object body, RequestOptions options)
Créer ou mettre à jour un canal. Applique un manifeste Channel (apply_status : created ou updated) ; project (identifiant ou slug, par défaut l'en-tête X-Project) le rattache à un projet, et un canal d'un autre projet n'est jamais repris (409 channel_project_conflict). L'agent de agent_ref doit exister (404 agent_not_found) ; signed_webhook demande auth.secret_ref (422 invalid_manifest). Demande tenant_admin, developer ou application_owner. Audité sous channel.apply.
Route : /v1/channels (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | Object | oui | Manifeste Channel (kind: Channel, metadata, spec avec type, agent, auth, limites, DLP et sessions). | |
options | RequestOptions | oui | Options de l'appel (clé d'idempotence, traceparent, en-têtes, signal d'annulation). |
Retour : JsonNode. Réponse JSON décodée de l'opération « Créer ou mettre à jour un canal ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ChannelsClient.delete
void delete(String name)
Supprimer un canal. Supprime le canal. Demande tenant_admin. 404 channel_not_found. Audité sous channel.delete.
Route : /v1/channels/{name} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | String | oui | Nom du canal. |
Retour : void.
Erreurs levées : les erreurs typées du transport (Erreurs).
ChannelsClient.get
JsonNode get(String name)
Lire un canal. Renvoie le canal avec son manifeste, son type, son agent, son statut, son projet et son preset. 404 channel_not_found.
Route : /v1/channels/{name} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | String | oui | Nom du canal. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Lire un canal ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ChannelsClient.inbound
JsonNode inbound(String name, Object body)
Envoyer un message entrant. Remet un message d'un utilisateur final (202) et renvoie session_id, session_created, message_id, run_id (ou run_skipped quand l'agent n'est pas actif) et le résultat DLP. Demande tenant_admin, developer ou agent. Étapes : 1. Le canal doit être actif (409 channel_disabled) ; un canal signed_webhook vérifie X-EAI-Signature (t=<secondes unix>,v1=<HMAC-SHA256 hexadécimal de "<t>." + corps brut>, fenêtre de 5 minutes ; 401 invalid_signature). 2. La politique channel.inbound est évaluée ; la taille (413 message_too_large) et le débit par utilisateur (429 rate_limited) sont contrôlés. 3. La DLP entrante s'exécute (detect par défaut ; block répond 403 dlp_blocked, mask enregistre le texte masqué). 4. La session ouverte de l'utilisateur et de la conversation est réutilisée, ou une nouvelle est ouverte (429 too_many_sessions, 409 session_closed au-delà de max_session_minutes). 5. Le message est ajouté et un run de l'agent du canal démarre avec le déclencheur channel.
Route : /v1/channels/{name}/inbound (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | String | oui | Nom du canal. | |
body | Object | oui | Message JSON : text (1 à 1000000 caractères, obligatoire), user (identifiant externe de l'utilisateur, 300 caractères au plus ; par défaut l'appelant), conversation_id (300 caractères au plus ; par défaut l'utilisateur) et metadata (conservées avec le message). Les octets bruts servent au contrôle de signature. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Envoyer un message entrant ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ChannelsClient.inbound
JsonNode inbound(String name, Object body, RequestOptions options)
Envoyer un message entrant. Remet un message d'un utilisateur final (202) et renvoie session_id, session_created, message_id, run_id (ou run_skipped quand l'agent n'est pas actif) et le résultat DLP. Demande tenant_admin, developer ou agent. Étapes : 1. Le canal doit être actif (409 channel_disabled) ; un canal signed_webhook vérifie X-EAI-Signature (t=<secondes unix>,v1=<HMAC-SHA256 hexadécimal de "<t>." + corps brut>, fenêtre de 5 minutes ; 401 invalid_signature). 2. La politique channel.inbound est évaluée ; la taille (413 message_too_large) et le débit par utilisateur (429 rate_limited) sont contrôlés. 3. La DLP entrante s'exécute (detect par défaut ; block répond 403 dlp_blocked, mask enregistre le texte masqué). 4. La session ouverte de l'utilisateur et de la conversation est réutilisée, ou une nouvelle est ouverte (429 too_many_sessions, 409 session_closed au-delà de max_session_minutes). 5. Le message est ajouté et un run de l'agent du canal démarre avec le déclencheur channel.
Route : /v1/channels/{name}/inbound (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | String | oui | Nom du canal. | |
body | Object | oui | Message JSON : text (1 à 1000000 caractères, obligatoire), user (identifiant externe de l'utilisateur, 300 caractères au plus ; par défaut l'appelant), conversation_id (300 caractères au plus ; par défaut l'utilisateur) et metadata (conservées avec le message). Les octets bruts servent au contrôle de signature. | |
options | RequestOptions | oui | Options de l'appel (clé d'idempotence, traceparent, en-têtes, signal d'annulation). |
Retour : JsonNode. Réponse JSON décodée de l'opération « Envoyer un message entrant ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ChannelsClient.list
Page<JsonNode> list()
Lister les canaux. Canaux du tenant dans l'ordre des noms ; project (identifiant ou slug) ne garde que les canaux de ce projet (404 project_not_found). Une seule page.
Route : /v1/channels (GET).
Cet élément ne prend aucun paramètre.
Retour : Page<JsonNode>. Réponse JSON décodée de l'opération « Lister les canaux ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ChannelsClient.listByProject
Page<JsonNode> listByProject(String project)
Lister les canaux. Canaux du tenant dans l'ordre des noms ; project (identifiant ou slug) ne garde que les canaux de ce projet (404 project_not_found). Une seule page.
Route : /v1/channels (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
project | String | oui | Identifiant (UUID) ou slug du projet dont les canaux sont listés. |
Retour : Page<JsonNode>. Réponse JSON décodée de l'opération « Lister les canaux ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ChannelsClient.sessions
Page<JsonNode> sessions(String name)
Lister les sessions d'un canal. Sessions ouvertes sur le canal, de la plus récemment mise à jour à la plus ancienne, 500 au plus.
Route : /v1/channels/{name}/sessions (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | String | oui | Nom du canal. |
Retour : Page<JsonNode>. Réponse JSON décodée de l'opération « Lister les sessions d'un canal ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ChannelsClient.update
JsonNode update(String name, Object body)
Modifier un canal. Modifie le statut (active ou disabled ; un canal désactivé refuse les messages entrants) ou le propriétaire. Demande tenant_admin, developer ou application_owner. Audité sous channel.update.
Route : /v1/channels/{name} (PATCH).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | String | oui | Nom du canal. | |
body | Object | oui | Champs à modifier ; ceux omis sont conservés. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Modifier un canal ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ChannelsClient.update
JsonNode update(String name, Object body, RequestOptions options)
Modifier un canal. Modifie le statut (active ou disabled ; un canal désactivé refuse les messages entrants) ou le propriétaire. Demande tenant_admin, developer ou application_owner. Audité sous channel.update.
Route : /v1/channels/{name} (PATCH).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | String | oui | Nom du canal. | |
body | Object | oui | Champs à modifier ; ceux omis sont conservés. | |
options | RequestOptions | oui | Options de l'appel (clé d'idempotence, traceparent, en-têtes, signal d'annulation). |
Retour : JsonNode. Réponse JSON décodée de l'opération « Modifier un canal ».
Erreurs levées : les erreurs typées du transport (Erreurs).