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.
mutation InferQuestionnaire($input: ComplianceQuestionnaireInferInput!) { complianceQuestionnaireInfer(input: $input) { session { id status lines { id programId status currentQuestion { code prompt answerType } } } lines { lineId state remainingRequiredCount } }}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 vidcurrentQuestion.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 blirMANUAL.
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).
Till exempel accepterar avsändaren den infererade intended_use men korrigerar
contains_color_additives, så de skickar in bara det ena svaret:
mutation SubmitAnswers($input: QuestionnaireAnswersSubmitInput!) { questionnaireAnswersSubmit(input: $input) { status lines { id status responseId answers { questionCode value provenance confidence } } }}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.
mutation AttestSession($input: QuestionnaireSessionAttestInput!) { questionnaireSessionAttest(input: $input) { id status lines { id status responseId } }}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.
mutation SubmitResponse($input: QuestionnaireResponseSubmitInput!) { questionnaireResponseSubmit(input: $input) { id status completedAt answers { questionCode value provenance } }}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 containerComplianceReadiness —
ready är true endast när varje rad har ett komplett response.
query ContainerReadiness($containerType: ContainerType!, $containerId: ID!) { containerComplianceReadiness( containerType: $containerType containerId: $containerId ) { ready totalLineCount outstandingLineCount }}Nästa steg
- Så fungerar det - branching, provenance, dynamiska alternativ och intended use.
- Kontrollera efterlevnadskrav - upptäck program och läs enkätstrukturer.
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:
complianceQuestionnaireInferöppnar en session med svar förifylda från era artikeldata.questionnaireAnswersSubmitför att ändra det avsändaren inte håller med om och svara på det som återstår.questionnaireSessionAttestfö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.
Läsning kräver scopet
COMPLIANCE_READ; att skicka in svar kräverCOMPLIANCE_WRITE. Se OAuth.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".