SIGN UP FREE

QuestionPro Communities- Developer API

panelMemberUpdate

Method: questionpro.micropanel.panelMemberUpdate

You can use the panelMemberUpdate method to update or modify the community members profile.

JSON Data Format: The JSON format starts with the community Members object which is an array where each element has parameters for the specified community Member to be updated. Each JSON parameter has been explained below. After the JSON parameters there is an example of JSON structure with explanation.

Attributes

Name Value Required
apiKey Encrypted alphanumeric string to authenticate your credentials.Please refer the following link for further information: API KEY
emailAddress Email Address of the community Member whose profile needs to be updated. Community member is identified on the basis of email Address. It is a required field.

NOTE:-If community member is not found for the given email address new community member will be created.

firstName First name of the community member.
address1 Address1
address2 Address2
City City
State State
zipCode Zip code
Country Country
fields Profile fields array where each element is the profile field that needs to be updated. The details for how to construct each element for this array is given below.
id ID of the profile field that needs to be updated. This will be provided by us. It is unique for each profile field.
answers This field is required ONLY for single-select and multiple-select profile field Types. It is a JSON array with each element being the index of the option selected. For e.g. If the field is multiple-select and has five options. And user selects 1st and 3rd option the values sent should be 0 & 2. For single-select field only one value needs to be sent. NOTE:- The answer index starts from 0.
date This field is only required for date/birthday profile field type. The date must be in the format : MM-dd-yyyy.
text This field is only required for free form profile field types (large text, single line text box, numeric) and zip code profile field type.

NOTE:

All the parameter names are Case Sensitive.

For each member added through API call an email-verification Email will be sent if Double-Opt-In Verification is turned on. To disable got to: Login>>Communities>>Email Preferences>>(New User Email Verification Template)>>(Enable Double Opt/In Verification Email for Web-Signups - Template)

Example:

Below is an example of JSON format for updating details for two community members ([email protected] & [email protected]). For both community members we are updating four fields. Where profile fields are:
Field id-1001 is a Multiple-select field type having 5 options. abc has selected 2nd & 4th option and xyz has selected 1st , 3rd & 5th option. Note that option index starts from 0.
Field id-1002 is Single-select having 4 options. abc has selected 3rd option and xyz has selected 4th option.
Field id-1003 is Date type. Date must be in format ‚MM-dd-yyyy. Field id- 1004 is a Large text description type.

URL

www.questionpro.com/a/api/questionpro.micropanel. panelMemberUpdate ?apiKey={ API-KEY }

Sample

{ "communityMembers": [ { "emailAddress": "[email protected]", "firstName": "abc", "lastName": "last name", "address1": "1234 W Main St.", "address2": "Suite 102", "city": "Newark", "state": "New Jersey", "zipCode": "37064", "country": "USA", "fields": [ { "id": 1001, "answers": [ 1, 3 ] }, { "id": 1002, "answers": [ 2 ] }, { "id": 1003, "date": "04-22-2012" }, { "id": 1004, "text": "No comments" } ] }, { "emailAddress": "[email protected]", "firstName": "xyz", "lastName": "last name", "fields": [ { "id": 1001, "answers": [ 0, 2, 4 ] }, { "id": 1002, "answers": [ 3 ] }, { "id": 1003, "date": "04-21-2012" }, { "id": 1004, "text": "It was a great experience." } ] } ] }

panelDataExport

Method: questionpro.micropanel.panelDataExport

You can use the panelDataExport method to export details for all the Community Members.

Attributes

Name Value Required
apiKey Encrypted alphanumeric string to authenticate your credentials.Please refer the following link for further information: API KEY

URL

www.questionpro.com/a/api/questionpro.micropanel.panelDataExport ?apiKey={ API-KEY }

Sample

{ "response": { "id": 9100, "title": "Community Name", "name": "Community Name", "report": { "title": "Panel Data Export", "data": [ { "US universities": "", "Last Invitation Date": "", "Surveys Sent": 0, "Profile Complete Date": "", "Completed Surveys": 0, "single select global": "", "Timestamp": "2012-03-23 01:44:17.0", "Zip code": "", "Signup IP Address": "Imported Member", "Source": "Survey", "Status": "New", "Birthday": "", "Total Points": 10, "ID": 789356, "Tracking Source": "", "Email Address": "[email protected]", "Zip Code": "", "US university 2": "", "Last Name": "Sharma", "First Name": "Vishal" }, { "US universities": "", "Last Invitation Date": "2012-03-11 08:26:15.0", "Surveys Sent": 10, "Profile Complete Date": "2012-02-15 21:37:31.0", "Completed Surveys": 3, "single select global": "1", "Timestamp": "2011-12-29 03:41:04.0", "Zip code": "1234", "Signup IP Address": "Imported Member", "Source": "Upload", "Status": "Verified", "Birthday": "1901-01-01", "Total Points": 90, "ID": 316486, "Tracking Source": "", "Email Address": "[email protected]", "Zip Code": "1234", "US university 2": "", "Last Name": "", "First Name": "" } ] } }, "status": { "message": "OK", "id": 200, "method": "questionpro.micropanel.panelDataExport", "serverUTC": 1335427753345, "url": "/a/api/questionpro.micropanel.panelDataExport", "apiKey": "7042c040-11a7-4344-a8b2-66cd473fee6b" } }

exportRewardStats

Method: questionpro.micropanel. exportRewardStats

You can use the exportRewardStats method to export the Rewards Summary report and details for each reward.

Attributes

Name Value Required
apiKey Encrypted alphanumeric string to authenticate your credentials.Please refer the following link for further information: API KEY

URL

www.questionpro.com/a/api/questionpro.micropanel. exportRewardStats ?apiKey={ API-KEY }

Sample

{ "response": { "id": 9100, "title": "Community Name", "name": "Community Name", "report": { "sheets": [ { "title": "Rewards Summary Report", "data": [ { "Status": "Active", "Reward ": "$10 Amazon Gift Certificate", "ID": 673, "Points required to Claim": 0 } ] }, { "Reward ID": 673, "title": "Summary for $10 Amazon Gift Certificate", "Reward": "$10 Amazon Gift Certificate", "data": [] } ] } }, "status": { "message": "OK", "id": 200, "method": "questionpro.micropanel.exportRewardStats", "serverUTC": 1335427846205, "url": "/a/api/questionpro.micropanel.exportRewardStats", "apiKey": "7042c040-11a7-4344-a8b2-66cd473fee6b" } }

panelMemberExport

Method: questionpro.micropanel.panelMemberExport

You can use the panelMemberExport method to view community member details for Active Campaign Batches. You can view each member's survey Status (completed, pending, etc.), reminder count, points, etc.

Attributes

Name Value Required
apiKey Encrypted alphanumeric string to authenticate your credentials.Please refer the following link for further information: API KEY

URL

www.questionpro.com/a/api/questionpro.micropanel.panelMemberExport ?apiKey={ API-KEY }

Sample

{ "response": { "id": 9100, "title": "Community Name", "name": "Community Name", "report": { "title": "Panel Member Data", "data": [ { "Status": "Pending", "Response ID": 0, "Survey ID": 2817650, "Survey Name": "One Question", "Community Member ID": 316486, "Email Address": "[email protected]", "Points": 25, "Reminder Count": 0, "Timestamp": "2012-03-11 08:26:15.0" }, { "Status": "Pending", "Response ID": 0, "Survey ID": 2817650, "Survey Name": "One Question", "Community Member ID": 316486, "Email Address": "[email protected]", "Points": 25, "Reminder Count": 0, "Timestamp": "2012-02-11 02:38:38.0" }, { "Status": "Terminated", "Response ID": 6231410, "Survey ID": 2903524, "Survey Name": "survey with terminate", "Community Member ID": 316486, "Email Address": "[email protected]", "Points": 10, "Reminder Count": 0, "Timestamp": "2012-02-15 21:36:22.0" } ] } }, "status": { "message": "OK", "id": 200, "method": "questionpro.micropanel.panelMemberExport", "serverUTC": 1335427623336, "url": "/a/api/questionpro.micropanel.panelMemberExport", "apiKey": "7042c040-11a7-4344-a8b2-66cd473fee6b" } }

getSampleCriteria

Method: questionpro.micropanel. getSampleCriteria

You can use the getSampleCriteria call to get the available sample criteria to select/filter members.

Attributes

Name Value Required
title Community name.
customFieldCriteria Array of all the profile fields (only single-select & multi-select)
customFieldID Profile field ID. This is required for other API calls: getCountForSample & getPricingForSample
title Profile field title
type Profile field type. 21=Multi-select, 20=Single-select
customFieldChoices Array of choices available for the given profile field
name Profile field choice name
choiceID Profile field choice ID. This is required for other API calls: getCountForSample & getPricingForSample

URL

www.questionpro.com/a/api/questionpro.micropanel.getSampleCriteria?apiKey={API-KEY}

Sample

{ "response": { "title": "Sample Community", "customFieldCriteria": [ { "customFieldID": 426, "title": "Which country do you live in?", "customFieldChoices": [ { "name": "India", "choiceID": 472 }, { "name": "USA", "choiceID": 473 }, { "name": "Canada", "choiceID": 474 }, { "name": "England", "choiceID": 475 }, { "name": "France", "choiceID": 493 } ], "label": "Which country do you live in?", "type": 21 }, { "customFieldID": 437, "title": "In which type of industry do you work?", "customFieldChoices": [ { "name": "Healthcare", "choiceID": 485 }, { "name": "Education", "choiceID": 486 }, { "name": "Banking/Finance", "choiceID": 487 }, { "name": "Government", "choiceID": 488 } ], "label": "In which type of industry do you work?", "type": 20 }, { "customFieldID": 438, "title": "Do you work full-time or part-time?", "customFieldChoices": [ { "name": "Full-Time", "choiceID": 489 }, { "name": "Part-Time", "choiceID": 490 } ], "label": "Do you work full-time or part-time?", "type": 20 } ], "description": "Sample Community" }, "status": { "message": "OK", "id": 200, "method": "questionpro.micropanel.getSampleCriteria", "serverUTC": 1391507297387, "url": "/a/api/questionpro.micropanel.getSampleCriteria", "apiKey": "3d14fd32-5ec7-4c60-bc49-583e01fa528a" } }

getCountForSample

Method: questionpro.micropanel.getCountForSample

You can use the getCountForSample call to get the available sample count for given selection/sample criteria.

Attributes

Name Value Required
apiKey Encrypted alphanumeric string to authenticate your credentials.Please refer the following link for further information: API KEY
customFieldCriteria JSON array in which each element is a profile field for which you want to filter community members.
customFieldID ID of the profile field. It is unique for each profile field. See getSampleCriteria API call on how to get the profile field IDs. NOTE: Only single-select & multi-select fields are allowed in selection criteria.
customFieldChoices It is a JSON array with each element being the choice ID of the profile field choices. See getSampleCriteria API call on how to get the profile field IDs and choice IDs.
availableSampleCount Number of community members available for the give sample/selection criteria.
title Community name/title.

URL

www.questionpro.com/a/api/questionpro.micropanel.getCountForSample?apiKey={API-KEY}

Input JSON

{ "customFieldCriteria": [ { "customFieldID": 426, "customFieldChoices": [ 472 ] } ] }

Response JSON

{ "response": { "availableSampleCount": 5291, "title": "Sample Community" }, "status": { "message": "OK", "id": 200, "method": "questionpro.micropanel.getCountForSample", "serverUTC": 1391512758696, "url": "/a/api/questionpro.micropanel.getCountForSample", "apiKey": "3d14fd32-5ec7-4c60-bc49-583e01fa528a" } }

getPricingForSample

Method: questionpro.micropanel.getPricingForSample

You can use the getPricingForSample call to get the price per response for the given selection/sample criteria.

Attributes

Name Value Required
apiKey Encrypted alphanumeric string to authenticate your credentials.Please refer the following link for further information: API KEY
customFieldCriteria JSON array in which each element is a profile field for which you want to filter community members.
customFieldID ID of the profile field. It is unique for each profile field. See getSampleCriteria API call on how to get the profile field IDs. NOTE: Only single-select & multi-select fields are allowed in selection criteria.
customFieldChoices It is a JSON array with each element being the choice ID of the profile field choices. See getSampleCriteria API call on how to get the profile field IDs and choice IDs.
costPerResponse Cost per response for give selection/sample criteria.
title Community name/title.

NOTE:

All the parameter names are Case Sensitive.

URL

www.questionpro.com/a/api/questionpro.micropanel.getPricingForSample?apiKey={API-KEY}

Input JSON

{ "customFieldCriteria": [ { "customFieldID": 426, "customFieldChoices": [ 472 ] } ] }

Response JSON

{ "response": { "title": "Sample Community", "costPerResponse": 5 }, "status": { "message": "OK", "id": 200, "method": "questionpro.micropanel.getPricingForSample", "serverUTC": 1391513279758, "url": "/a/api/questionpro.micropanel.getPricingForSample", "apiKey": "3d14fd32-5ec7-4c60-bc49-583e01fa528a" } }

executeSampleForCriteria

Method: questionpro.micropanel.getPricingForSample

You can use the executeSampleForCriteria API call to send survey invitation to community members for the given selection/sample criteria.

Attributes

Name Value Required
apiKey Encrypted alphanumeric string to authenticate your credentials.Please refer the following link for further information: API KEY
customFieldCriteria JSON array in which each element is a profile field for which you want to filter community members.
isExternalSurvey True if you are using system OTHER than questionpro. For more information see 'External Passback Link' in 'You may also be interested in...' section at the bottom of page.
externalSurveyURL Required if 'isExternalSurvey' parameter is true. For more information see 'External Passback Link' in 'You may also be interested in...' section at the bottom of page.
surveyName Required if 'isExternalSurvey' parameter is true. Name of the external survey.
surveyID Required if 'isExternalSurvey' parameter is false. ID of the survey you want to deploy.
emailSubject Email Subject
emailMessage Email message body.
completePoint Points to be awarded to community member for completing survey.
terminatePoint Points to be awarded to community member if survey is terminated.
quotaPoint Points to be awarded to community member if survey quota is over.
surveyLength Duration of Survey in minutes
isStickyMode Allow survey to be taken multiple times by same community member.
customFieldID ID of the profile field. It is unique for each profile field. See getSampleCriteria API call on how to get the profile field IDs. NOTE: Only single-select & multi-select fields are allowed in selection criteria.
customFieldChoices It is a JSON array with each element being the choice ID of the profile field choices. See getSampleCriteria API call on how to get the profile field IDs and choice IDs.
success 'success' message if batch was sent successfully
errors Array of errors.
title Community name/title.

URL

www.questionpro.com/a/api/questionpro.micropanel.executeSampleForCriteria?apiKey={API-KEY}

Input JSON

{ "customFieldCriteria": [ { "customFieldID": 426, "customFieldChoices": [ 472 ] } ], "isExternalSurvey": false, "surveyID": 3652, "emailSubject": "Take survey now!", "emailMessage": "Thank you for joining the research community. We have a very interesting study for you, which shouldn't take more than 8 minutes of your time. As always, we value your feedback and assure you that the data collected will only be used for research purposes. In essence, we ask that you provide your candid and honest opinion" }

Response JSON

Success:

{ "response": { "title": "Sample Community", "success": "Batch created successfully. Delivery in progress." }, "status": { "message": "OK", "id": 200, "method": "questionpro.micropanel.executeSampleForCriteria", "serverUTC": 1391587759449, "url": "/a/api/questionpro.micropanel.executeSampleForCriteria", "apiKey": "3d14fd32-5ec7-4c60-bc49-583e01fa528a" } }

Error:

{ "response": { "title": "Sample Community", "errors": [ "Survey not found for ID 32652" ] }, "status": { "message": "OK", "id": 200, "method": "questionpro.micropanel.executeSampleForCriteria", "serverUTC": 1391588038334, "url": "/a/api/questionpro.micropanel.executeSampleForCriteria", "apiKey": "3d14fd32-5ec7-4c60-bc49-583e01fa528a" } }

getRewardsListForMember

Method: questionpro.micropanel. getRewardsListForMember

The JSON Format contains the key value pair of the required parameter.

Attributes

Name Value Required
apiKey Encrypted alphanumeric string to authenticate your credentials.Please refer the following link for further information: API KEY
panelID Community ID of the Comminuty for which Rewards List is required.
memberEmailAddress Email Address of the community member. Community member is identified on the basis of email Address. It is a required field.
panelID An unique ID of the Community.
panelMemberID This is an unique ID of the community member.
Rewards It is a JSON array where each element represents reward details.
qPointRewardID An unique ID of the Reward
giftCardDescription Reward gift card description
imageUrl gift card image url
points Reward points
isEligibleForRedemption A flag with values of "Y" or "N" indicating rewards eligibility for redemption
eligibleForRedemptionMessage Rewards eligibility for redemption message

NOTE:

All the parameter names are Case Sensitive.

URL

www.questionpro.com/a/api/questionpro.micropanel. getRewardsListForMember ?apiKey={ API-KEY }

Input JSON

{ "memberEmailAddress": "[email protected]" }

Response JSON

{ "response": { "panelID": 571, "panelMemberID": 1217, "Rewards": [ { "eligibleForRedemptionMessage": "Redeem Reward", "giftCardDescription": "$10 Amazon.com Gift Card", "imageUrl": "https://www.questionpro.com/images/amazon.gif", "qPointRewardID": 311, "points": 100, "isEligibleForRedemption": "Y" }, { "eligibleForRedemptionMessage": "Redeem Reward", "giftCardDescription": "2 Movie Tickets", "imageUrl": "https://www.questionpro.com/images/movie-ticket.jpg", "qPointRewardID": 312, "points": 100, "isEligibleForRedemption": "Y" }, { "eligibleForRedemptionMessage": "Not Available", "giftCardDescription": "1000 Points = $10 Donation", "imageUrl": "https://www.questionpro.com/images/charity.png", "qPointRewardID": 313, "points": 100, "isEligibleForRedemption": "N" }, { "eligibleForRedemptionMessage": "Redeem Reward", "giftCardDescription": "$10 Amazon.ca", "imageUrl": "https://dwwvg90koz96l.cloudfront.net/graphics/item-images/amazon-canada-gift-card.png", "qPointRewardID": 315, "points": 100, "isEligibleForRedemption": "Y" } ] }, "status": { "message": "OK", "id": 200, "method": "questionpro.micropanel.getRewardsListForMember", "serverUTC": 1403775450735, "url": "/a/api/questionpro.micropanel.getRewardsListForMember", "apiKey": "44262182-f3d2-410c-9fb8-675042180785" } }

redeemReward

Method: questionpro.micropanel. redeemReward

You can use the redeemReward API call to redeem points against reward. You can view the redemption reward details such as rewardID, amount redeemed, reward identifier, redeem message, etc.

The JSON Format contains the key value pair of the required parameter.

Attributes

Name Value Required
apiKey Encrypted alphanumeric string to authenticate your credentials.Please refer the following link for further information: API KEY
panelID Community ID of the Comminuty for which Rewards List is required.
memberEmailAddress Email Address of the community member. Community member is identified on the basis of email Address. It is a required field.
rewardID The id of the Reward for which the points has to be redeemed.
disclaimerAccepted Survey Analytics is not liable for redemption related issues
panelID An unique ID of the Community.
panelMemberID This is an unique ID of the community member.
amountRedeemed The amount which is redeemed
redeemMessage Reward redemption status message
redeemedDate Reward redemption date
rewardIdentifier Reward description
qPointRewardID Reward ID
orderID This is the merchant transaction ID for the Tango Card

NOTE:

All the parameter names are Case Sensitive.

URL

www.questionpro.com/a/api/questionpro.micropanel. redeemReward ?apiKey={ API-KEY }

Input JSON

{ "memberEmailAddress": "[email protected]", "rewardID": 315, "disclaimerAccepted": "Survey Analytics is not liable for redemption related issues" }

Response JSON

{ "response": { "amountRedeemed": 100, "redeemMessage": "Reward redeemed successfully", "redemmedDate": "24-25-2014 18:24:05", "orderID": "114-06516166-25", "qPointRewardID": 315, "rewardIdentifier": "$10 Amazon.ca", "panelMemberID": 1217, "panelID": 571 }, "status": { "message": "OK", "id": 200, "method": "questionpro.micropanel.redeemReward", "serverUTC": 1403775969379, "url": "/a/api/questionpro.micropanel.redeemReward", "apiKey": "44262182-f3d2-410c-9fb8-675042180785" } }

communityMemberSurvey

Method: questionpro.micropanel.getAllSurveysForMember

You can use the communityMemberSurvey API call to get status of all the surveys for any member. You will get Survey name, link of survey and status for each.

The JSON Format contains the key value pair of the required parameter.

Attributes

Name Value Required
SurveyStaus Survey status ID is to be passed as per the data requirement. Pass any of the following as required; -1 for all the survey status, 0 for Pending, and 1 for Completed surveys.
EMail Address Email Address of community member for whom SurveyStatus is required.

NOTE:

  • surveyStatus -1 for All Surveys
  • surveyStatus 0 for Pending Surveys
  • surveyStatus 1 for Completed Surveys
  • URL

    http://www.questionpro.com/a/api/questionpro.micropanel.getAllSurveysForMember?apiKey={ API-KEY }

    Input JSON

    { "surveyStatus":-1,"memberEmailAddress":"[email protected]" }

    Response JSON

    { "response": { "message": "OK", "surveyLinks": [ { "status": "Complete", "surveyLink": "http://www.questionpro.com/t/VFQgZD6zS", "surveyName": "QuestionPro : How well are you liking us.." }, { "status": "Complete", "surveyLink": "http://www.questionpro.com/t/VFQgZEJVf", "surveyName": "just another survey" }, { "status": "Complete", "surveyLink": "http://www.questionpro.com/t/VFQgZEU40", "surveyName": "QuestionPro : Services Provided to Consumers" }, { "status": "Complete", "surveyLink": "http://www.questionpro.com/t/VFQgZEVwe", "surveyName": "service use frequency" }, { "status": "Pending", "surveyLink": "http://www.questionpro.com/t/VFQgZEW1j", "surveyName": "test" }, { "status": "Complete", "surveyLink": "http://www.questionpro.com/t/VFQgZEW1k", "surveyName": "test" }, { "status": "Complete", "surveyLink": "http://www.questionpro.com/t/VFQgZEb0b", "surveyName": "QuestionPro : Website Satisfaction" }, { "status": "Started", "surveyLink": "http://www.questionpro.com/t/VFQgZEc97", "surveyName": "test" }, { "status": "Pending", "surveyLink": "http://www.questionpro.com/t/VFQgZEdAI", "surveyName": "test" }, { "status": "Pending", "surveyLink": "http://www.questionpro.com/t/VFQgZEqsR", "surveyName": "QuestionPro : Website Satisfaction" }, ], "totalPointsEarned": 19153 }, "status": { "apiKey": "d4f6acec-401d-426a-b67d-1d02b272fc5a", "id": 200, "message": "OK", "method": "questionpro.micropanel.getAllSurveysForMember", "serverUTC": 1494498675266, "url": "/a/api/questionpro.micropanel.getAllSurveysForMember" } } }

    QuestionPro is the leader in online surveys, polls and questionnaires