Développeurs

Tutoriels d'intégration

Lancer une inférence IA

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. Les variables ne 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).

#tutorial #ia