DOCS

完成問卷

完成問卷

Clarify 從你的物品資料預填可填寫的內容;你確認或更正其餘部分,然後完成。

GraphQL

一旦你知道哪些計劃適用(請見 檢查合規要求), 推薦的流程是三次調用:

  1. 推斷 - complianceQuestionnaireInfer 開啟一個會話並預填 來自你物品資料的答案。
  2. 檢查並更正 - questionnaireAnswersSubmit 用於改變任何 發貨人不同意的內容並回答剩餘部分。
  3. 證明 - questionnaireSessionAttest 用於接受並完成。

如果你已經有每個答案,你可以改為在一次調用中提交完整回應 — 請見下面的提交完整回應

作用域

讀取需要 COMPLIANCE_READ 作用域;提交答案需要 COMPLIANCE_WRITE。請見 OAuth

答案值為 JSON 編碼

每個答案 value 都是一個 JSON 編碼的字符串:布爾值是 "true", 選擇或文本值被引用如 "\"cosmetic\"" 、多選是 "[\"a\",\"b\"]",數字是 "42"

推斷並預填 

complianceQuestionnaireInfer 解析你物品的適用計劃, 開啟一個會話,並從你的物品資料預先回答問題。每個 預填的答案有 provenance: INFERRED 和一個 confidence 分數。

傳遞 intendedUse 來指導推斷 — 店面流程應發送 CONSUMER

1mutation InferQuestionnaire($input: ComplianceQuestionnaireInferInput!) {
2 complianceQuestionnaireInfer(input: $input) {
3 session {
4 id
5 status
6 lines {
7 id
8 programId
9 status
10 currentQuestion {
11 code
12 prompt
13 answerType
14 }
15 }
16 }
17 lines {
18 lineId
19 state
20 remainingRequiredCount
21 }
22 }
23}

每行的 state 告訴你接下來的內容:

  • READY_TO_ATTEST - 每個必需的問題都已回答。直接前往 證明(下方)。
  • PARTIAL - 某些答案已預填,但仍需要回答必要問題。 在 currentQuestion 回答它們。
  • NOT_INFERRED - 無法預填任何內容;將其作為普通 問卷回答。

已由現有回應滿足的計劃會被跳過並在 alreadySatisfied 中返回(上面省略了)。

檢查並更正 

會話保持預填答案 — 不是完成的回應。對於每個 答案,發貨人應該:

  • 接受 — 保持不變,它保持 INFERRED,或
  • 更正 — 用 questionnaireAnswersSubmit 提交新值,它 變成 MANUAL

一次提交一個答案或多個答案。Clarify 將 currentQuestion 推進到 下一個剩餘的問題,當沒有剩餘時,完成行的 回應(其 responseId 已填充)。

接受的答案被保留,不被丟棄

更正一個答案只覆蓋該答案。完成的回應保持 完整集合 — 接受的答案保持 INFERRED,更正是 MANUAL — 所以你始終保持 AI 提供的內容與人所更改內容的記錄。

例如,發貨人接受推斷的 intended_use 但更正 contains_color_additives,所以他們只提交該一個答案:

1mutation SubmitAnswers($input: QuestionnaireAnswersSubmitInput!) {
2 questionnaireAnswersSubmit(input: $input) {
3 status
4 lines {
5 id
6 status
7 responseId
8 answers {
9 questionCode
10 value
11 provenance
12 confidence
13 }
14 }
15 }
16}

證明 

當一行是 READY_TO_ATTEST 時 — 每個必需的答案已預填並且 發貨人同意 — 用 questionnaireSessionAttest 在一次調用中接受它。它 完成每個符合資格的行,或只有你傳遞的 lineIds

1mutation AttestSession($input: QuestionnaireSessionAttestInput!) {
2 questionnaireSessionAttest(input: $input) {
3 id
4 status
5 lines {
6 id
7 status
8 responseId
9 }
10 }
11}

要放棄進行中的會話,調用 questionnaireSessionAbandon(id: ID!)

提交完整回應 

如果你已經有每個答案 — 例如一個 CATALOG_ITEM 的可重複使用答案集 — 跳過會話並 用 questionnaireResponseSubmit 直接提交。它替換相同 物品和計劃的任何先前回應。

1mutation SubmitResponse($input: QuestionnaireResponseSubmitInput!) {
2 questionnaireResponseSubmit(input: $input) {
3 id
4 status
5 completedAt
6 answers {
7 questionCode
8 value
9 provenance
10 }
11 }
12}

更希望在不推斷的情況下回答?questionnaireSessionStart 開啟一個會話 用於你選擇的計劃,然後你使用上面相同的檢查並更正證明調用。

讀取回應和準備狀況 

questionnaireResponse(id) 取得完成的記錄,並檢查整個 容器是否準備好提交 containerComplianceReadinessready 只在每行都有完整回應時為 true

1query ContainerReadiness($containerType: ContainerType!, $containerId: ID!) {
2 containerComplianceReadiness(
3 containerType: $containerType
4 containerId: $containerId
5 ) {
6 ready
7 totalLineCount
8 outstandingLineCount
9 }
10}

後續步驟 

預約演示

這個頁面有幫助嗎?


在此頁面: