Clarify는 상품 데이터에서 가능한 부분을 자동으로 입력합니다. 나머지는 확인하거나 수정한 후 확정하세요.
GraphQL
적용되는 프로그램을 확인했다면( 컴플라이언스 요건 확인하기 참조), 권장 흐름은 세 번의 호출로 구성됩니다:
complianceQuestionnaireInfer
questionnaireAnswersSubmit
questionnaireSessionAttest
이미 모든 답변을 가지고 있다면 한 번의 호출로 완전한 응답을 제출할 수도 있습니다 — 아래 완전한 응답 제출하기를 참조하세요.
조회에는 COMPLIANCE_READ 스코프가 필요하며, 답변 제출에는 COMPLIANCE_WRITE가 필요합니다. OAuth를 참조하세요.
COMPLIANCE_READ
COMPLIANCE_WRITE
모든 답변 value는 JSON으로 인코딩된 문자열입니다: 불리언은 "true"이고, 선택형이나 텍스트 값은 "\"cosmetic\""처럼 인용되며, 다중 선택은 "[\"a\",\"b\"]", 숫자는 "42"입니다.
value
"true"
"\"cosmetic\""
"[\"a\",\"b\"]"
"42"
complianceQuestionnaireInfer는 상품에 적용되는 프로그램을 확인하고 세션을 연 다음, 상품 데이터를 기반으로 질문에 미리 답변합니다. 자동으로 입력된 각 답변에는 provenance: INFERRED와 confidence 점수가 포함됩니다.
provenance: INFERRED
confidence
추론을 안내하려면 intendedUse를 전달하세요 — 스토어프론트 흐름에서는 CONSUMER를 전송해야 합니다.
intendedUse
CONSUMER
mutation InferQuestionnaire($input: ComplianceQuestionnaireInferInput!) {
complianceQuestionnaireInfer(input: $input) {
session {
id
status
lines {
programId
currentQuestion {
code
prompt
answerType
}
lineId
state
remainingRequiredCount
각 라인의 state는 다음 단계를 알려줍니다:
READY_TO_ATTEST
PARTIAL
currentQuestion
NOT_INFERRED
기존 응답으로 이미 충족된 프로그램은 건너뛰며 alreadySatisfied에 반환됩니다(위 예시에서는 생략됨).
alreadySatisfied
세션에는 자동으로 입력된 답변만 있으며, 확정된 응답이 아닙니다. 각 답변에 대해 배송인은 다음 중 하나를 수행합니다:
INFERRED
MANUAL
답변을 하나씩 또는 한꺼번에 여러 개 제출할 수 있습니다. Clarify는 currentQuestion을 다음 남은 질문으로 넘기고, 더 이상 남은 질문이 없으면 해당 라인의 응답을 확정합니다(이때 responseId가 채워집니다).
responseId
한 답변을 수정해도 그 답변만 덮어씁니다. 확정된 응답에는 전체 답변 세트가 담기며, 수락한 답변은 INFERRED 상태를 유지하고 수정한 답변은 MANUAL이 되므로, AI가 제공한 내용과 사람이 변경한 내용을 항상 기록으로 남길 수 있습니다.
예를 들어 배송인이 추론된 intended_use는 수락하고 contains_color_additives는 수정하는 경우, 해당 답변 하나만 제출합니다:
intended_use
contains_color_additives
mutation SubmitAnswers($input: QuestionnaireAnswersSubmitInput!) {
questionnaireAnswersSubmit(input: $input) {
answers {
questionCode
provenance
라인이 READY_TO_ATTEST 상태이고 — 즉 필수 답변이 모두 자동으로 입력되어 있고 배송인이 이에 동의하는 경우 — questionnaireSessionAttest를 한 번 호출하여 수락하세요. 이 호출은 대상이 되는 모든 라인을 확정하며, lineIds를 전달하면 해당 라인만 확정합니다.
lineIds
mutation AttestSession($input: QuestionnaireSessionAttestInput!) {
questionnaireSessionAttest(input: $input) {
진행 중인 세션을 폐기하려면 questionnaireSessionAbandon(id: ID!)를 호출하세요.
questionnaireSessionAbandon(id: ID!)
이미 모든 답변을 가지고 있다면 — 예를 들어 CATALOG_ITEM에 재사용 가능한 답변 세트가 있는 경우 — 세션을 건너뛰고 questionnaireResponseSubmit으로 직접 제출하세요. 이 호출은 동일한 상품과 프로그램에 대한 이전 응답을 대체합니다.
CATALOG_ITEM
questionnaireResponseSubmit
mutation SubmitResponse($input: QuestionnaireResponseSubmitInput!) {
questionnaireResponseSubmit(input: $input) {
completedAt
추론 없이 답변하고 싶다면 questionnaireSessionStart로 선택한 프로그램에 대한 세션을 열고, 위에서 설명한 것과 동일한 검토 및 수정, 승인 호출을 사용하면 됩니다.
questionnaireSessionStart
questionnaireResponse(id)로 확정된 기록을 조회하고, containerComplianceReadiness로 전체 컨테이너가 제출할 준비가 되었는지 확인하세요 — ready는 모든 라인에 완전한 응답이 있을 때만 true가 됩니다.
questionnaireResponse(id)
containerComplianceReadiness
ready
true
query ContainerReadiness($containerType: ContainerType!, $containerId: ID!) {
containerComplianceReadiness(
containerType: $containerType
containerId: $containerId
) {
totalLineCount
outstandingLineCount
ComplianceQuestionnaireInferInput QuestionnaireAnswersSubmitInput QuestionnaireResponseSubmitInput QuestionnaireSessionAttestInput
complianceQuestionnaireInfer questionnaireAnswersSubmit questionnaireResponseSubmit questionnaireSessionAttest
질문지 완료하기
질문지 완료하기
Clarify는 상품 데이터에서 가능한 부분을 자동으로 입력합니다. 나머지는 확인하거나 수정한 후 확정하세요.
GraphQL
적용되는 프로그램을 확인했다면( 컴플라이언스 요건 확인하기 참조), 권장 흐름은 세 번의 호출로 구성됩니다:
complianceQuestionnaireInfer가 상품 데이터에서 자동으로 입력된 답변으로 세션을 엽니다.questionnaireAnswersSubmit으로 변경하고 남은 항목에 답변합니다.questionnaireSessionAttest로 수락하고 확정합니다.이미 모든 답변을 가지고 있다면 한 번의 호출로 완전한 응답을 제출할 수도 있습니다 — 아래 완전한 응답 제출하기를 참조하세요.
조회에는
COMPLIANCE_READ스코프가 필요하며, 답변 제출에는COMPLIANCE_WRITE가 필요합니다. OAuth를 참조하세요.모든 답변
value는 JSON으로 인코딩된 문자열입니다: 불리언은"true"이고, 선택형이나 텍스트 값은"\"cosmetic\""처럼 인용되며, 다중 선택은"[\"a\",\"b\"]", 숫자는"42"입니다.추론 및 자동 입력
complianceQuestionnaireInfer는 상품에 적용되는 프로그램을 확인하고 세션을 연 다음, 상품 데이터를 기반으로 질문에 미리 답변합니다. 자동으로 입력된 각 답변에는provenance: INFERRED와confidence점수가 포함됩니다.추론을 안내하려면
intendedUse를 전달하세요 — 스토어프론트 흐름에서는CONSUMER를 전송해야 합니다.mutation InferQuestionnaire($input: ComplianceQuestionnaireInferInput!) {complianceQuestionnaireInfer(input: $input) {session {idstatuslines {idprogramIdstatuscurrentQuestion {codepromptanswerType}}}lines {lineIdstateremainingRequiredCount}}}각 라인의
state는 다음 단계를 알려줍니다:READY_TO_ATTEST- 필수 질문에 모두 답변되었습니다. 바로 아래 승인으로 이동하세요.PARTIAL- 일부 답변은 자동으로 입력되었지만 필수 질문이 남아 있습니다.currentQuestion에서 답변하세요.NOT_INFERRED- 자동으로 입력된 내용이 없습니다. 일반 질문지처럼 답변하세요.기존 응답으로 이미 충족된 프로그램은 건너뛰며
alreadySatisfied에 반환됩니다(위 예시에서는 생략됨).검토 및 수정
세션에는 자동으로 입력된 답변만 있으며, 확정된 응답이 아닙니다. 각 답변에 대해 배송인은 다음 중 하나를 수행합니다:
INFERRED상태를 유지하거나,questionnaireAnswersSubmit으로 새 값을 제출하면MANUAL이 됩니다.답변을 하나씩 또는 한꺼번에 여러 개 제출할 수 있습니다. Clarify는
currentQuestion을 다음 남은 질문으로 넘기고, 더 이상 남은 질문이 없으면 해당 라인의 응답을 확정합니다(이때responseId가 채워집니다).한 답변을 수정해도 그 답변만 덮어씁니다. 확정된 응답에는 전체 답변 세트가 담기며, 수락한 답변은
INFERRED상태를 유지하고 수정한 답변은MANUAL이 되므로, AI가 제공한 내용과 사람이 변경한 내용을 항상 기록으로 남길 수 있습니다.예를 들어 배송인이 추론된
intended_use는 수락하고contains_color_additives는 수정하는 경우, 해당 답변 하나만 제출합니다:mutation SubmitAnswers($input: QuestionnaireAnswersSubmitInput!) {questionnaireAnswersSubmit(input: $input) {statuslines {idstatusresponseIdanswers {questionCodevalueprovenanceconfidence}}}}승인
라인이
READY_TO_ATTEST상태이고 — 즉 필수 답변이 모두 자동으로 입력되어 있고 배송인이 이에 동의하는 경우 —questionnaireSessionAttest를 한 번 호출하여 수락하세요. 이 호출은 대상이 되는 모든 라인을 확정하며,lineIds를 전달하면 해당 라인만 확정합니다.mutation AttestSession($input: QuestionnaireSessionAttestInput!) {questionnaireSessionAttest(input: $input) {idstatuslines {idstatusresponseId}}}진행 중인 세션을 폐기하려면
questionnaireSessionAbandon(id: ID!)를 호출하세요.완전한 응답 제출하기
이미 모든 답변을 가지고 있다면 — 예를 들어
CATALOG_ITEM에 재사용 가능한 답변 세트가 있는 경우 — 세션을 건너뛰고questionnaireResponseSubmit으로 직접 제출하세요. 이 호출은 동일한 상품과 프로그램에 대한 이전 응답을 대체합니다.mutation SubmitResponse($input: QuestionnaireResponseSubmitInput!) {questionnaireResponseSubmit(input: $input) {idstatuscompletedAtanswers {questionCodevalueprovenance}}}추론 없이 답변하고 싶다면
questionnaireSessionStart로 선택한 프로그램에 대한 세션을 열고, 위에서 설명한 것과 동일한 검토 및 수정, 승인 호출을 사용하면 됩니다.응답 및 준비 상태 조회
questionnaireResponse(id)로 확정된 기록을 조회하고,containerComplianceReadiness로 전체 컨테이너가 제출할 준비가 되었는지 확인하세요 —ready는 모든 라인에 완전한 응답이 있을 때만true가 됩니다.query ContainerReadiness($containerType: ContainerType!, $containerId: ID!) {containerComplianceReadiness(containerType: $containerTypecontainerId: $containerId) {readytotalLineCountoutstandingLineCount}}다음 단계
ComplianceQuestionnaireInferInput QuestionnaireAnswersSubmitInput QuestionnaireResponseSubmitInput QuestionnaireSessionAttestInput
complianceQuestionnaireInfer questionnaireAnswersSubmit questionnaireResponseSubmit questionnaireSessionAttest
이 페이지가 도움이 되었나요?