Çıkarımsama ve önceden doldurma
complianceQuestionnaireInfer, öğeleriniz için geçerli programları çözer,
bir oturum açar ve soruları öğe verilerinizden önceden yanıtlar. Her
önceden doldurulmuş yanıt provenance: INFERRED ve bir confidence puanı vardır.
Çıkarımı rehberlik etmek için intendedUse geçin — vitrin akışları CONSUMER göndermeli.
mutation InferQuestionnaire($input: ComplianceQuestionnaireInferInput!) { complianceQuestionnaireInfer(input: $input) { session { id status lines { id programId status currentQuestion { code prompt answerType } } } lines { lineId state remainingRequiredCount } }}Her satırın state sizi neler beklediğini söyler:
READY_TO_ATTEST- her gerekli soru yanıtlanmıştır. Doğrudan Onaylama (aşağı) bölümüne gidin.PARTIAL- bazı yanıtlar önceden doldurulmuştur, ancak gerekli sorular kalır. BunlarıcurrentQuestionkonumunda yanıtlayın.NOT_INFERRED- hiçbir şey önceden doldurulamaz; bunu adi bir anket olarak yanıtlayın.
Mevcut bir yanıt tarafından zaten karşılanan programlar atlanır ve
alreadySatisfied konumunda döndürülür (yukarıda atlanmıştır).
İnceleme ve düzeltme
Oturum önceden doldurulmuş yanıtlar — sonlandırılmış bir yanıt değil tutmaktadır. Her yanıt için, kargo görevlisi şunlardan biri yapar:
- kabul eder — bunu dokunmadan bırakır ve
INFERREDkalır, veya - düzeltir —
questionnaireAnswersSubmitile yeni bir değer gönderir, buMANUALolur.
Bir yanıt veya bir kerede birkaç yanıt gönderin. Clarify currentQuestion öğesini
bir sonraki kalan soruya ilerletir ve hiçbiri kalmazsa, satırın
yanıtını sonlandırır (responseId doldurulur).
Örneğin, kargo görevlisi çıkarılan intended_use kabul eder ancak
contains_color_additives değerini düzeltir, bu nedenle yalnızca o yanıtı gönderir:
mutation SubmitAnswers($input: QuestionnaireAnswersSubmitInput!) { questionnaireAnswersSubmit(input: $input) { status lines { id status responseId answers { questionCode value provenance confidence } } }}Onaylama
Bir satır READY_TO_ATTEST olduğunda — her gerekli yanıt zaten önceden doldurulmuştur ve
kargo görevlisi anlaşıyor — questionnaireSessionAttest ile bir çağrıda kabul edin. Bu
her uygun satırı sonlandırır veya yalnızca ilettiğiniz lineIds sonlandırır.
mutation AttestSession($input: QuestionnaireSessionAttestInput!) { questionnaireSessionAttest(input: $input) { id status lines { id status responseId } }}Devam eden bir oturumu atmak için questionnaireSessionAbandon(id: ID!) çağrısını yapın.
Tam bir yanıt gönder
Zaten her yanıta sahipseniz — örneğin bir CATALOG_ITEM için yeniden kullanılabilir bir yanıt seti —
oturumu atla ve doğrudan questionnaireResponseSubmit ile gönder. Bu, aynı öğe ve program için
önceki herhangi bir yanıtın yerini alır.
mutation SubmitResponse($input: QuestionnaireResponseSubmitInput!) { questionnaireResponseSubmit(input: $input) { id status completedAt answers { questionCode value provenance } }}Çıkarsama olmadan yanıtlamayı tercih edersiniz? questionnaireSessionStart seçtiğiniz
programlar için bir oturum açar ve ardından yukarıdaki aynı İnceleme ve düzeltme ve
Onaylama çağrılarını kullanırsınız.
Yanıtları ve hazırlığı okuyun
Sonlandırılmış bir kaydı questionnaireResponse(id) ile getirin ve tüm bir
konteyner dosya alma için hazırsa containerComplianceReadiness ile kontrol edin —
ready yalnızca true olur her satır tam bir yanıta sahip olduğunda.
query ContainerReadiness($containerType: ContainerType!, $containerId: ID!) { containerComplianceReadiness( containerType: $containerType containerId: $containerId ) { ready totalLineCount outstandingLineCount }}Sonraki adımlar
- Nasıl çalışır - dallanma, çıkarsama, dinamik seçenekler ve amaçlanan kullanım.
- Uyum gereksinimlerini kontrol et - programları bulun ve anket yapılarını okuyun.
Anketleri tamamla
Clarify, öğe verilerinizden yapabileceği şeyleri önceden doldurur; siz kalanını onaylarsınız veya düzeltir, sonra sonlandırırsınız.
GraphQL
Hangi programların geçerli olduğunu öğrendikten sonra (bkz. Uyum gereksinimlerini kontrol et), önerilen akış üç çağrıdır:
complianceQuestionnaireInferyanıtları önceden doldurulmuş olarak bir oturum açar.questionnaireAnswersSubmitkargo görevlisinin anlaşmadığı herhangi bir şeyi değiştirmek ve kalanını yanıtlamak için.questionnaireSessionAttestkabul etmek ve sonlandırmak için.Zaten her yanıta sahipseniz, bunun yerine bir çağrıda tam bir yanıt gönderebilirsiniz — aşağıdaki Tam bir yanıt gönder konusuna bakın.
Okuma
COMPLIANCE_READkapsamını gerektirir; yanıtları göndermekCOMPLIANCE_WRITEgerektirir. Bkz. OAuth.Her yanıt
value, JSON kodlanmış bir dizedir: bir boole"true"olur, bir seç veya metin değeri"\"cosmetic\""gibi alıntılanır, çok seçmeli"[\"a\",\"b\"]"olur ve bir sayı"42"olur.