Objectif : appeler une feature IA (ex. rédiger la description d'un ticket) et récupérer le résultat. Le pipeline est asynchrone : on lance, puis on récupère.
Prérequis : module IA disponible (Business+, hors essai) ; un JWT membre.
1. Lancer l'inférence¶
IA=https://ia.api.puwapi.com
curl -X POST $IA/api/ai/infer \
-H "Authorization: Bearer $JWT" -H "Content-Type: application/json" \
-d '{
"featureKey": "ticket_description",
"variables": { "titre": "Le login échoue sur mobile", "contexte": "iOS Safari, depuis hier" }
}'
Réponse 202 :
{ "requestId": "…", "estimatedMs": 3000, "convexChannel": "…" }
La requête est mise en file ; rien n'est bloquant.
2. Récupérer le résultat (polling)¶
curl $IA/api/ai/requests/$REQUEST_ID -H "Authorization: Bearer $JWT"
Interrogez toutes ~1,5 s jusqu'à status = succeeded (ou failed). Le corps contient alors
le resultContent.
Alternative : s'abonner au canal Convex renvoyé, et lire le résultat par REST à la réception du signal (voir S'abonner au temps réel).
3. Donner un retour¶
curl -X POST $IA/api/ai/requests/$REQUEST_ID/feedback \
-H "Authorization: Bearer $JWT" -H "Content-Type: application/json" \
-d '{"rating":"up"}'
Quotas & confidentialité¶
- Un quota mensuel par organisation s'applique (requêtes + tokens). Consultez-le :
GET /api/ai/usage?month=YYYY-MM. Au-delà, les inférences sont refusées. - Les features sensibles (
mail_*,chat_*) ne persistent pas leur résultat : il est servi une seule fois. Lesvariablesne sont jamais stockées. - Les features livrées couvrent Work, Docs (
doc_summary), Slides (slides_outline), Knowledge (rag_qa), Mail, CRM, Fidélité, RDV… (voir Référence API — IA).
Depuis un serveur (sans utilisateur)¶
Utilisez la surface interne POST /api/ai/internal/infer avec X-Internal-Secret et le
tenantId dans le corps (réservé aux services de la plateforme, ex. VR).