Wnioskuj i wstępnie wypełnij
complianceQuestionnaireInfer rozwiązuje obowiązujące programy dla Twoich przedmiotów,
otwiera sesję i wstępnie odpowiada na pytania na podstawie danych Twojego przedmiotu. Każda
wstępnie wypełniona odpowiedź ma provenance: INFERRED i wynik confidence.
Przekaż intendedUse aby prowadzić wnioskowanie — przepływy witryny sklepowej powinny wysłać CONSUMER.
mutation InferQuestionnaire($input: ComplianceQuestionnaireInferInput!) { complianceQuestionnaireInfer(input: $input) { session { id status lines { id programId status currentQuestion { code prompt answerType } } } lines { lineId state remainingRequiredCount } }}Stan każdej linii mówi ci, co dalej:
READY_TO_ATTEST- każde wymagane pytanie ma odpowiedź. Przejdź bezpośrednio do Potwierdź (poniżej).PARTIAL- niektóre odpowiedzi zostały wstępnie wypełnione, ale pozostały wymagane pytania. Odpowiedz im wcurrentQuestion.NOT_INFERRED- nic nie mogło być wstępnie wypełnione; odpowiedz na to jako zwykły kwestionariusz.
Programy już spełnione przez istniejącą odpowiedź są pomijane i zwracane w
alreadySatisfied (pominięte powyżej).
Przejrzyj i popraw
Sesja zawiera wstępnie wypełnione odpowiedzi — nie sfinalizowaną odpowiedź. Dla każdej odpowiedzi nadawca:
- przyjmuje ją — pozostawia ją niezmienioną, i pozostaje
INFERRED, lub - poprawia ją — przesyła nową wartość za pomocą
questionnaireAnswersSubmit, która staje sięMANUAL.
Prześlij jedną odpowiedź lub kilka naraz. Clarify przesuwa currentQuestion na
następne pozostałe pytanie i, gdy żadne nie pozostają, sfinalizuje odpowiedź linii
(jej responseId jest wypełniony).
Na przykład nadawca akceptuje wnioskowaną intended_use ale poprawia
contains_color_additives, więc przesyła tylko tę jedną odpowiedź:
mutation SubmitAnswers($input: QuestionnaireAnswersSubmitInput!) { questionnaireAnswersSubmit(input: $input) { status lines { id status responseId answers { questionCode value provenance confidence } } }}Potwierdź
Gdy linia jest READY_TO_ATTEST — każda wymagana odpowiedź już wstępnie wypełniona i
nadawca się zgadza — zaakceptuj ją za jednym razem za pomocą questionnaireSessionAttest. Ona
sfinalizuje każdą kwalifikującą się linię, lub tylko lineIds, które przejdziesz.
mutation AttestSession($input: QuestionnaireSessionAttestInput!) { questionnaireSessionAttest(input: $input) { id status lines { id status responseId } }}Aby porzucić sesję w toku, wywołaj questionnaireSessionAbandon(id: ID!).
Prześlij kompletną odpowiedź
Jeśli masz już każdą odpowiedź — na przykład zestaw odpowiedzi wielokrotnego użytku dla
CATALOG_ITEM — pomiń sesję i prześlij bezpośrednio za pomocą
questionnaireResponseSubmit. Zastępuje on każdą poprzednią odpowiedź dla tego samego
przedmiotu i programu.
mutation SubmitResponse($input: QuestionnaireResponseSubmitInput!) { questionnaireResponseSubmit(input: $input) { id status completedAt answers { questionCode value provenance } }}Wolisz odpowiadać bez wnioskowania? questionnaireSessionStart otwiera sesję
dla wybranych programów, a następnie używasz tych samych powyższych Przejrzyj i popraw oraz
Potwierdź wywołań.
Odczyt odpowiedzi i gotowości
Pobierz sfinalizowany zapis za pomocą questionnaireResponse(id) i sprawdź, czy
cały kontener jest gotów do wysłania za pomocą containerComplianceReadiness —
ready to true tylko wtedy, gdy każda linia ma kompletną odpowiedź.
query ContainerReadiness($containerType: ContainerType!, $containerId: ID!) { containerComplianceReadiness( containerType: $containerType containerId: $containerId ) { ready totalLineCount outstandingLineCount }}Następne kroki
- Jak to działa - rozgałęzienia, pochodzenie, opcje dynamiczne i zamierzone zastosowanie.
- Sprawdź wymagania zgodności - odkryj programy i przeczytaj struktury kwestionariuszy.
Ukończ kwestionariusz
Clarify wstępnie wypełnia dane z Twoich informacji o przedmiocie; ty potwierdzasz lub poprawiasz resztę, a następnie finalizujesz.
GraphQL
Gdy już wiesz, które programy mają zastosowanie (zobacz Sprawdź wymagania zgodności), zalecanym przepływem są trzy wywołania:
complianceQuestionnaireInferotwiera sesję z odpowiedziami wstępnie wypełnionymi z danych Twojego przedmiotu.questionnaireAnswersSubmitaby zmienić wszystko, z czym nadawca się nie zgadza, i odpowiedzieć na pozostałe pytania.questionnaireSessionAttestaby zaakceptować i sfinalizować.Jeśli masz już każdą odpowiedź, możesz przesłać kompletną odpowiedź za jednym razem zamiast tego — zobacz Prześlij kompletną odpowiedź poniżej.
Odczyt wymaga zakresu
COMPLIANCE_READ; przesyłanie odpowiedzi wymagaCOMPLIANCE_WRITE. Zobacz OAuth.Każda
valueodpowiedzi to łańcuch zakodowany JSON: zmienna logiczna to"true", wartość select lub text jest cytowana jak"\"cosmetic\"", wielokrotny wybór to"[\"a\",\"b\"]", a liczba to"42".