Rest - Contacts - Participants - Questionnaires

From Views API Documentation
Jump to navigation Jump to search

Purpose

Used for submitting answer sets to questionnaires against participants and for retrieving the details of answered questionnaires that have been submitted against a participant. This is only really a filtered version of the Questionnaires - Answers API

Base URL

http://app.views.coop/api/restful/contacts/participants/<id>/questionnaires

  • id - This is the participant id

Schema

For details of the schemas, please refer to Rest - Evidence - Questionnaires - Answers

Fetching a list of answer sets

The default call will return a list of questionnaires (answer sets) that have been recorded against the participant

curl --url <Base URL> -u<username>:<password> -H Content-Type:text/xml

This will return data similar to the following:

<answersets count="7">
    <answerset id="1" questionnaireid="14">
        <EntityType>Person</EntityType>
        <EntityID>1</EntityID>
        <Date>2012-07-31T10:00:00</Date>
        <QuestionnaireID>14</QuestionnaireID>
        <AnswerSetID>1</AnswerSetID>
        <Questionnaire>Impact</Questionnaire>
    </answerset>
    <answerset id="4" questionnaireid="5">
        <EntityType>Person</EntityType>
        <EntityID>1</EntityID>
        <Date>2012-05-04T10:11:00</Date>
        <QuestionnaireID>14</QuestionnaireID>
        <AnswerSetID>4</AnswerSetID>
        <Questionnaire>Interests</Questionnaire>
    </answerset>
    ...
</answersets>

If you are only interested in a particular questionnaire, you should us the following:

curl --url <Base URL>/<questionnairId> -u<username>:<password> -H Content-Type:text/xml

This will return data similar to the following:

<answersets count="2">
    <answerset id="1" questionnaireid="14">
        <EntityType>Person</EntityType>
        <EntityID>1</EntityID>
        <Date>2012-07-31T10:00:00</Date>
        <QuestionnaireID>14</QuestionnaireID>
        <AnswerSetID>1</AnswerSetID>
        <Questionnaire>Impact</Questionnaire>
    </answerset>
    <answerset id="6" questionnaireid="14">
        <EntityType>Person</EntityType>
        <EntityID>1</EntityID>
        <Date>2012-05-02T09:10:00</Date>
        <QuestionnaireID>14</QuestionnaireID>
        <AnswerSetID>6</AnswerSetID>
        <Questionnaire>Impact</Questionnaire>
    </answerset>
</answersets>

The results are order by the most recent first. This means to get the latest version of a questionnaire, you would only need to fetch the first result.

Fetching the answers of a given questionnaire

curl --url <Base URL>/<questionnairId>/<answerSetId> -u<username>:<password> -H Content-Type:text/xml
  • questionnaireId - This is the id of the questionnaire
  • answerSetId - This is the id of the Answers Set you want to retrieve

It's will return somethinga along the lines of

<answerset questionaireid="14" answersetid="1">
    <EntityType>Person</EntityType>
    <EntityID>1</EntityID>
    <TargetType/>
    <TargetID>0</TargetID>
    <Date>2012-07-31T10:00:00</Date>
    <answers count="9">
        <answer id="78">
            <QuestionID>78</QuestionID>
            <Answer>Fully Agree</Answer>
        </answer>
        <answer id="79">
            <QuestionID>79</QuestionID>
            <Answer>Truly Agree</Answer>
        </answer>
        <answer id="80">
            <QuestionID>80</QuestionID>
            <Answer>Agree</Answer>
        </answer>
        ...
    </answers>
</answerset>