API REST del backend de AI-Kit para la IA de WordPress

El backend de AWS de AI‑Kit expone endpoints equivalentes a la «IA integrada de Chrome» bajo /admin/* y /frontend/*, además de funciones auxiliares para listar bases de conocimientos y realizar cargas con URL prefirmadas.

Los detalles de implementación, las descripciones de los parámetros y las notas de configuración se encuentran en el archivo readme público de Serverless Application Repository: wpsuite-ai-kit en AWS SAR.


Autenticación

La autenticación está controlada por completo por los parámetros de SAR que elija al implementar la aplicación (consulta el README público enlazado anteriormente):

  • AdminApiAuthMode
  • FrontendApiAuthMode

Cada uno se puede establecer en NONE, IAM o COGNITO. El valor elegido determina cómo deben autenticarse las solicitudes a los endpoints /admin/* o /frontend/*. Si elige NONE, lo habitual es combinarlo con reCAPTCHA o WAF (cortafuegos) mediante la configuración de SAR.

Los endpoints del frontend también pueden requerir una cabecera X-Recaptcha-Token si está activada la protección con reCAPTCHA.


Cómo usa el plugin de WordPress el backend

  • Los bloques, el chatbot y las API de JavaScript de AI-Kit llaman automáticamente al backend según los ajustes configurados en la pantalla de administración Ajustes de AI-Kit.
  • Cuando reCAPTCHA está activado para el tráfico del frontend, el plugin solicita tokens en el cliente para que las peticiones incluyan la cabecera X-Recaptcha-Token esperada.
  • Si integra Gatey como transporte y configure un apiName coincidente en Ajustes de Gatey → Ajustes de API, las implementaciones protegidas con IAM o Cognito pueden intercambiar y renovar tokens sin interrupciones después de que el usuario inicie sesión en WordPress mediante Gatey.
  • Sin la integración con Gatey, puede seguir llamando al backend directamente desde su propio código (por ejemplo, con fetch) contra el endpoint público, usando el modo de autenticación configurado o controles de red como cortafuegos y listas de permitidos.
  • Use este documento cuando quiera crear flujos personalizados o herramientas externas sobre el backend implementado en lugar de usar las funciones integradas del plugin.

Endpoints

Los endpoints se dividen entre los prefijos de administración (escritorio de WordPress) y frontend (interfaz pública). Ambos conjuntos aceptan application/json, salvo que se indique lo contrario.

Endpoints de administración (/admin/*)

RutaMétodoFinalidad
/admin/knowledge-basesGETEnumerar las bases de conocimientos de Bedrock disponibles para la integración RAG
/admin/promptPOSTAPI general para instrucciones con funcionalidad equivalente (usada en flujos SEO)
/admin/generate-upload-urlGETURL de carga prefirmadas de S3 para instrucciones multimodales
/admin/summarizePOSTAlternativa del backend para el generador de resúmenes
/admin/writePOSTAlternativa del backend para el redactor (KB activada de forma predeterminada)
/admin/rewritePOSTAlternativa del backend para la reescritura
/admin/translatePOSTAlternativa del backend para la traducción
/admin/proofreadPOSTAlternativa del backend para la corrección
/admin/detect-languagePOSTAlternativa del backend para la detección de idioma

Endpoints del frontend (/frontend/*)

Estos están sujetos a los parámetros de funcionalidad de SAR (EnableSummarizerBackend, EnableChatbotBackend, EnableLanguageAIBackend). Cuando se activan, reflejan las rutas de administración y pueden requerir X-Recaptcha-Token.

RutaMétodoNotas
/frontend/promptPOSTLo usan sendChatMessage y sendFeedbackMessage del chatbot
/frontend/generate-upload-urlGETCargas prefirmadas para el chatbot público
/frontend/summarizePOSTMisma carga útil que el generador de resúmenes de administración
/frontend/writePOSTMisma carga útil que el redactor de administración
/frontend/rewritePOSTMisma carga útil que el reescritor de administración
/frontend/translatePOSTMisma carga útil que el traductor de administración
/frontend/proofreadPOSTMisma carga útil que el corrector de administración
/frontend/detect-languagePOSTMisma carga útil que el detector de idioma de administración

Ejemplos de cargas útiles

// /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"]
}

Respuestas de error

Los errores devuelven una estructura ErrorResponse (código de estado, mensaje y detalles opcionales). Entre las causas habituales se encuentran:

  • una carga útil demasiado grande (cargas de imágenes o instrucciones extensas)
  • valores de enumeración no válidos (por ejemplo, la ausencia de sourceLanguage para el traductor)
  • credenciales ausentes o rechazo por parte de IAM, Cognito, WAF o reCAPTCHA