Request details

a detailed description of Feasibility parameters available in the request

📘

POST /supplier/v1/feasibility-check

The bid request is structured into a JSON format and is then pushed to each appropriate supplier’s platform, using a POST method, to the URL endpoint provided by each integrated sample partner and stored on the S1 side under the usual accounts

📘

Tips and tricks

jobNumberInternal - can be used to track which are the commissioned bids

countryCultures - multi-language feasibility requests need to be supported. For example on Canada: English and French projects are covering 73% from entire need, English only projects just 24%, French only projects 3%.

numberOfCompletes - it's a string that needs to support values like "max". Max being the case when we need back the maximum available capacity on the given target and quotas.

incidenceRatePercent - takes into account the quotas and target as described in the request

PropertyDescriptionTypeRequired
bidIdA GUID ('Globally Unique Identifier') attached to each feasibility request. This ID can be used to link feasibility requests together. Under the same Bidid, multiple FeasibilityID can be generatedGUIDYes
bidNameA human readable description to name a given request.TextNo
FeasibilityIDA GUID identifier attached to each feasibility request.GUIDYes
jobNumberInternalProject identifier, to be used as reference for billing processTextNo
bidModeValues available:
PreCommissioning / Quoting stage - before project is awarded on the IIS side. Multiple bids versions can be made for the same project.
PostCommissioning - after project is awarded. The project specs are set. Project is pre-field.
InField - project is already in field.
Learning – for cases when we need to learn about sample capabilities to be used in the feasibility process (cached version).
TextYes
bidSupportEmailThe email address that can be used to inquire about problems with the feasibly API or the usage of the partner endpoint.Text / emailNo
countryCodeThe standard 2 letter country code for the specific country the current project will be fielded in. In this example “US” signals that this project will be fielded in United States.Text /
ISO Code
Yes
countryCulturesA list of “2-2” format language codes where a two-character language code & two digit country code is used to specify the languages required for the request.

The example below specifies "en-US" and "es-US", which means that we are looking for both English and / or Spanish speakers.
If for example the request would be only for English speakers, then the json will contain: "countryCultures":["en-us"]
List of text / ISO language codeYes
numberOfCompletesThe number of completes required for the survey.
If value is specified as “max”, then the answer needs to contain the maximum number of completes that can be achieved based on the audience definition (target & quotas).

Tip: The reason for requesting the maximum number of completes, and not a specific value, is because we are searching for the best budget option based on different number of completes. In the same time, the maximum number of interviews will indicate as well the potential to achieve higher volumes
StringYes
incidenceRatePercentThe incident rate in percent (0.0-100.0) as per the specified target.FloatYes
FieldDurationsField duration input describing the number of hours / days a study is expected to stay in field. “4h” stands for a field duration of 4 hours, “12h” represents 12 hours, and 1d & 2d represent 1 day and 2days.

Possible values: 4h, 12h, 16h, 1d, 2d, 3d, 4d, 5d, 6d, 7d

If the request is for 5d and you are unable to check the feasibility for this FD, it's ok to check the feasibility on the closest duration to 5d that you can and send the response with the FD the feasibility was checked on.
List of stringsYes
collectPiiIf true, the survey will collect personally identifiable information from the respondentBooleanYes
FacialcodingIf true, the survey will require the respondent to permit a web cam to validate the respondent’s engagement during the surveyBooleanYes
freshSampleCOMING SOONBooleanNo
fieldStartDateThe time in UTC when the survey is expected to launch.Text / UTC-DateNo
lengthOfInterviewThe average number of minutes that a respondent should need to finish the surveyNumberYes
preferredCurrencyThe standard 3 letter currency code for the expected currency in the answer for CPI value.

In this example “USD” signals that this the answer for CPI is expected in USD currency. This is not a mandatory requirement, as the answer can support any currency if correctly specified.
Text /
ISO Code
Yes
sampleCategoryThe expected sample category of the survey. The values are available by using the method sample-category-list.

The value of the “sampleCategory” field will correspond with one of the “categoryNames” values returned by the sample-category-list supplier API method.
TextNo
sampleSubCategoryThe expected sample subcategory for the survey. The values are available by using the method sample-category-list.

The “sampleSubCaterory” corresponds with one of the “name” values of a category’s “subcategory” list from the sample-category-list supplier API method.

Note: Not call sampleCategories have a subcategory and this value may be null.
TextNo
researchTypeThe “researchType” field will be the “name” field from the list of Ipsos research categories available from mthode research-typesTextYes
researchCategoriesThe survey will have one or more categories corresponding with the list of Ipsos research categories available with method: categories.

The “name” value of the category hierarchy in the categories where the category is the child category (by parent id) to the generic category, which itself is a child of the mainCategory (also by parent id).

Any number of category tuples can be sent in the list.
list of objects with keys of mainCategory, genericCategory, and categoryNo
allowMobileIf true, the survey will allow mobile respondents to complete the surveyBooleanYes
allowTabletIf true, the survey will allow tablet respondents to complete the surveyBooleanYes
allowDesktopIf true, the survey will allow desktop respondents to complete the surveyBooleanYes
TargetA list of “target” objects with their fields defined below.ArrayYes
QuotasA list of “quota” objects with their fields defined below.ArrayYes
needRecontactIf true, the supplier should recontact panelists on specific type of surveysBooleanYes
{  
   "bidId":"S1-Event-532670",
   "bidName":"Name of the Bid",
   "feasibilityId":"a3f5be49-571d-49f0-8ae7-270569e1449f",
   "jobNumberInternal":"1805257401",
   "bidMode":"PreCommissioning",
   "bidSupportEmail":"[email protected]",
   "countryCode":"US",
   "countryCultures":[  
      "en-us",
      "es-us"
   ],
   "numberOfCompletes":"max",
   "incidenceRatePercent":80.0,
   "fieldDurations":[  
      "4h"
   ],
   "collectPii":false,
   "facialCoding":false,
    "freshSample":true,
   "fieldStartDate":"2019-05-30T22:00:00Z",
   "lengthOfInterview":15,
   "preferredCurrency":"USD",
   "sampleCategory":"Gen pop sample",
   "sampleSubCategory":"",
   "researchType":"Other (MKT, PLM, Tracking etc.)",
   "researchCategories":[  
      {  
         "mainCategory":"Food and Beverages",
         "genericCategory":"FOOD-CONDIMENTS/SEASONING/SAUCES",
         "category":"SALAD DRESSING/SALAD OIL"
      }
   ],
   "allowMobile":false,
   "allowTablet":true,
   "allowDesktop":true,
   "quotaTables":[  
      {  
         "tableName":"Table:agerange: x ",
         "quotas":[  
            {  
               "quotaId":"7c4f3cde-de4a-4b78-a2f7-1ac04fd55947",
               "quotaName":"agerange_1-E1",
               "interviewType":"completes",
               "questions":[  
                  {  
                     "answers":[  
                        {  
                           "id":-1,
                           "rangeStart":"18",
                           "rangeEnd":"24"
                        }
                     ],
                     "id":-1,
                     "operator":"OR"
                  }
               ],
               "percentage":14.0
            },
            {  
               "quotaId":"8a559028-6365-4557-a036-44e564e37988",
               "quotaName":"agerange_2-E1",
               "interviewType":"completes",
               "questions":[  
                  {  
                     "answers":[  
                        {  
                           "id":-1,
                           "rangeStart":"25",
                           "rangeEnd":"34"
                        }
                     ],
                     "id":-1,
                     "operator":"OR"
                  }
               ],
               "percentage":22.0
            },
            {  
               "quotaId":"857dfa0f-612f-45ac-8bbb-df04deecdd4d",
               "quotaName":"agerange_3-E1",
               "interviewType":"completes",
               "questions":[  
                  {  
                     "answers":[  
                        {  
                           "id":-1,
                           "rangeStart":"35",
                           "rangeEnd":"44"
                        }
                     ],
                     "id":-1,
                     "operator":"OR"
                  }
               ],
               "percentage":20.0
            },
            {  
               "quotaId":"f0e4004a-0bb5-4317-bd5d-ac02a8da4cdd",
               "quotaName":"agerange_4-E1",
               "interviewType":"completes",
               "questions":[  
                  {  
                     "answers":[  
                        {  
                           "id":-1,
                           "rangeStart":"45",
                           "rangeEnd":"54"
                        }
                     ],
                     "id":-1,
                     "operator":"OR"
                  }
               ],
               "percentage":22.0
            },
            {  
               "quotaId":"99fb3f7e-dfae-4a23-9a00-637d34dca0a1",
               "quotaName":"agerange_5-E1",
               "interviewType":"completes",
               "questions":[  
                  {  
                     "answers":[  
                        {  
                           "id":-1,
                           "rangeStart":"55",
                           "rangeEnd":"65"
                        }
                     ],
                     "id":-1,
                     "operator":"OR"
                  }
               ],
               "percentage":22.0
            }
         ]
      },
      {  
         "tableName":"Table:Gender S1 - NA: x ",
         "quotas":[  
            {  
               "quotaId":"b90c7c7c-de3a-4434-8d4b-03f26ae9e8c6",
               "quotaName":"resp_genderfemale-E1",
               "interviewType":"completes",
               "questions":[  
                  {  
                     "answers":[  
                        {  
                           "id":65236
                        }
                     ],
                     "id":12203,
                     "operator":"OR"
                  }
               ],
               "percentage":51.0,
               "completes":null,
               "maxCompletes":null
            },
            {  
               "quotaId":"8a31b6b2-fc1c-4125-9f12-417f32d11397",
               "quotaName":"resp_gendermale-E1",
               "interviewType":"completes",
               "questions":[  
                  {  
                     "answers":[  
                        {  
                           "id":65237
                        }
                     ],
                     "id":12203,
                     "operator":"OR"
                  }
               ],
               "percentage":49.0
            }
         ]
      }
   ],
   "target":[  
      {  
         "questions":[  
            {  
               "id":-1,
               "answers":[  
                  {  
                     "id":-1,
                     "rangeStart":"1",
                     "rangeEnd":"65"
                  }
               ],
               "operator":"OR"
            }
         ]
      },
      {  
         "questions":[  
            {  
               "id":12203,
               "answers":[  
                  {  
                     "id":65236
                  },
                  {  
                     "id":65237
                  }
               ]
            }
         ]
      }
   ]
}