|
Documentación
Reservar una demoPlataforma
PlataformaMCPCLIAPI
Flujos de trabajo
GuíasRegistro de cambios

Bienvenida

  • Descripción general
  • Autenticación
  • Errores y códigos de estado
  • Firmas de webhook

Localización

  • Descripción general
  • Crear trabajos
  • Bloquear claves no traducibles
  • Hacer seguimiento de un grupo de trabajos
  • Obtener un trabajo
  • Listar trabajos
  • Entrega del webhook
  • Progreso en tiempo real (WebSocket)

Pipeline

  • Descripción general
  • Edición con IA previa a la localización
  • Revisión humana
  • evaluación de IA (posedición)
  • Reescritura para que suene natural
  • Comprobación de retrotraducción
  • Configurar la canalización
  • Supervisar ejecuciones del pipeline

Aprovisionamiento

  • Descripción general
  • Crear un trabajo de aprovisionamiento
  • Tipos de fuente
  • Qué extrae la IA
  • Entrega de webhooks
  • Progreso en tiempo real (WebSocket)

Síncrono

  • Localize
  • Recognize

Gestión del motor

  • Sugerencias del motor

API de sugerencias del motor

Los comentarios sobre tus traducciones rara vez llegan con un clic en un panel. Suelen aparecer como una línea en tu herramienta de soporte, una nota de una persona revisora o una fila en tu cola de control de calidad: "deja de traducir el nombre del producto", "usa el registro formal en alemán". La API de sugerencias del motor convierte ese texto libre en cambios en el motor desde código: envías el comentario como texto, la plataforma razona sobre él y te devuelve ediciones concretas y estructuradas para el glosario, las instrucciones o la voz de marca de tu motor, listas para aplicar.

Esta es la contraparte programática de la funcionalidad del panel. Allí, las sugerencias se generan automáticamente cuando tus evaluadores de IA dan una puntuación baja a una traducción; aquí, la señal la aportas tú en forma de texto. En ambos casos, el resultado es el mismo: sugerencias pendientes para que las revises y las apliques.

El flujo se divide en dos partes. La generación es asíncrona: envías feedback y la plataforma razona sobre ello en segundo plano, dejando sugerencias pendientes en el motor. La revisión es síncrona: consultas las sugerencias pendientes, lees lo que propone cada una y aplicas o descartas una por una. Esta página cubre ambas. Para la experiencia en el panel —generación automática a partir de puntuaciones bajas de revisión, la pestaña Suggestions y las notificaciones— consulta Engine Suggestions.

Un endpoint de configuración, no de traducción

Estos endpoints leen y modifican la configuración de un motor: su glosario, sus instrucciones y su voz de marca. Están limitados a un único motor mediante su :id y se autentican con la misma X-API-Key con alcance de organización que el resto de la API. Nunca traducen contenido ni alteran traducciones anteriores; una sugerencia aplicada surte efecto en la siguiente traducción del motor.

Autenticación

Pasa tu clave de API en la cabecera X-API-Key. Las claves tienen alcance de organización y dan acceso a todos los motores de la organización. Consulta Authentication para más información y Errors and status codes para ver el modelo de errores que comparten todos los endpoints de esta página.

Generar a partir de feedback#

text
POST /engines/:id/suggestions/from-text

Envía una descripción en texto plano de lo que el motor está haciendo mal. La plataforma razona sobre ese texto junto con la configuración actual del motor y propone ediciones atómicas; no volverá a proponer algo que el motor ya tenga. La generación se ejecuta de forma asíncrona, así que la llamada devuelve en cuanto se acepta el trabajo, no cuando las sugerencias ya están listas.

ParámetroTipoDescripción
id (ruta)stringEl motor para el que se generan las sugerencias.
textstringFeedback en texto libre sobre la salida del motor. De 1 a 10.000 caracteres; debe contener al menos un carácter que no sea un espacio en blanco.
javascript
const response = await fetch(
  `https://api.lingo.dev/engines/${engineId}/suggestions/from-text`,
  {
    method: "POST",
    headers: {
      "X-API-Key": process.env.LINGO_API_KEY,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      text: "Our German (de-DE) translations keep using the informal 'du'. For our B2B audience they must always use the formal 'Sie'.",
    }),
  },
);

const { enqueued } = await response.json();
console.log(enqueued); // true – generation accepted, running in the background
json
{ "enqueued": true }

enqueued: true significa que la plataforma ha aceptado el trabajo, no que ya existan sugerencias. La generación es un paso en segundo plano: lee tu texto, razona sobre la configuración, elimina duplicados respecto a lo que ya existe y guarda todo lo que proponga. Es perfectamente posible que una ejecución no proponga nada (porque el feedback era impreciso o porque el motor ya lo cubre). Consulta los resultados enumerando las sugerencias del motor unos instantes después.

El feedback vacío se rechaza

text debe contener un mensaje real. Una cadena vacía, o solo espacios en blanco, se rechaza con un 400; no se convierte silenciosamente en otro tipo de solicitud. Envía algo sobre lo que el modelo realmente pueda razonar.

Generar a partir de puntuaciones de revisión

El mismo disparador por puntuación baja que impulsa el panel también está disponible desde código: POST /engines/:id/suggestions/generate (cuerpo vacío) pide a la plataforma que proponga ediciones a partir de las evaluaciones de IA recientes con baja puntuación del motor, en lugar de hacerlo a partir de texto. Misma respuesta { "enqueued": true }, mismas sugerencias pendientes como resultado. Recurre a from-text cuando tengas feedback escrito específico; recurre a generate para extraer sugerencias de lo que tus personas revisoras ya hayan señalado.

Enumerar las sugerencias pendientes#

text
GET /engines/:id/suggestions

Devuelve las sugerencias del motor: el resultado de cualquier ejecución de generación, ya se haya activado desde texto, desde el botón manual o automáticamente a partir de puntuaciones bajas de revisión. Cada entrada es una edición propuesta con su razonamiento asociado.

json
[
  {
    "id": "egs_A1b2C3d4E5f6G7h8",
    "ownerOrganizationId": "org_X1y2Z3a4B5c6D7e8",
    "ownerEngineId": "eng_X1y2Z3a4B5c6D7e8",
    "actionType": "add_instruction",
    "targetKind": "instruction",
    "targetId": null,
    "targetLocale": "de-DE",
    "payload": { "instruction": "Use the formal 'Sie' form in all German translations; never use the informal 'du'." },
    "reasoning": "Feedback states the B2B audience requires formal address, but the engine has no instruction enforcing it.",
    "sourceReviewLogIds": [],
    "status": "pending",
    "appliedTargetId": null,
    "createdAt": "2026-06-18T10:30:00.000Z"
  }
]
CampoDescripción
idIdentificador de sugerencia con prefijo egs_. Pásalo a apply o dismiss.
actionTypeUno de add_glossary_item, update_glossary_item, add_instruction, update_instruction, add_brand_voice, update_brand_voice.
targetKindLa parte del motor a la que afecta la edición: glossary_item, instruction o brand_voice.
targetIdPara una acción update_*, el id de la entrada que debe cambiarse (gli_ / ins_ / bvc_). null para una acción add_*.
targetLocaleEl idioma al que se aplica la sugerencia.
payloadLa edición lista para aplicar. Sus campos dependen de targetKind: es exactamente lo que necesita la operación de creación o actualización, por eso aplicar no requiere ninguna entrada adicional por tu parte.
reasoningUna breve explicación de por qué se propone esta edición.
sourceReviewLogIdsLos registros de revisión cuyos fallos motivaron la sugerencia (ids de esrl_); vacío cuando la sugerencia procedía del texto de feedback.
statuspending, applied o dismissed.
appliedTargetIdLa entrada creada o actualizada una vez aplicada la sugerencia; null mientras siga pendiente.

El payload es el detalle que hace que aplicar sea tan sencillo: el cambio propuesto queda totalmente estructurado en el momento de la generación, así que aplicarlo es una simple escritura, no otra ronda de IA. Tú decides; la plataforma no vuelve a razonar.

Aplicar una sugerencia#

text
POST /engine-suggestions/:id/apply

Escribe el cambio propuesto en el motor y marca la sugerencia como applied. Se trata de una escritura determinista de payload que ya viste en la lista: no hay una segunda llamada a la IA, así que lo que revisaste es exactamente lo que se escribe. Una sugerencia add_* crea un nuevo elemento de glosario, una instrucción o una voz de marca; una sugerencia update_* modifica la entrada existente indicada por targetId.

javascript
const response = await fetch(
  `https://api.lingo.dev/engine-suggestions/${suggestionId}/apply`,
  {
    method: "POST",
    headers: { "X-API-Key": process.env.LINGO_API_KEY },
  },
);

const applied = await response.json();
console.log(applied.status);          // "applied"
console.log(applied.appliedTargetId); // "ins_…" – the instruction it just created

La respuesta es la sugerencia en su estado applied, con appliedTargetId apuntando ahora a la entrada real del motor que creó o actualizó. A partir de ese momento, esa entrada es un elemento normal del glosario, una instrucción o una voz de marca: puedes abrirla, editarla o eliminarla como cualquier otra.

Aplicar cambia la configuración, no las traducciones anteriores

Aplicar edita la configuración del motor. El contenido ya traducido conserva su salida actual; el cambio aparecerá la próxima vez que el motor traduzca. Aplicar no vuelve a localizar nada por sí solo.

Descartar una sugerencia#

text
POST /engine-suggestions/:id/dismiss

Descarta una sugerencia que no quieres, la marca como dismissed y deja el motor intacto. Úsalo cuando una propuesta no encaje con tu producto: el motor no cambia y la sugerencia deja de mostrarse como pendiente.

javascript
await fetch(
  `https://api.lingo.dev/engine-suggestions/${suggestionId}/dismiss`,
  {
    method: "POST",
    headers: { "X-API-Key": process.env.LINGO_API_KEY },
  },
);
// The suggestion is now "dismissed"; nothing was written to the engine.

El ciclo completo, de principio a fin#

Los cuatro endpoints forman un ciclo que puedes controlar íntegramente desde código: envía feedback, revisa lo que se ha propuesto y confirma las ediciones con las que estés de acuerdo.

1

Generar

POST …/suggestions/from-text con tu feedback por escrito (o …/suggestions/generate para extraer sugerencias a partir de puntuaciones bajas de revisión). Obtienes { "enqueued": true } de inmediato.

2

Enumerar

GET /engines/:id/suggestions un momento después para consultar las sugerencias pendientes, cada una con su payload y reasoning.

3

Aplicar o descartar

POST /engine-suggestions/:id/apply para confirmar la edición, o …/dismiss para descartarla. Al aplicarla, surtirá efecto en la siguiente traducción del motor.

Siguientes pasos#

Engine Suggestions (funcionalidad)
La vista del panel, la generación automática a partir de puntuaciones bajas de revisión y las notificaciones.
AI Reviewers
Puntúa traducciones según tu configuración: la señal que usa el disparador automático de sugerencias.
Glosarios
Las reglas de traducción obligatoria y de no traducibilidad que escribe una sugerencia de glosario.
Instructions
Las reglas por idioma que una sugerencia de instrucción crea o actualiza.

¿Te ha resultado útil esta página?

Max PrilutskiyMax Prilutskiy·Actualizado hace 11 días·7 min de lectura