enterprise_ai.channels
Source : sdks/python/src/enterprise_ai/channels/__init__.py. Retour à l'index de la référence du SDK Python.
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.
Resource
ChannelsClient.create
create(manifest: dict[str, Any], project: str | None = None) -> Any
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 |
|---|---|---|---|---|
manifest | dict[str, Any] | oui | Channel Manifest du nouveau canal, envoyé comme corps de la requête. | |
project | str | None | None | non | Identifiant (UUID) ou slug du projet auquel appartient le canal. Par défaut : l'en-tête X-Project. |
Retour : Any. 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
delete(name: str) -> Any
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 | str | oui | Nom du canal. |
Retour : Any. Réponse JSON décodée de l'opération « Supprimer un canal ».
Erreurs levées : les erreurs typées du transport (Erreurs).
ChannelsClient.get
get(name: str) -> Any
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 | str | oui | Nom du canal. |
Retour : Any. 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
inbound(name: str, text: str, user: str | None = None, conversation_id: str | None = None, **extra: Any) -> Any
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 | str | oui | Nom du canal. | |
text | str | oui | Texte du message entrant transmis à l'agent. | |
user | str | None | None | non | Identifiant de l'expéditeur sur le canal, facultatif. |
conversation_id | str | None | None | non | Conversation à laquelle appartient le message (200 caractères au plus). Une nouvelle est générée si omise. |
**extra | Any | non | Champs supplémentaires fusionnés dans le corps de la requête. |
Retour : Any. 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
list(project: str | None = None, **page: Any) -> Any
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 | str | None | None | non | Identifiant (UUID) ou slug du projet dont les canaux sont listés. |
**page | Any | non | Options de pagination transmises à la liste : limit (nombre maximal d'éléments par page) et cursor (le next_cursor de la page précédente). Itérer sur la page renvoyée suit tous les curseurs. |
Retour : Any. 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
sessions(name: str, **page: Any) -> Any
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 | str | oui | Nom du canal. | |
**page | Any | non | Options de pagination transmises à la liste : limit (nombre maximal d'éléments par page) et cursor (le next_cursor de la page précédente). Itérer sur la page renvoyée suit tous les curseurs. |
Retour : Any. 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
update(name: str, **changes: Any) -> Any
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 | str | oui | Nom du canal. | |
**changes | Any | non | Champs du canal à modifier, envoyés comme corps du PATCH. |
Retour : Any. Réponse JSON décodée de l'opération « Modifier un canal ».
Erreurs levées : les erreurs typées du transport (Erreurs).