DOCS

Compléter un questionnaire

Compléter un questionnaire

Clarify préremplit ce qu'il peut à partir de vos données article ; vous confirmez ou corrigez le reste, puis finalisez.

GraphQL

Une fois que vous savez quels programmes s'appliquent (consultez Vérifier les exigences de conformité), le flux recommandé comporte trois appels :

  1. InférercomplianceQuestionnaireInfer ouvre une session avec des réponses préremplies à partir de vos données article.
  2. Examiner et corrigerquestionnaireAnswersSubmit pour modifier ce avec quoi l'expéditeur n'est pas d'accord et répondre à ce qui reste.
  3. AttesterquestionnaireSessionAttest pour accepter et finaliser.

Si vous avez déjà toutes les réponses, vous pouvez soumettre une réponse complète en un seul appel — consultez Soumettre une réponse complète ci-dessous.

Scopes

La lecture requiert le scope COMPLIANCE_READ ; la soumission de réponses requiert COMPLIANCE_WRITE. Consultez OAuth.

Les valeurs de réponse sont encodées en JSON

Chaque value de réponse est une chaîne encodée en JSON : un booléen est "true", une valeur select ou texte est quotée comme "\"cosmetic\"", un multi-select est "[\"a\",\"b\"]", et un nombre est "42".

Inférer et préremplir 

complianceQuestionnaireInfer résout les programmes applicables pour vos articles, ouvre une session et préremplit les questions à partir de vos données article. Chaque réponse préremplie a provenance: INFERRED et un score confidence.

Passez intendedUse pour guider l'inférence — les flux storefront doivent envoyer 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}

Le state de chaque ligne indique la suite :

  • READY_TO_ATTEST — toutes les questions obligatoires sont répondues. Passez directement à Attester (ci-dessous).
  • PARTIAL — certaines réponses ont été préremplies, mais des questions obligatoires restent. Répondez-y via currentQuestion.
  • NOT_INFERRED — rien n'a pu être prérempli ; répondez comme à un questionnaire classique.

Les programmes déjà satisfaits par une réponse existante sont ignorés et renvoyés dans alreadySatisfied (omis ci-dessus).

Examiner et corriger 

La session contient des réponses préremplies — pas une response finalisée. Pour chaque réponse, l'expéditeur peut :

  • l'accepter — la laisser intacte, elle reste INFERRED, ou
  • la corriger — soumettre une nouvelle valeur avec questionnaireAnswersSubmit, qui devient MANUAL.

Soumettez une réponse ou plusieurs à la fois. Clarify fait avancer currentQuestion vers la question restante suivante et, lorsqu'il n'en reste plus, finalise la response de la ligne (son responseId est renseigné).

Les réponses acceptées sont conservées, pas supprimées

Corriger une réponse ne remplace que cette réponse. La response finalisée contient l'ensemble complet — les réponses acceptées restent INFERRED, les corrections sont MANUAL — vous conservez donc toujours une trace de ce que l'IA a fourni par rapport à ce qu'une personne a modifié.

Par exemple, l'expéditeur accepte le intended_use inféré mais corrige contains_color_additives, il soumet donc uniquement cette réponse :

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}

Attester 

Lorsqu'une ligne est READY_TO_ATTEST — toutes les réponses obligatoires déjà préremplies et l'expéditeur est d'accord — acceptez-la en un appel avec questionnaireSessionAttest. Cela finalise chaque ligne éligible, ou uniquement les lineIds que vous passez.

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

Pour abandonner une session en cours, appelez questionnaireSessionAbandon(id: ID!).

Soumettre une réponse complète 

Si vous avez déjà toutes les réponses — par exemple un ensemble réutilisable pour un CATALOG_ITEM — ignorez la session et soumettez directement avec questionnaireResponseSubmit. Cela remplace toute réponse précédente pour le même article et programme.

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}

Vous préférez répondre sans inférence ? questionnaireSessionStart ouvre une session pour les programmes que vous choisissez, puis vous utilisez les mêmes appels Examiner et corriger et Attester ci-dessus.

Lire les réponses et l'état de préparation 

Récupérez un enregistrement finalisé avec questionnaireResponse(id), et vérifiez si un conteneur entier est prêt pour le dépôt avec containerComplianceReadinessready est true uniquement lorsque chaque ligne possède une réponse complète.

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

Prochaines étapes 

Cette page a-t-elle été utile?