API REST backend d'AI-Kit pour l'IA WordPress
Le backend AWS d'AI-Kit expose des points de terminaison de parité avec l'IA intégrée de Chrome sous /admin/* et /frontend/*, ainsi que des aides pour les listes de base de connaissances et les téléversements pré-signés.
Les détails de déploiement, les descriptions de paramètres et les notes d'installation se trouvent dans le README public du Serverless Application Repository : wpsuite-ai-kit sur AWS SAR.
Authentification
L'authentification est entièrement contrôlée par les paramètres SAR que vous choisissez lors du déploiement de l'application (voir le README public lié ci-dessus) :
AdminApiAuthModeFrontendApiAuthMode
Chacun peut être défini sur NONE, IAM ou COGNITO. La valeur choisie détermine la façon dont les requêtes vers les points de terminaison /admin/* ou /frontend/* doivent être authentifiées. Lorsque la valeur est NONE, vous la combinez généralement avec reCAPTCHA ou WAF (pare-feu) via la configuration SAR.
Les points de terminaison front-end peuvent également exiger un en-tête X-Recaptcha-Token si la protection reCAPTCHA est activée.
Comment le plugin WordPress utilise le backend
- Les blocs AI-Kit, le chatbot et les API JavaScript appellent automatiquement le backend selon les paramètres que vous configurez dans l'écran d'administration AI-Kit Settings.
- Lorsque reCAPTCHA est activé pour le trafic front-end, le plugin demande les jetons côté client afin que les requêtes incluent l'en-tête attendu
X-Recaptcha-Token. - Si vous intégrez Gatey comme transport et configurez un
apiNamecorrespondant dans Gatey Settings → API Settings, les déploiements protégés par IAM/Cognito peuvent échanger et renouveler les jetons sans friction après la connexion de l'utilisateur à WordPress via Gatey. - Sans le câblage Gatey, vous pouvez toujours appeler le backend directement depuis votre propre code (par exemple avec
fetch) vers le point de terminaison public, en utilisant le mode d'authentification que vous avez configuré, ou en optant pour des contrôles au niveau du réseau comme des pare-feu ou des listes d'autorisation. - Utilisez ce document lorsque vous souhaitez construire des flux personnalisés ou des outils externes au-dessus du backend déployé plutôt que les fonctionnalités natives du plugin.
Points de terminaison
Les points de terminaison sont répartis entre les préfixes admin (tableau de bord WordPress) et frontend (interface publique). Les deux ensembles acceptent application/json sauf indication contraire.
Points de terminaison admin (/admin/*)
| Chemin | Méthode | Objectif |
|---|---|---|
/admin/knowledge-bases | GET | Lister les bases de connaissances Bedrock disponibles pour l'intégration RAG |
/admin/prompt | POST | Parité générale de l'API prompt (utilisée par les flux SEO) |
/admin/generate-upload-url | GET | URLs de téléversement S3 pré-signées pour les prompts multimodaux |
/admin/summarize | POST | Repli backend du résumeur |
/admin/write | POST | Repli backend du rédacteur (KB activée par défaut) |
/admin/rewrite | POST | Repli backend du réécrivain |
/admin/translate | POST | Repli backend du traducteur |
/admin/proofread | POST | Repli backend du correcteur |
/admin/detect-language | POST | Repli backend du détecteur de langue |
Points de terminaison front-end (/frontend/*)
Ces points de terminaison sont conditionnés par des paramètres SAR (EnableSummarizerBackend, EnableChatbotBackend, EnableLanguageAIBackend). Lorsqu'ils sont activés, ils reflètent les routes admin et peuvent exiger X-Recaptcha-Token.
| Chemin | Méthode | Notes |
|---|---|---|
/frontend/prompt | POST | Utilisé par sendChatMessage et sendFeedbackMessage du chatbot |
/frontend/generate-upload-url | GET | Téléversements pré-signés pour le chatbot public |
/frontend/summarize | POST | Même charge utile que le résumeur admin |
/frontend/write | POST | Même charge utile que le rédacteur admin |
/frontend/rewrite | POST | Même charge utile que le réécrivain admin |
/frontend/translate | POST | Même charge utile que le traducteur admin |
/frontend/proofread | POST | Même charge utile que le correcteur admin |
/frontend/detect-language | POST | Même charge utile que le détecteur de langue admin |
Exemples de charge utile
// /admin/prompt (or /frontend/prompt)
{
"messages": [
{ "role": "system", "content": "You are a helpful assistant." },
{ "role": "user", "content": "Extract a title and 5 bullet points from the text below..." }
],
"saveChatSession": false
}
// /admin/write
{
"text": "Write a short product description...",
"tone": "professional",
"format": "markdown",
"length": "short",
"outputLanguage": "en"
}
// /admin/translate (source language required)
{
"text": "Hello world",
"sourceLanguage": "en",
"targetLanguage": "hu"
}
// /admin/language-detector
{
"text": "Szia! Hogy vagy?"
}
// /admin/proofread
{
"text": "I has a apple.",
"expectedInputLanguages": ["en"]
}
Réponses d'erreur
Les erreurs renvoient une structure ErrorResponse (code d'état, message et détails facultatifs). Causes fréquentes :
- charge utile trop volumineuse (téléversements d'images, prompts volumineux)
- valeurs d'énumération invalides (par exemple
sourceLanguagemanquant pour le traducteur) - identifiants manquants / rejet par IAM, Cognito, WAF ou reCAPTCHA
