Saltar al contenido principal
CHATGPT pregunta a ChatGPT con la búsqueda web activada y devuelve la respuesta, todas las fuentes que encontró, las búsquedas que ejecutó y las tarjetas de productos y lugares que dibujó.

Solicitud

Respuesta

Por ejemplo, una respuesta recortada:
Cada fuente incluye searchQueries (las búsquedas cuyos resultados la incluyeron), cited (si la respuesta la cita en el texto) y citedText (el texto de la respuesta que respalda cada cita). Las fuentes que no devolvió ninguna búsqueda, como los productos, no llevan searchQueries.

Disposición en tarjetas

layout aparece cuando ChatGPT dibuja la respuesta como tarjetas. Sus nodes siguen el orden en que ChatGPT los muestra:

Flags include

CHATGPT respeta todos los flags de respuesta. Todos están activados por defecto salvo rawResponse y html; envía false para desactivar uno.

Detalles de tarjetas

Con include.entityDetails, cada tarjeta de la respuesta (un producto, lugar, app o marca) llega con el panel de detalle que ChatGPT abre cuando el lector hace clic en ella: descripción, especificaciones, reseñas y las páginas que las respaldan. Los paneles citan sus propias páginas, así que muestran fuentes que el texto de la respuesta no incluye. error es ENTITY_DETAIL_FAILED si falla la solicitud del panel, ENTITY_DETAIL_EMPTY si el panel no contiene texto y ENTITY_DETAIL_UNAVAILABLE si faltan los datos de la conversación o las credenciales del turno necesarios para abrirlo. Los detalles también funcionan con payload.location, CN, HK, respuestas de la vía alternativa e include.html. Un panel que ChatGPT ya escribió antes llega en un segundo aproximadamente; uno que escribe al pedirlo tarda de 10 a 30 segundos, con hasta 4 paneles a la vez. Se abren hasta 20 tarjetas por respuesta. Los paneles no suman créditos, y cada respuesta de seguimiento recibe sus propios paneles.

Preguntas de seguimiento

payload.followUps hace hasta 4 preguntas más en la misma conversación después de la primera respuesta, en orden. Cada elemento es uno de estos:
  • { "prompt": "..." }: una pregunta propia.
  • { "select": { "button": 0, "choices": { "budget": "Under $100" } } }: pulsa el botón de un formulario de seguimiento de la respuesta anterior.
button cuenta los botones de la respuesta desde 0 y por defecto es el primero. choices elige opciones por el name de cada nodo choice, o como un array en el orden del formulario; cada elección es el value o el label de una opción, o su posición desde 0. Lo que no elijas conserva la opción que ChatGPT dejó seleccionada, así que { "select": {} } envía el prompt propio del botón.
Los campos de nivel superior siguen siendo la primera respuesta. followUps en la respuesta lista cada respuesta adicional con la pregunta que se envió (prompt), lo que pulsó un select (selection: el label del botón y el valor de cada elección) y los mismos campos que la primera respuesta. Cuando no se puede pulsar un select, las preguntas de seguimiento restantes no se hacen y followUpsStopped indica el index de esa pregunta, un code y un message: La tarea se completa igualmente con las respuestas obtenidas. Cada respuesta cuesta 1 crédito: la tarea reserva créditos para cada pregunta de seguimiento y solo cobra las respuestas que devuelve. include.analysis, include.citationAnalysis e include.html se aplican a la primera respuesta. Los demás motores rechazan followUps con 400 VALIDATION_ERROR.

Continuar una conversación más tarde

Para leer una respuesta antes de elegir la siguiente pregunta, envía una nueva tarea CHATGPT con payload.continueFrom igual al id de una tarea completada y, además, un prompt o un select que pulse un formulario de la última respuesta de esa tarea (las mismas reglas que en followUps).
  • Una respuesta que muestra un formulario incluye forms: los buttons de cada formulario, cuyo orden es select.button, y sus choices con su name, la opción seleccionada al principio y las options.
  • conversation.id es la tarea que abrió la conversación, turn cuenta sus respuestas hasta ahora y expiresAt es el último momento para continuarla, 3 horas después de su primera respuesta.
  • Una continuación pregunta bajo la última respuesta de la tarea que indiques, así que indicar la misma tarea dos veces ramifica la conversación.
  • Conserva el country y la location originales. Omítelos o envía los mismos valores.
  • Una tarea de otra cuenta o de otro motor, una tarea que no se ha completado o un select no válido se rechazan con 400 VALIDATION_ERROR. Una conversación caducada se rechaza con 400 CONVERSATION_EXPIRED. Ninguno de los dos casos se cobra.
  • Una continuación cuesta lo mismo que cualquier tarea de ChatGPT.

Relacionado