메인 콘텐츠로 건너뛰기
CHATGPT는 웹 검색을 켠 ChatGPT에 묻고, 답변과 찾은 모든 출처, 실행한 검색, 그려 낸 상품·장소 카드를 반환합니다.

요청

응답

다음은 일부를 줄인 응답 예시입니다.
각 출처에는 searchQueries(이 출처를 결과로 돌려준 검색어), cited(답변 본문이 인라인으로 인용했는지), citedText(인용이 뒷받침하는 답변 문장)가 붙습니다. 상품처럼 어떤 검색도 돌려주지 않은 출처에는 searchQueries가 없습니다.

카드 배치

layout은 ChatGPT가 답변을 카드로 그렸을 때 나옵니다. nodes는 ChatGPT 화면의 순서를 따릅니다.

include 플래그

CHATGPT는 모든 응답 플래그를 지원합니다. rawResponse와 html을 제외하면 모두 기본으로 켜져 있으며, 끄려면 false를 보내세요.

카드 상세

include.entityDetails를 켜면 답변의 카드(상품, 장소, 앱, 브랜드)마다 사용자가 카드를 눌렀을 때 ChatGPT가 여는 상세 창을 함께 받습니다. 설명, 사양, 리뷰와 그 근거 페이지가 들어 있습니다. 상세 창은 자기 출처를 따로 인용하므로 답변 본문에 없는 출처까지 보여 줍니다. error는 상세 요청이 실패하면 ENTITY_DETAIL_FAILED, 상세 창에 본문이 없으면 ENTITY_DETAIL_EMPTY, 상세를 조회할 대화나 턴 정보가 없으면 ENTITY_DETAIL_UNAVAILABLE입니다. payload.location, CN, HK, 대체 경로의 답변과 include.html에서도 카드 상세를 받을 수 있습니다. ChatGPT가 전에 쓴 상세 창은 약 1초, 요청을 받고 새로 쓰는 상세 창은 10~30초가 걸리며 한 번에 4개까지 엽니다. 답변마다 카드 20개까지 엽니다. 상세 창에는 추가 크레딧이 없고, 이어 묻기의 답변도 각자 상세 창을 받습니다.

이어 묻기

payload.followUps는 첫 답변 뒤에 같은 대화에서 최대 4개의 질문을 순서대로 더 묻습니다. 각 항목은 다음 중 하나입니다.
  • { "prompt": "..." }: 직접 쓴 질문.
  • { "select": { "button": 0, "choices": { "budget": "Under $100" } } }: 앞 답변에 있는 이어 묻기 양식의 버튼을 누릅니다.
button은 답변의 버튼을 0부터 세며 기본값은 첫 버튼입니다. choices는 choice 노드의 name으로, 또는 양식 순서대로 배열로 옵션을 고릅니다. 고르는 값은 옵션의 value나 label, 또는 0부터 센 위치입니다. 고르지 않은 항목은 ChatGPT가 선택해 둔 옵션을 그대로 쓰므로 { "select": {} }는 버튼의 prompt를 그대로 보냅니다.
최상위 필드는 첫 답변 그대로입니다. 응답의 followUps에는 이어진 답변이 차례로 들어가며, 각 항목에 실제로 보낸 질문(prompt), select가 누른 내용(selection: 버튼 label과 항목별 값), 첫 답변과 같은 필드가 담깁니다. select를 누를 수 없으면 남은 질문은 보내지 않고, followUpsStopped에 해당 항목의 index, code, message를 담습니다. 태스크는 받은 답변까지로 완료됩니다. 답변마다 1크레딧이며, 태스크는 모든 이어 묻기만큼 크레딧을 예약하고 실제로 반환한 답변만 청구합니다. include.analysis, include.citationAnalysis, include.html은 첫 답변에 적용됩니다. 다른 엔진은 followUps를 400 VALIDATION_ERROR로 거절합니다.

나중에 이어 묻기

답변을 읽은 뒤 다음 질문을 정하려면 새 CHATGPT 태스크의 payload.continueFrom에 완료된 태스크의 id를 넣고, prompt 또는 그 태스크의 마지막 답변에 있는 양식을 누르는 select(규칙은 followUps와 같습니다)를 함께 보내세요.
  • 양식이 있는 답변에는 forms가 붙습니다. 각 양식의 buttons 순서가 select.button이고, choices에는 name, 처음 선택된 옵션, options가 있습니다.
  • conversation.id는 대화를 연 태스크, turn은 지금까지의 답변 수, expiresAt은 이어 물을 수 있는 마지막 시각으로 첫 답변 뒤 3시간입니다.
  • 이어 묻기는 지정한 태스크의 마지막 답변 아래에 질문하므로, 같은 태스크를 두 번 지정하면 대화가 갈라집니다.
  • 원래의 country와 location을 이어받습니다. 빼거나 같은 값을 보내세요.
  • 다른 계정이나 엔진의 태스크, 완료되지 않은 태스크, 잘못된 select는 400 VALIDATION_ERROR로 거절됩니다. 만료된 대화는 400 CONVERSATION_EXPIRED로 거절됩니다. 어느 쪽도 과금되지 않습니다.
  • 이어 묻기의 가격은 일반 ChatGPT 태스크와 같습니다.

관련 문서