Questions and Answers
Overview
The Questions and Answers (Q&A) feature provides you with an easy way to retrieve compliance questions from Solaris (e.g., for Customer Due Diligence), collect answers from the customer in your solution, and then pass the answers back to Solaris.
For the Customer Due Diligence use case, Solaris will generally create question sets in case a customer ends up with a "yellow" status during screening.
This guide explains the flow behind the Q&A API and how to implement it in your solution.
Partner flow: Q&A
The Q&A process works as follows:
- Solaris creates a set of due diligence questions for one of your customers based
on an internal event (e.g., findings as part of the Customer Due
Diligence process). These are stored as an array of
question
resources within a singlequestion_set
resource. -
Solaris will send a notification on the
QUESTIONS_REQUIRE_RESPONSE
webhook event. The payload will contain the following:-
The recipient of the question set. This can be one of the following:
CUSTOMER
: You must prompt your customer in your frontend to answer the questions by the deadline.PARTNER
: Your support department must answer the questions. In this case, do not show the questions to the customer.
- The set of questions to be answered.
- The deadline by which the recipient must answer the questions in the set.
-
- Derive the questions from the webhook payload (or by calling GET Retrieve questions in a question set and prompt your customer to answer them in your frontend.
-
For each question in the set, call PATCH Create answer for a question.
- If the question requires the customer to upload a document (i.e., it has an
answer_type
value ofTEXT_AND_FILES
), then use the POST Upload a document for a person or POST Upload a document for a business endpoint to upload it. Submit the document ID as a value of theattachments
property in the answer.
- If the question requires the customer to upload a document (i.e., it has an
- Solaris will review the answers. If more follow-up questions become necessary, then Solaris will create a new
question_set
resource and the process will restart from step 1.
important
- Solaris will not review the answers to the questions until you create an
answer for each question in the set and mark each one as
ready_for_review
. - If a customer fails to answer all questions before the deadline, then Solaris will initiate a regular account closure shortly thereafter. Contact your Partner Manager for more information about this process.
- Solaris will not send any reminders about the deadline; this responsibility falls on the partners.
- If the
recipient
of a question set isPARTNER
, then your support department must answer the questions. Do not show these questions to the customer.
Q&A API endpoints
PATCH Create an answer for a question
This endpoint creates an answer for a single question in a question set.
Note that Solaris will not review answers until you set the value of
ready_to_review
to true
for each question in the question set.
Request URL:
PATCH /v1/question_set/{question_set_id}/questions/{question_id}/answer
Request example:
{
"response": "Here is my answer to the question",
"partner_notes": "Optional notes",
"attachments": [
"4c9464a1a29cbb5cf6090463ef7f49b9cdoc",
"876464a1a29cbb5cf6090463ef7f49a6cdoc"
],
"ready_for_review": true
}
Response example:
{
"id": "1f0130f81d84ed3c75b32c428d5d7d93cqst",
"question": "Provide your annual KYC report.",
"answer_type": "TEXT_AND_FILES",
"deadline": "2022-09-15T11:20:16.840208Z",
"allowed_document_types": [
"KYC_REPORT"
],
"created_at": "2022-09-15T11:20:16.920885Z",
"updated_at": "2022-09-15T11:20:16.920914Z",
"answer": {
"response": "Here is my annual KYC report",
"partner_notes": "Optional partner notes",
"attachments": [
"4c9464a1a29cbb5cf6090463ef7f49b9cdoc"
],
"ready_for_review": true
}
}
Click here to view the full documentation.
GET Retrieve questions in a question set
This endpoint returns an array containing each question in a question set.
Request URL:
GET /v1/questions/{question_set_id}
Response example:
{
"id": "b4897de4ad4142faa0a7822b84edf597cqset",
"entity_id": "1fa130f81d84ed3c75b32c428d5d7d93cper",
"context_id": "1fa130f81d84ed3c75b32c428d5d7d93ccnt",
"description": "some description",
"deadline": "2023-12-07T00:00:00Z",
"recipient": {
"recipient_id": "1fa130f81d84ed3c75b32c428d5d7d93cper",
"recipient_type": "CUSTOMER"
},
"questions": [
{
"id": "1f0130f81d84ed3c75b32c428d5d7d93cqst",
"question\"": "Provide your current address.",
"answer_type\"": "TEXT_AND_FILES",
"deadline\"": "2022-09-15T11:20:16.840208Z",
"allowed_document_types\"": "KYC_REPORT"
}
]
}
Click here to view the full documentation.
Testing
To test this feature, implement the following steps on one or more of the testing environments:
- Create a person.
- Complete customer KYC for the person.
- Create a suspicious device activity using the suspicious test ID in the linked guide.
Solaris will auto-generate a question set for the customer, and you will receive a webhook notification as described above.