Rest - Contacts - Participants - Questionnaires: Difference between revisions

From Views API Documentation
Jump to navigation Jump to search
Line 60: Line 60:


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.
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>

Revision as of 10:54, 3 August 2012

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>