DOCS

Fragebogen ausfüllen

Fragebogen ausfüllen

Clarify füllt vor, was es aus Ihren Artikeldaten kann; Sie bestätigen oder korrigieren den Rest und finalisieren dann.

GraphQL

Sobald Sie wissen, welche Programme gelten (siehe Compliance-Anforderungen prüfen), ist der empfohlene Ablauf drei Aufrufe:

  1. Ableiten - complianceQuestionnaireInfer öffnet eine Sitzung mit aus Ihren Artikeldaten vorausgefüllten Antworten.
  2. Prüfen und korrigieren - questionnaireAnswersSubmit, um alles zu ändern, womit der Versender nicht einverstanden ist, und den Rest zu beantworten.
  3. Bestätigen - questionnaireSessionAttest, um zu akzeptieren und zu finalisieren.

Wenn Sie bereits jede Antwort haben, können Sie stattdessen in einem Aufruf eine vollständige Antwort senden — siehe Vollständige Antwort senden unten.

Scopes

Zum Lesen ist der Scope COMPLIANCE_READ erforderlich; zum Senden von Antworten COMPLIANCE_WRITE. Siehe OAuth.

Antwortwerte sind JSON-codiert

Jeder Antwort-value ist ein JSON-codierter String: ein Boolean ist "true", ein Auswahl- oder Textwert ist in Anführungszeichen wie "\"cosmetic\"", eine Mehrfachauswahl ist "[\"a\",\"b\"]" und eine Zahl ist "42".

Ableiten und vorausfüllen 

complianceQuestionnaireInfer löst die zutreffenden Programme für Ihre Artikel auf, öffnet eine Sitzung und beantwortet Fragen anhand Ihrer Artikeldaten vorab. Jede vorausgefüllte Antwort hat provenance: INFERRED und einen confidence-Score.

Übergeben Sie intendedUse, um die Ableitung zu steuern — Storefront-Flows sollten CONSUMER senden.

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}

Der state jeder Zeile zeigt Ihnen, was als Nächstes ansteht:

  • READY_TO_ATTEST - jede erforderliche Frage ist beantwortet. Gehen Sie direkt zu Bestätigen (unten).
  • PARTIAL - einige Antworten wurden vorausgefüllt, aber erforderliche Fragen bleiben offen. Beantworten Sie sie bei currentQuestion.
  • NOT_INFERRED - nichts konnte vorausgefüllt werden; beantworten Sie es als einfachen Fragebogen.

Bereits durch eine bestehende Antwort erfüllte Programme werden übersprungen und in alreadySatisfied zurückgegeben (oben ausgelassen).

Prüfen und korrigieren 

Die Sitzung enthält vorausgefüllte Antworten — keine finalisierte Antwort. Für jede Antwort kann der Versender entweder:

  • sie akzeptieren — unverändert lassen, und sie bleibt INFERRED, oder
  • sie korrigieren — einen neuen Wert mit questionnaireAnswersSubmit senden, der zu MANUAL wird.

Senden Sie eine oder mehrere Antworten gleichzeitig. Clarify setzt currentQuestion auf die nächste verbleibende Frage und finalisiert, wenn keine mehr übrig sind, die Antwort der Zeile (ihre responseId wird befüllt).

Akzeptierte Antworten bleiben erhalten

Die Korrektur einer Antwort überschreibt nur diese Antwort. Die finalisierte Antwort enthält den vollständigen Satz — akzeptierte Antworten bleiben INFERRED, Korrekturen sind MANUAL — sodass Sie immer einen Nachweis haben, was die KI geliefert hat und was eine Person geändert hat.

Der Versender akzeptiert beispielsweise den abgeleiteten intended_use, korrigiert aber contains_color_additives, und sendet daher nur diese eine Antwort:

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}

Bestätigen 

Wenn eine Zeile READY_TO_ATTEST ist — jede erforderliche Antwort bereits vorausgefüllt und der Versender einverstanden — akzeptieren Sie sie in einem Aufruf mit questionnaireSessionAttest. Es finalisiert jede berechtigte Zeile oder nur die lineIds, die Sie übergeben.

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

Um eine laufende Sitzung zu verwerfen, rufen Sie questionnaireSessionAbandon(id: ID!) auf.

Vollständige Antwort senden 

Wenn Sie bereits jede Antwort haben — beispielsweise einen wiederverwendbaren Antwortsatz für ein CATALOG_ITEM — überspringen Sie die Sitzung und senden direkt mit questionnaireResponseSubmit. Es ersetzt jede vorherige Antwort für denselben Artikel und dasselbe Programm.

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}

Sie möchten ohne Ableitung antworten? questionnaireSessionStart öffnet eine Sitzung für die von Ihnen gewählten Programme, und anschließend verwenden Sie dieselben Aufrufe Prüfen und korrigieren und Bestätigen wie oben.

Antworten und Bereitschaft lesen 

Rufen Sie einen finalisierten Datensatz mit questionnaireResponse(id) ab und prüfen Sie mit containerComplianceReadiness, ob ein gesamter Container zur Einreichung bereit ist — ready ist nur true, wenn jede Zeile eine vollständige Antwort hat.

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

Nächste Schritte 

War diese Seite hilfreich?