DOCS

Preencha um questionário

Preencha um questionário

Clarify preenche previamente o que pode com os dados do item; você confirma ou corrige o descanse e finalize.

GraphQL

Depois de saber quais programas se aplicam (consulte Verifique os requisitos de conformidade), o fluxo recomendado é de três chamadas:

  1. Inferir - complianceQuestionnaireInfer abre uma sessão com respostas pré-preenchido a partir dos dados do seu item.
  2. Revise e corrija -questionnaireAnswersSubmit para mudar qualquer coisa remetente discorda e responde o que resta.
  3. Atestar -questionnaireSessionAttest aceitar e finalizar.

Se você já tiver todas as respostas, poderá enviar uma resposta completa em uma chamada em vez disso - veja Envie uma resposta completa abaixo.

Escopos

A leitura exige COMPLIANCE_READ escopo; enviar respostas requer COMPLIANCE_WRITE. Ver OAuth.

Os valores de resposta são codificados em JSON

Cada resposta value é um Codificado em JSON string: um booleano é "true", um selecione ou o valor do texto é citado como "\"cosmetic\"", uma seleção múltipla é "[\"a\",\"b\"]", e um número é "42".

Inferir e preencher previamente complianceQuestionnaireInfer resolve os programas aplicáveis ​​para seus itens, 

abre um sessãoe pré-responde a perguntas dos dados do seu item. Cada resposta pré-preenchida tem provenance: INFERRED e um confidence pontuação.

Passar intendedUse para orientar a inferência – os fluxos da vitrine devem enviar 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}

Cada linha state diz o que vem a seguir:

  • READY_TO_ATTEST - todas as perguntas obrigatórias são respondidas. Vá direto para Atestar (abaixo).
  • PARTIAL - algumas respostas foram pré-preenchidas, mas as perguntas obrigatórias permanecem. Responda-os em currentQuestion.
  • NOT_INFERRED - nada poderia ser pré-preenchido; responda como um simples questionário.

Os programas já satisfeitos por uma resposta existente são ignorados e retornados em alreadySatisfied (omitido acima).

Revise e corrija 

A sessão dura respostas pré-preenchidas – não uma resposta finalizada. Para cada resposta, o remetente:

  • aceita isso - deixa-o intocado e permanece INFERRED, ou
  • corrige it - envia um novo valor com questionnaireAnswersSubmit, qual torna-se MANUAL.

Envie uma resposta ou várias de uma vez. Clarify avança currentQuestion para o próxima pergunta restante e, quando não sobrar nenhuma, finaliza a linha resposta (isso é responseId está preenchido).

As respostas aceitas são mantidas, não descartadas

A correção de uma resposta substitui apenas essa resposta. A resposta finalizada é válida o completo definido - as respostas aceitas permanecem INFERRED , as correções são MANUAL- então você sempre mantém um registro do que a IA forneceu versus o que uma pessoa mudou.

Por exemplo, o expedidor aceita o valor inferido intended_use mas corrige contains_color_additives, então eles enviam apenas aquela resposta:

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}

Atestado 

Quando uma linha é READY_TO_ATTEST— todas as respostas obrigatórias já pré-preenchidas e o remetente concorda - aceite em uma ligação com questionnaireSessionAttest. Isto finaliza todas as linhas elegíveis, ou apenas a lineIds você passa.

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

Para descartar uma sessão em andamento, ligue questionnaireSessionAbandon(id: ID!).

Envie uma resposta completa 

Se você já tiver todas as respostas — por exemplo, um conjunto de respostas reutilizável para um CATALOG_ITEM - pule a sessão e envie diretamente com questionnaireResponseSubmit. Ele substitui qualquer resposta anterior pela mesma item e programa.

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}

Prefere responder sem inferência?questionnaireSessionStart abre uma sessão para os programas que você escolher e então você usa o mesmo Revise e corrija e Atestar chamadas acima.

Leia as respostas e a preparação 

Obtenha um registro finalizado com questionnaireResponse(id), e verifique se um todo o contêiner está pronto para ser arquivado containerComplianceReadiness -readyé true somente quando cada linha tiver uma resposta completa.

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

Próximas etapas 

Esta página foi útil?