Statements the member must accept

Some questionnaires end with statements the member has to accept before the claim can be filed, such as confirming they are an authorized signer on the account. Get Questionnaire returns each statement as a question of its own, so each one is accepted on its own.

What they look like

A statement arrives as a question with inputType of INPUT_TYPE_CHECKBOX, exactly one entry in options, and no questionText.

{
  "questions": [
    {
      "questionUuid": "7c4f0b21-5a3e-4d18-9f62-1b0c8e5d4a77:authorizedSigner",
      "inputType": "INPUT_TYPE_CHECKBOX",
      "required": true,
      "options": [
        {
          "value": "authorizedSigner",
          "displayText": "I am an authorized signer, or otherwise have authority to act, on the account identified in this statement."
        }
      ]
    },
    {
      "questionUuid": "7c4f0b21-5a3e-4d18-9f62-1b0c8e5d4a77:notFraudulent",
      "inputType": "INPUT_TYPE_CHECKBOX",
      "required": true,
      "options": [
        {
          "value": "notFraudulent",
          "displayText": "I attest that the debit above was not originated with fraudulent intent by me or any person acting in concert with me."
        }
      ]
    }
  ]
}

Render one checkbox per question and use the option's displayText as its label. There is no heading to show above it.

Answering them

Send one questionnaireAnswers entry per statement, keyed by its own questionUuid, with the option's value as the answer.

{
  "transactionIds": ["txn-9f2a"],
  "customer": { "uuid": "09e01299-e3a7-46c3-af16-a8316c30619e" },
  "reason": "DISPUTE_REASON_UNAUTH",
  "questionnaireAnswers": [
    {
      "questionUuid": "7c4f0b21-5a3e-4d18-9f62-1b0c8e5d4a77:authorizedSigner",
      "answer": "authorizedSigner"
    },
    {
      "questionUuid": "7c4f0b21-5a3e-4d18-9f62-1b0c8e5d4a77:notFraudulent",
      "answer": "notFraudulent"
    }
  ]
}

Create Dispute rejects a submission that leaves a required question unanswered and names the questionUuid values it is missing, so a member who accepts one statement but not the rest cannot file.

Rules

  • Treat questionUuid as opaque. Statements from the same set share a prefix, the set's id and the statement's value joined by :. Pass the whole string back unchanged rather than splitting it.
  • Gate submission on every statement. Each one is a separate required question, so a single checked box satisfies only itself.
  • Conditions apply to the whole set. When an earlier answer reveals a set of statements, every statement in it carries the same conditions, so they appear and disappear together.
  • Ordinary checkboxes are unaffected. A select-all-that-apply question still arrives as one question carrying its full option list, answered with one entry naming what the member picked.