Aller au contenu principal

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.

remarque

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.

NomTypeDéfautRequisDescription
transportTransportouiTransport 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).

NomTypeDéfautRequisDescription
bodyObjectouiManifeste 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).

NomTypeDéfautRequisDescription
bodyObjectouiManifeste Channel (kind: Channel, metadata, spec avec type, agent, auth, limites, DLP et sessions).
optionsRequestOptionsouiOptions 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).

NomTypeDéfautRequisDescription
nameStringouiNom 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).

NomTypeDéfautRequisDescription
nameStringouiNom 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).

NomTypeDéfautRequisDescription
nameStringouiNom du canal.
bodyObjectouiMessage 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).

NomTypeDéfautRequisDescription
nameStringouiNom du canal.
bodyObjectouiMessage 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.
optionsRequestOptionsouiOptions 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).

NomTypeDéfautRequisDescription
projectStringouiIdentifiant (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).

NomTypeDéfautRequisDescription
nameStringouiNom 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).

NomTypeDéfautRequisDescription
nameStringouiNom du canal.
bodyObjectouiChamps à 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).

NomTypeDéfautRequisDescription
nameStringouiNom du canal.
bodyObjectouiChamps à modifier ; ceux omis sont conservés.
optionsRequestOptionsouiOptions 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).