Skip to main content
Esta API implementa el contrato estándar de tareas asíncronas. En los endpoints que admite, los esquemas de solicitud y respuesta no cambian, así que un cliente que funciona no suele necesitar cambios de código.

La migración

Apunta tu constante de clave de API a una clave de querying.ai. Tu URL de webhook, claves de idempotencia, tipos de tarea y parseo de respuestas se quedan como están.

Qué está implementado

Admitido

POST /v1/async/taskPOST /v1/async/task/batchGET /v1/async/task/{id}Callbacks de webhook

No implementado

Endpoints síncronos /v1/monitor/*/v1/async/status
La familia síncrona /v1/monitor/* falta a propósito. Todos los motores funcionan de forma asíncrona; una solicitud que se bloquea durante lo que puede tardar una consulta no es algo que ofrezca este servicio.

Dónde difiere el comportamiento

No hay límite de tasa por clave. Para grandes volúmenes, usa el envío en lote y reduce los viajes de ida y vuelta.Consulta Regiones y buenas prácticas.
credits aparece en cada respuesta como parte del sobre. Las respuestas de envío y sondeo informan { "creditsToCharge": 0, "creditsCharged": 0 }; los webhooks informan el coste en créditos del motor (1–3 créditos según el motor).Las tareas fallidas no se cobran. Los saldos de créditos se ven en el panel.
Una combinación no se puede servir en absoluto: CHATGPT/PERPLEXITY/GEMINI hacia CN, donde no hay suministro de salida y la solicitud nunca llega al destino. Falla de inmediato con 422 REGION_UNSUPPORTED en lugar de aceptarse. 422 REGION_UNAVAILABLE cubre la versión transitoria de lo mismo.Un cliente que asume que todo envío bien formado se acepta necesita una rama aquí. Consulta Regiones.
Los flags payload.include se aceptan, pero la mayoría de los motores devuelven una respuesta de forma fija y los ignoran. Solo ChatGPT respeta el conjunto completo; GEMINI respeta solo markdown y rawResponse.Pedir html a Gemini, por ejemplo, se ignora en silencio: sin error y sin campo. Consulta la tabla de flags admitidos.
Por lo demás, el manejo de errores es convencional: los fallos de validación devuelven 400, 401 informa MISSING_API_KEY, 404 informa RESOURCE_NOT_FOUND y details nombra el campo problemático.La única novedad es el par 422 (REGION_UNSUPPORTED, REGION_UNAVAILABLE) descrito arriba. Te avisamos de antemano cuando una región no se puede servir, así que un cliente que nunca ha manejado un 422 empezará a verlos.
GET /v1/async/task/{id} sobre una tarea FAILED devuelve un campo error de nivel superior que el esquema de estado de tarea no define, y es una cadena simple, no el objeto {code, message, timestamp} de los errores de solicitud.
Un cliente que interprete un body.error verdadero como una solicitud fallida malinterpretará una tarea fallida que se recuperó correctamente. Ramifica por task.status.
Estos comportamientos se establecieron llamando a esta API, no leyendo un esquema. Si alguna vez una especificación publicada y una respuesta real no coinciden, estas páginas documentan la respuesta real.

Elegir el taskType correcto

Si tu integración actual usa un endpoint por motor, el nombre del motor se corresponde con un taskType:
Que GOOGLE signifique «AI Overview» es una convención de nombres, no un nombre de producto de Google. La respuesta es un sobre SERP con aioverview como miembro anulable; consulta la forma de GOOGLE.

Verificar el cambio

Ejecuta en paralelo tu integración actual y esta durante un tiempo, y compara los campos que realmente consumes, en la práctica response.text, response.sources[] y response.markdown. Una comparación en sombra detecta diferencias de forma que un chequeo de esquema no ve, como una lista de fuentes rellenada pero ordenada de otra manera.