1. Supplier API
  • Supplier API – FAQ
  • Supplier API
    • Onboarding Process
    • Mapping
    • Survey Inventory Management
    • Respondent-Survey Flow
    • Statuses, Term Reasons & Categories
    • Onboarding Checklist
    • API Call Flow
    • Complete Validation Notifications
    • Frequently Asked Questions (FAQ)
    • Lookup Question Library
      GET
    • Set Global redirect URLs and Pixels for supplier’s
      PUT
    • Delete Global redirect URLs and Pixels for supplier’s account
      DELETE
    • Core Metadata Fields
      GET
    • Get Question Categories
      GET
    • Get Allocated Surveys (all live surveys)
      GET
    • Get Allocated Surveys By Id
      GET
    • Get Allocated Surveys By Date (live surveys only)
      GET
    • Get Allocated Surveys With Pagination (live surveys only)
      GET
    • Get Redirect Method for Survey
      GET
    • Set Redirect Method for Survey
      PUT
    • Delete Redirect Method for Survey
      DELETE
    • Get Closed Survey List (allocated to supplier only)
      GET
    • Get Survey Transactions data
      GET
    • Get Survey Transactions data By Date Range
      GET
    • Survey Allow for Unique IP
      POST
    • Allow Unique PID & IP
      POST
    • Get Panellist Profiling
      GET
    • Survey Availability Endpoint
      GET
    • Get Survey Stats data By Date Range
      GET
    • Get Questions By Category
      GET
    • Answer Lookup
      GET
    • Get Survey Transactions data By PID and survey number
      GET
    • Get PIDs for re-contact surveys (studies)
      GET
    • Get survey stats
      GET
    • Set Panellist Profiling
      POST
    • update Panellist Profiling
      PUT
    • get surveys for respondent
      POST
    • Respondent Pre Survey Check
      POST
    • Single Term Reason Category Code
      GET
    • term reason category
      GET
    • Get Allocated High Priority Surveys(All Live Surveys)
      GET
    • Get Survey Targeting
      GET
    • Get Quota for Survey
      GET
  • Buyer API - FAQ
  • Buyer API
    • Create Job
    • Update Job
    • Get Job Details
    • Update Job Status
    • Get Job List By Status
    • Create Group
    • Update Group
    • Get Group Details
    • Update Group Status
    • Add Target to group
    • Update Target to group
    • Remove Target Question
    • Add Quota to Group
    • Update Group Quota
    • Get Group Quotas
    • Get Group Feasibility
    • Feasibility (Find estimates)
    • Questions Library
    • Get Job Stats
    • Get Group Stats
    • Get Group Quota Stats
  • Postbacks/Redirects
    • Redirect URL
    • PostBack URL
    • Hashing Mechanism
  • HTTP Status Codes
  • Text Analyzer API - FAQ
  • Text Analyzer API
    • API Details
  1. Supplier API

Survey Inventory Management

This section outlines the inventory based approach we use and the mechanics needed to ingest and act on the available inventory.

Platform Ontology#

These are the core concepts that are used throughout this work flow.
ConceptDescription
Job"Parent" of a Survey. A Job can have many Surveys.
SurveyThe main conceptual object in our platform is the Survey. This is where pricing is set and key metadata like LOI, IR, N, Country, Language, etc. are set.
Survey TargetEach survey has Targeting, or Qualifications, which defines the “shape” of the respondent needed to fit into the Survey. This is the main filter of the Survey where the requirement of entry are set. Targeting is required on all Surveys.
Survey QuotaHelp define the number of needed respondents for specifc segements of the overall Survey Target. These are optional and not all Surveys utilize them.

An Example#

To help the concept of surveys, targeting, and quotas sink in here's an example:
Survey A has a N of 100, CPI of $1.00, LOI of 20 minutes, and IR of 80%. It is associated with Job XYZ
Survey A Targeting has
Gender: M or F
Education: High School Diploma or College Degree or Masters Degree
Survey A has a Quota of
20 Masters Degree
This means that we need 100 respondents who are M/F and have High School Diploma or College Degree or Masters Degree.
However, we will have at most 20 respondents with a Masters Degree.
Once we have 20 completes of respondents with a Masters Degree, any further respondent with a Masters Degree will be terminated since the Quota is now full.

Inventory Ingestion Flow#

The standard flow is as follows
1.Get Allocated Survey Inventory
2.Retrieve Targeting for ingested Surveys
3.Retrieve Quota Information for ingested Surveys which use Qutoas.

Retrieve Survey Inventory#

To ingest the available survey inventory, make a call to Get Allocated Surveys (all live surveys) which will return a list of all Surveys that are live and you have access to.
This inventory changes in real-time (new surveys come available, closed/completed ones are removed), so we recommend that a call is made to ingest the updated inventory every 1 to 2 minutes.
INFO
We recommended ingesting our Survey Inventory every 1 to 2 minutes.
Also, you can retrieve a single survey from the inventory as well. This is helpful when you want to periodically check for updates on surveys that you’ve previously ingested.

Survey Availability#

If a survey is returned in the Get Allocated Surveys response, it is live and available to you.
If the survey is no longer present in the Get Allocated Surveys response, then is no longer available to you.
This is because a survey can be paused and then made live again. Therefore, you may see a survey be removed from the inventory and then appear later in time. We ask that you account for this in your integration so that you don’t miss out on opportunities.
To help determine if a survey is currently available to you, please consult the Survey Availability Endpoint.
Lastly, if you want to keep track of closed surveys, you can consult the Get Closed Survey List endpoint. If a survey is listed here, it is closed and will not reappear in your inventory.
Inventory filters
Let us know if you have any filters on your inventory like LOI or IR or device type and we'll filter them out prior to exposing so that we have a better understanding of the surveys you are looking to participate on.

Survey Targeting#

Survey Targeting are the respondent qualifications neededed;the shape of the respondents needed to participate on the survey.
Once you have ingested the Survey inventory, the next step is to pull the targeting for each of those Surveys. This can be done through Get Survey Targeting endpoint.
{
"apiStatus": "success",
"msg": "Groups targeting are successfully fetched",
"result": [
{
"QuestionId": 11,
"QuestionKey": "ZIPCODES",
"QuestionText": "What is your zipcode?",
"QuestionType": "Numeric Open Ended",
"QuestionCategory":"Demographic",
"Options": [
{
"OptionId": 1,
"OptionText": "800235"
} ]
}, {
"QuestionId": 1,
"QuestionKey":"AGE",
"QuestionText"
The questions and answer options listed in the response map the Questions and Answers in our Library..
Targeting on a Survey can change once launched. Please account for this when ingesting our inventory.

Survey Quotas#

How is a quota different than targeting? A quota defines the number of individual sub-shapes of respondents.
If targeting says the survey needs Males and Females, a quota could say the survey needs 10 Males and 15 Females.
However, Quotas are not used on all of our Surveys, so a designation is made at the Survey level if Quotas are in fact in use.
The property is isQuota - example Survey response is below.
{
"surveyId": 12632,
"surveyName": "Basic Demo With Beverage survey",
"N": 100,
"isRevShr": true,
"supCmps": 3,
"remainingN": 97,
"LOI": 15,
"IR": 10,
"Country": "United States",
"Language": "ENGLISH",
"groupType": "Consumer",
"deviceType": "All",
....
"isQuota": true,
...
"jobCategory": "Beauty/Cosmetics",
"numberOfStarts": 3,
"globalBuyerConversion": "100.00",
"globalMedianLOI": "0.26"
}
If isQuota is true, the Get Quota for Survey endpoint needs to be called and ingested.
INFO
Quotas on a Survey can change once launched. Please account for this when ingesting our inventory.
An example Quota response
{
"_id": "59b778c66e4c0b1c8288f6ad",
"id": 780275,
"quotaN": 10,
"title": " 13 - 99 Yes, for business Yes, for personal Yes, for
both",
"quotaName": "",
"hardStopType": 0,
"cmp": 1,
"clk": 1,
"hardStop": 1,
"quotaStatus": "Open",
"RemainingN": 9,
"targeting": {
] }
},
Here's how the quota properties should be interpreted
FeildValueInterpretation
quotaNintegerNumber of completes associated with this quota
RemainingNintegerNumber of completes associated with this quota which remain to be filled/recorded.
quotaStatus"open"Respondents are still able to qualify and record completes against the quota.
quotaStatus"closed"Respondents who qualify for this quota will not be allowed to participate on survey.
hardStop0This means the quota has a soft limit and if a respondent matches this quota they will not receive an OverQuota rejection
hardStop1This means the quota has a hard limit and if a respondent matches this quota they will receive an OverQuota rejection
hardStopType0The quota is based on Survey Completes
hardStopType1The quota is based on Survey Starts
targeting{object}Contains the targeting requirements for this quota.

Survey Exclusions#

The Survey duplicateSurveyIds field refers to the surveys that are “linked” or “deduped” against this survey, not an actual duplicated survey.
The best way to interpret this is to say that any respondent who had a status which is listed in the Sruvey statuses field for the surveys in the duplicateSurveyIds field should not be routed to this survey. If so, they will be rejected.
Survey Exclusion Example
The way to interpret the exclusions from this example survey is: Any respondent will not be able to participate on 3571128 if they participated on Survey 3792333, 3861802, or 3571128 and recorded one of the following statuses "Pre Survey DNC", "Pre Survey Termination", "Pre Survey Over Quota","Pre Survey Quality Termination", "Start Survey DNC", "Completed", "Failed", "Over Quota", "Quality Termination.
{

  "surveyId": 3571128,
  "surveyName": "Teachers",
  "N": 300,...
  "BuyerId": 955,
  "duplicateSurveyIds": [
    3571128,
    3792333,
    3861802
  ],
  "duplicateCheckLevel": "Job Level",
  "statuses": [
    "Pre Survey DNC",
    "Pre Survey Termination",
    "Pre Survey Over Quota",
    "Pre Survey Quality Termination",
    "Start Survey DNC",
    "Completed",
    "Failed",
    "Over Quota",
    "Quality Termination"
  ],
  "expected_end_date": "08/18/2021",
  "is
...
}

Commonly Asked Questions#

How often should we ingest your inventory?#

Every 1 to 2 minutes

How do I know what I'm going to paid for a complete on a Survey?#

The CPI value listed on the Survey is the value you will be paid upon a complete for the survey.
This value may change over time as our pricing can be adjusted as the survey is in field.

How do I know a survey is closed and won't reappear again?#

It will say closed on teh Survey Availabilty response and it will be present in the Closed Survey List response.

Can targeting change on a survey?#

Yes, a survey may be paused and have its targeting updated. It is recommended to account for this when integrating to avoid issues when live.
Previous
Mapping
Next
Respondent-Survey Flow
Built with