Inferir y rellenar previamente
complianceQuestionnaireInfer resuelve los programas aplicables para sus artículos,
abre una sesión y responde previamente las preguntas a partir de los datos de su artículo. Cada
respuesta rellenada previamente tiene provenance: INFERRED y una puntuación de confidence.
Pase intendedUse para guiar la inferencia; los flujos de tienda en línea deben enviar CONSUMER.
mutation InferQuestionnaire($input: ComplianceQuestionnaireInferInput!) { complianceQuestionnaireInfer(input: $input) { session { id status lines { id programId status currentQuestion { code prompt answerType } } } lines { lineId state remainingRequiredCount } }}El state de cada línea le indica qué sigue:
READY_TO_ATTEST- todas las preguntas obligatorias están respondidas. Vaya directamente a Atestar (más abajo).PARTIAL- algunas respuestas se rellenaron previamente, pero quedan preguntas obligatorias. Respóndalas encurrentQuestion.NOT_INFERRED- no se pudo rellenar nada previamente; respóndalo como un cuestionario normal.
Los programas ya satisfechos por una respuesta existente se omiten y se devuelven en
alreadySatisfied (omitido arriba).
Revisar y corregir
La sesión contiene respuestas rellenadas previamente, no una respuesta finalizada. Para cada respuesta, el remitente puede:
- aceptarla — dejarla intacta, y permanece como
INFERRED, o - corregirla — enviar un nuevo valor con
questionnaireAnswersSubmit, que pasa a serMANUAL.
Envíe una respuesta o varias a la vez. Clarify avanza currentQuestion a la
siguiente pregunta pendiente y, cuando no quede ninguna, finaliza la
respuesta de la línea (se rellena su responseId).
Por ejemplo, el remitente acepta el intended_use inferido pero corrige
contains_color_additives, por lo que envía solo esa respuesta:
mutation SubmitAnswers($input: QuestionnaireAnswersSubmitInput!) { questionnaireAnswersSubmit(input: $input) { status lines { id status responseId answers { questionCode value provenance confidence } } }}Atestar
Cuando una línea está en READY_TO_ATTEST — todas las respuestas obligatorias ya rellenadas previamente y
el remitente está de acuerdo — acéptela en una sola llamada con questionnaireSessionAttest. Esto
finaliza todas las líneas elegibles, o solo los lineIds que pase.
mutation AttestSession($input: QuestionnaireSessionAttestInput!) { questionnaireSessionAttest(input: $input) { id status lines { id status responseId } }}Para descartar una sesión en curso, llame a questionnaireSessionAbandon(id: ID!).
Enviar una respuesta completa
Si ya tiene todas las respuestas — por ejemplo, un conjunto de respuestas reutilizable para un
CATALOG_ITEM — omita la sesión y envíelas directamente con
questionnaireResponseSubmit. Reemplaza cualquier respuesta anterior para el mismo
artículo y programa.
mutation SubmitResponse($input: QuestionnaireResponseSubmitInput!) { questionnaireResponseSubmit(input: $input) { id status completedAt answers { questionCode value provenance } }}¿Prefiere responder sin inferencia? questionnaireSessionStart abre una sesión
para los programas que elija, y luego utiliza las mismas llamadas de Revisar y corregir y
Atestar anteriores.
Leer respuestas y preparación
Obtenga un registro finalizado con questionnaireResponse(id) y compruebe si un
contenedor completo está listo para presentar con containerComplianceReadiness —
ready es true solo cuando cada línea tiene una respuesta completa.
query ContainerReadiness($containerType: ContainerType!, $containerId: ID!) { containerComplianceReadiness( containerType: $containerType containerId: $containerId ) { ready totalLineCount outstandingLineCount }}Siguientes pasos
- Cómo funciona - ramificación, procedencia, opciones dinámicas y uso previsto.
- Consultar requisitos de cumplimiento - descubra programas y lea estructuras de cuestionarios.
Completar un cuestionario
Clarify rellena previamente lo que puede a partir de los datos de su artículo; usted confirma o corrige el resto y luego finaliza.
GraphQL
Una vez que sepa qué programas aplican (consulte Consultar requisitos de cumplimiento), el flujo recomendado consta de tres llamadas:
complianceQuestionnaireInferabre una sesión con respuestas rellenadas previamente a partir de los datos de su artículo.questionnaireAnswersSubmitpara cambiar lo que el remitente no esté de acuerdo y responder lo que quede.questionnaireSessionAttestpara aceptar y finalizar.Si ya tiene todas las respuestas, puede enviar una respuesta completa en una sola llamada en su lugar; consulte Enviar una respuesta completa más abajo.
La lectura requiere el ámbito
COMPLIANCE_READ; enviar respuestas requiereCOMPLIANCE_WRITE. Consulte OAuth.Cada
valuede respuesta es una cadena codificada en JSON: un booleano es"true", un valor de selección o texto va entre comillas como"\"cosmetic\"", una selección múltiple es"[\"a\",\"b\"]"y un número es"42".