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.
mutation InferQuestionnaire($input: ComplianceQuestionnaireInferInput!) { complianceQuestionnaireInfer(input: $input) { session { id status lines { id programId status currentQuestion { code prompt answerType } } } lines { lineId state remainingRequiredCount } }}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 viacurrentQuestion.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 devientMANUAL.
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é).
Par exemple, l'expéditeur accepte le intended_use inféré mais corrige
contains_color_additives, il soumet donc uniquement cette réponse :
mutation SubmitAnswers($input: QuestionnaireAnswersSubmitInput!) { questionnaireAnswersSubmit(input: $input) { status lines { id status responseId answers { questionCode value provenance confidence } } }}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.
mutation AttestSession($input: QuestionnaireSessionAttestInput!) { questionnaireSessionAttest(input: $input) { id status lines { id status responseId } }}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.
mutation SubmitResponse($input: QuestionnaireResponseSubmitInput!) { questionnaireResponseSubmit(input: $input) { id status completedAt answers { questionCode value provenance } }}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 containerComplianceReadiness —
ready est true uniquement lorsque chaque ligne possède une réponse complète.
query ContainerReadiness($containerType: ContainerType!, $containerId: ID!) { containerComplianceReadiness( containerType: $containerType containerId: $containerId ) { ready totalLineCount outstandingLineCount }}Prochaines étapes
- Comment ça marche — branchement, provenance, options dynamiques et usage prévu.
- Vérifier les exigences de conformité — découvrir les programmes et lire les structures de 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 :
complianceQuestionnaireInferouvre une session avec des réponses préremplies à partir de vos données article.questionnaireAnswersSubmitpour modifier ce avec quoi l'expéditeur n'est pas d'accord et répondre à ce qui reste.questionnaireSessionAttestpour 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.
La lecture requiert le scope
COMPLIANCE_READ; la soumission de réponses requiertCOMPLIANCE_WRITE. Consultez OAuth.Chaque
valuede 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".