DOCS

Complete a questionnaire

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:

  1. Wnioskuj - complianceQuestionnaireInfer otwiera sesję z odpowiedziami wstępnie wypełnionymi z danych Twojego przedmiotu.
  2. Przejrzyj i popraw - questionnaireAnswersSubmit aby zmienić wszystko, z czym nadawca się nie zgadza, i odpowiedzieć na pozostałe pytania.
  3. Potwierdź - questionnaireSessionAttest aby 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.

Zakresy

Odczyt wymaga zakresu COMPLIANCE_READ; przesyłanie odpowiedzi wymaga COMPLIANCE_WRITE. Zobacz OAuth.

Wartości odpowiedzi są kodowane JSON

Każda value odpowiedzi 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".

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.

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}

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 w currentQuestion.
  • 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).

Zaakceptowane odpowiedzi są zachowywane, nie odrzucane

Poprawienie jednej odpowiedzi zastępuje tylko tę odpowiedź. Sfinalizowana odpowiedź zawiera pełny zestaw — zaakceptowane odpowiedzi pozostają INFERRED, poprawki są MANUAL — więc zawsze zachowasz zapis tego, co dostarczył AI, w stosunku do tego, co zmienił człowiek.

Na przykład nadawca akceptuje wnioskowaną intended_use ale poprawia contains_color_additives, więc przesyła tylko tę jedną odpowiedź:

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}

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.

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

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.

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}

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ą containerComplianceReadinessready to true tylko wtedy, gdy każda linia ma kompletną odpowiedź.

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

Następne kroki 

Book a demo

Was this page helpful?