DOCS

Slutför en enkät

Slutför en enkät

Clarify förifyller vad den kan från era artikeldata; ni bekräftar eller korrigerar resten och slutför sedan.

GraphQL

När ni vet vilka program som gäller (se Kontrollera efterlevnadskrav), är det rekommenderade flödet tre anrop:

  1. Inferera - complianceQuestionnaireInfer öppnar en session med svar förifylda från era artikeldata.
  2. Granska och korrigera - questionnaireAnswersSubmit för att ändra det avsändaren inte håller med om och svara på det som återstår.
  3. Attestera - questionnaireSessionAttest för att acceptera och slutföra.

Om ni redan har alla svar kan ni skicka in ett komplett svar i ett enda anrop i stället — se Skicka in ett komplett svar nedan.

Scopes

Läsning kräver scopet COMPLIANCE_READ; att skicka in svar kräver COMPLIANCE_WRITE. Se OAuth.

Svarsvärden är JSON-kodade

Varje svars-value är en JSON-kodad sträng: ett boolean-värde är "true", ett select- eller textvärde är citerat som "\"cosmetic\"", ett multi-select är "[\"a\",\"b\"]", och ett tal är "42".

Inferera och förifyll 

complianceQuestionnaireInfer löser ut tillämpliga program för era artiklar, öppnar en session och förifyller frågor från era artikeldata. Varje förifyllt svar har provenance: INFERRED och en confidence-poäng.

Ange intendedUse för att styra inferensen — storefront-flöden bör skicka 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}

Varje rads state talar om vad som kommer härnäst:

  • READY_TO_ATTEST - varje obligatorisk fråga är besvarad. Gå direkt till Attestera (nedan).
  • PARTIAL - vissa svar har förifyllts, men obligatoriska frågor återstår. Svara på dem vid currentQuestion.
  • NOT_INFERRED - ingenting kunde förifyllas; besvara den som en vanlig enkät.

Program som redan är uppfyllda av ett befintligt svar hoppas över och returneras i alreadySatisfied (utelämnat ovan).

Granska och korrigera 

Sessionen innehåller förifylda svar — inte ett slutgiltigt response. För varje svar antingen:

  • accepterar avsändaren det — lämnar det orört, och det förblir INFERRED, eller
  • korrigerar det — skickar in ett nytt värde med questionnaireAnswersSubmit, som blir MANUAL.

Skicka in ett svar eller flera på en gång. Clarify flyttar fram currentQuestion till nästa återstående fråga och, när inga återstår, slutför radens response (dess responseId fylls i).

Accepterade svar behålls, de kastas inte

Att korrigera ett svar åsidosätter endast det svaret. Det slutgiltiga response innehåller den fulla uppsättningen — accepterade svar förblir INFERRED, korrigeringar är MANUAL — så att ni alltid behåller en post över vad AI:n angav kontra vad en person ändrade.

Till exempel accepterar avsändaren den infererade intended_use men korrigerar contains_color_additives, så de skickar in bara det ena svaret:

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}

Attestera 

När en rad är READY_TO_ATTEST — varje obligatoriskt svar redan förifyllt och avsändaren godkänner — acceptera den i ett anrop med questionnaireSessionAttest. Den slutför varje berättigad rad, eller endast de lineIds ni anger.

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

För att kasta en pågående session, anropa questionnaireSessionAbandon(id: ID!).

Skicka in ett komplett svar 

Om ni redan har varje svar — till exempel en återanvändbar svarsuppsättning för en CATALOG_ITEM — hoppa över sessionen och skicka in direkt med questionnaireResponseSubmit. Den ersätter eventuellt tidigare response för samma artikel och program.

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}

Föredrar ni att svara utan inferens? questionnaireSessionStart öppnar en session för de program ni väljer, och sedan använder ni samma anrop för Granska och korrigera och Attestera ovan.

Läs responses och readiness 

Hämta en slutgiltig post med questionnaireResponse(id), och kontrollera om en hel container är redo att lämnas in med containerComplianceReadinessready är true endast när varje rad har ett komplett response.

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

Nästa steg 

Boka en demo

Var den här sidan till hjälp?