DOCS

Completa un questionario

Clarify precompila ciò che può dai dati del tuo articolo; tu confermi o correggi il resto, quindi finalizzi.

GraphQL

Una volta che sai quali programmi si applicano (vedi Verificare i requisiti di conformità), il flusso consigliato è di tre chiamate:

  1. Deduci - complianceQuestionnaireInfer apre una sessione con le risposte precompilate dai dati dell'articolo.
  2. Rivedi e correggi - questionnaireAnswersSubmit per modificare qualsiasi cosa con cui il mittente non è d'accordo e rispondere a quanto rimane.
  3. Attesta - questionnaireSessionAttest per accettare e finalizzare.

Se hai già tutte le risposte, puoi inviare una risposta completa in un'unica chiamata — vedi Invia una risposta completa di seguito.

Ambiti

La lettura richiede l'ambito COMPLIANCE_READ; l'invio delle risposte richiede COMPLIANCE_WRITE. Vedi OAuth.

I valori delle risposte sono codificati in JSON

Ogni value di risposta è una stringa codificata in JSON: un booleano è "true", un valore di selezione singola o di testo è tra virgolette come "\"cosmetic\"", una selezione multipla è "[\"a\",\"b\"]" e un numero è "42".

Deduci e precompila 

complianceQuestionnaireInfer risolve i programmi applicabili ai tuoi articoli, apre una sessione e pre-risponde alle domande in base ai dati dell'articolo. Ogni risposta precompilata ha provenance: INFERRED e un punteggio confidence.

Passa intendedUse per guidare l'inferenza — i flussi storefront dovrebbero inviare 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}

Lo state di ogni riga ti dice cosa viene dopo:

  • READY_TO_ATTEST - ogni domanda richiesta è stata risposta. Vai direttamente ad Attesta (sotto).
  • PARTIAL - alcune risposte sono state precompilate, ma rimangono domande obbligatorie. Rispondi a currentQuestion.
  • NOT_INFERRED - non è stato possibile precompilare nulla; rispondi come a un normale questionario.

I programmi già soddisfatti da una risposta esistente vengono saltati e restituiti in alreadySatisfied (omesso sopra).

Rivedi e correggi 

La sessione contiene risposte precompilate, non una risposta finalizzata. Per ciascuna risposta, il mittente:

  • la accetta — la lascia invariata, e resta INFERRED, oppure
  • la corregge — invia un nuovo valore con questionnaireAnswersSubmit, che diventa MANUAL.

Invia una o più risposte alla volta. Clarify fa avanzare currentQuestion alla domanda successiva rimanente e, quando non ne restano, finalizza la risposta della riga (il suo responseId viene popolato).

Le risposte accettate vengono conservate, non scartate

Correggere una risposta sovrascrive solo quella risposta. La risposta finalizzata contiene il set completo — le risposte accettate restano INFERRED, le correzioni sono MANUAL — così hai sempre una registrazione di ciò che ha fornito l'IA rispetto a ciò che una persona ha modificato.

Ad esempio, il mittente accetta il valore dedotto per intended_use ma corregge contains_color_additives, quindi invia solo quella risposta:

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}

Attesta 

Quando una riga è READY_TO_ATTEST — ogni risposta richiesta è già precompilata e il mittente è d'accordo — accettala in un'unica chiamata con questionnaireSessionAttest. Finalizza ogni riga idonea, oppure solo i lineIds che passi.

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

Per eliminare una sessione in corso, chiama questionnaireSessionAbandon(id: ID!).

Invia una risposta completa 

Se hai già tutte le risposte — ad esempio un insieme di risposte riutilizzabile per un CATALOG_ITEM — salta la sessione e invia direttamente con questionnaireResponseSubmit. Sostituisce qualsiasi risposta precedente per lo stesso articolo e programma.

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}

Preferisci rispondere senza deduzione? questionnaireSessionStart apre una sessione per i programmi che scegli, dopodiché usi le stesse chiamate Rivedi e correggi e Attesta viste sopra.

Leggi le risposte e la preparazione 

Recupera un record finalizzato con questionnaireResponse(id) e verifica con containerComplianceReadiness se l'intero contenitore è pronto per essere presentato — ready è true solo quando ogni riga ha una risposta completa.

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

Passaggi successivi 

Questa pagina è stata utile?