DOCS

Menyelesaikan kuesioner

Clarify mengisi otomatis apa yang dapat dari data item Anda; Anda mengkonfirmasi atau memperbaiki sisanya, kemudian menyelesaikan.

GraphQL

Setelah Anda mengetahui program mana yang berlaku (lihat Periksa persyaratan kepatuhan), alur yang disarankan adalah tiga panggilan:

  1. Inferensi - complianceQuestionnaireInfer membuka sesi dengan jawaban yang sudah diisi otomatis dari data item Anda.
  2. Tinjau dan perbaiki - questionnaireAnswersSubmit untuk mengubah apa pun yang tidak disetujui pengirim dan menjawab yang tertinggal.
  3. Atestasi - questionnaireSessionAttest untuk menerima dan menyelesaikan.

Jika Anda sudah memiliki setiap jawaban, Anda dapat mengirimkan respons lengkap dalam satu panggilan sebagai gantinya — lihat Kirimkan respons lengkap di bawah.

Cakupan

Membaca memerlukan ruang lingkup COMPLIANCE_READ; mengirimkan jawaban memerlukan COMPLIANCE_WRITE. Lihat OAuth.

Nilai jawaban dikodekan JSON

Setiap value jawaban adalah string yang dikodekan JSON: boolean adalah "true", nilai pilih atau teks dikutip seperti "\"cosmetic\"", multi-pilih adalah "[\"a\",\"b\"]", dan angka adalah "42".

Inferensi dan isi otomatis 

complianceQuestionnaireInfer menyelesaikan program yang berlaku untuk item Anda, membuka sesi, dan menjawab otomatis pertanyaan dari data item Anda. Setiap jawaban yang sudah diisi otomatis memiliki provenance: INFERRED dan skor confidence.

Sertakan intendedUse untuk memandu inferensi — alur storefront harus mengirimkan 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}

Status state setiap baris memberi tahu Anda apa yang selanjutnya:

  • READY_TO_ATTEST - setiap pertanyaan yang diperlukan dijawab. Lanjutkan langsung ke Atestasi (di bawah).
  • PARTIAL - beberapa jawaban sudah diisi otomatis, tetapi pertanyaan yang diperlukan masih ada. Jawab mereka di currentQuestion.
  • NOT_INFERRED - tidak ada yang bisa diisi otomatis; jawab sebagai kuesioner biasa.

Program yang sudah terpenuhi oleh respons yang ada dilewati dan dikembalikan di alreadySatisfied (dihilangkan di atas).

Tinjau dan perbaiki 

Sesi menyimpan jawaban yang sudah diisi otomatis — bukan respons yang sudah selesai. Untuk setiap jawaban, pengirim melakukan salah satu:

  • menerima - meninggalkannya tidak tersentuh, dan tetap INFERRED, atau
  • memperbaiki - mengirimkan nilai baru dengan questionnaireAnswersSubmit, yang menjadi MANUAL.

Kirimkan satu jawaban atau beberapa sekaligus. Clarify memajukan currentQuestion ke pertanyaan yang tersisa berikutnya dan, ketika tidak ada yang tersisa, menyelesaikan baris respons (responseId-nya diisi).

Jawaban yang diterima disimpan, bukan dibuang

Memperbaiki satu jawaban hanya menggantikan jawaban itu. Respons yang sudah selesai menyimpan kumpulan penuh — jawaban yang diterima tetap INFERRED, perbaikan adalah MANUAL — jadi Anda selalu menyimpan catatan tentang apa yang AI berikan versus apa yang orang ubah.

Misalnya, pengirim menerima intended_use yang disimpulkan tetapi memperbaiki contains_color_additives, jadi mereka mengirimkan hanya jawaban itu:

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}

Atestasi 

Ketika baris READY_TO_ATTEST — setiap jawaban yang diperlukan sudah diisi otomatis dan pengirim setuju — terima dalam satu panggilan dengan questionnaireSessionAttest. Ini menyelesaikan setiap baris yang memenuhi syarat, atau hanya lineIds yang Anda sertakan.

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

Untuk membuang sesi yang sedang berlangsung, panggil questionnaireSessionAbandon(id: ID!).

Kirimkan respons lengkap 

Jika Anda sudah memiliki setiap jawaban — misalnya set jawaban yang dapat digunakan kembali untuk CATALOG_ITEM — lewati sesi dan kirimkan langsung dengan questionnaireResponseSubmit. Ini menggantikan respons sebelumnya untuk item dan program yang sama.

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}

Lebih suka menjawab tanpa inferensi? questionnaireSessionStart membuka sesi untuk program yang Anda pilih, dan kemudian Anda menggunakan Tinjau dan perbaiki dan panggilan Atestasi yang sama di atas.

Baca respons dan kesiapan 

Ambil catatan yang sudah selesai dengan questionnaireResponse(id), dan periksa apakah seluruh kontainer siap untuk diajukan dengan containerComplianceReadinessready adalah true hanya ketika setiap baris memiliki respons lengkap.

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

Langkah berikutnya 

Pesan demo

Apakah halaman ini bermanfaat?