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) :

  • AdminApiAuthMode
  • FrontendApiAuthMode

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 apiName correspondant 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/*)

CheminMéthodeObjectif
/admin/knowledge-basesGETLister les bases de connaissances Bedrock disponibles pour l'intégration RAG
/admin/promptPOSTParité générale de l'API prompt (utilisée par les flux SEO)
/admin/generate-upload-urlGETURLs de téléversement S3 pré-signées pour les prompts multimodaux
/admin/summarizePOSTRepli backend du résumeur
/admin/writePOSTRepli backend du rédacteur (KB activée par défaut)
/admin/rewritePOSTRepli backend du réécrivain
/admin/translatePOSTRepli backend du traducteur
/admin/proofreadPOSTRepli backend du correcteur
/admin/detect-languagePOSTRepli 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.

CheminMéthodeNotes
/frontend/promptPOSTUtilisé par sendChatMessage et sendFeedbackMessage du chatbot
/frontend/generate-upload-urlGETTéléversements pré-signés pour le chatbot public
/frontend/summarizePOSTMême charge utile que le résumeur admin
/frontend/writePOSTMême charge utile que le rédacteur admin
/frontend/rewritePOSTMême charge utile que le réécrivain admin
/frontend/translatePOSTMême charge utile que le traducteur admin
/frontend/proofreadPOSTMême charge utile que le correcteur admin
/frontend/detect-languagePOSTMê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 sourceLanguage manquant pour le traducteur)
  • identifiants manquants / rejet par IAM, Cognito, WAF ou reCAPTCHA