apidocs.kyaresearch.com
Open in
urlscan Pro
35.200.243.85
Public Scan
URL:
https://apidocs.kyaresearch.com/
Submission: On March 29 via api from US — Scanned from US
Submission: On March 29 via api from US — Scanned from US
Form analysis
0 forms found in the DOMText Content
API DOCUMENT * Overview * Using the API * Authentication & Response * Change Log * Api Integration * Qualification APIs * Qualification Languages * Qualification Categories * Survey APIs * Active Survey List * Get Quota * Get Qualification * Single Survey Entry Link * Multiple Survey Entry Link * Contact OVERVIEW - SUPPLIER API The KYA Research Supplier API can be used to connect your panel into the KYA Research Intelligent Survey Tool to automatically receive Research Sample orders. This API document describes the usage and resources needed for integrating with Sample API HOW TO USE SUPPLIER API The KYA Research Supplier API is a REST based API. The URL structure is as follow BASE URLS > Staging Url : https://staging.kyaresearch.com > Production Url : https://api.kyaresearch.com REQUEST FORMAT > {Method} {Base URI}/{Module}/{API Version}/{Resource} > Example : GET https://staging.kyaresearch.com/suppliers/v1/surveys REQUEST METHODS > GET : Method used for fetch data > POST : Method used for update or submit data. AUTHENTICATION AND API RESPONSES Our APIs use a HTTP Authorization header for authentication. Every call should have a header Authorization: {{APIkey}}, payload:{{APIPayload}} and Content-Type: 'application/json'. Ensure that the key you are passing is the correct key for the environment. We built it on RESTful principles, the API uses HTTP methods and verbs. Requests should be made using JSON, and JSON is returned by all responses. Example: headers: { 'Authorization': 'APIkey', 'payload': 'APIPayload', 'Content-Type': 'application/json' } The API uses standard HTTP status codes to indicate success or failure of an API Request and response data are in application/json format. In general, codes in the 2xx range indicate success, codes in the 4xx range indicate an error caused by the information provided (i.e., a required parameter was omitted, a method was not found, etc.), and codes in the 5xx range indicate an error with KYA Research's servers (these are rare). Parameter Value apiStatus 0 (failure) or 1 (success) apiMessages A detailed error message describing what went wrong STATUS CODE SUMMARY 200 Everything Worked As Expected 400 Bad Request 403 Invalid Access Token 404 Resources Not Found 5xx Something Went Wrong On KYA Research CHANGE LOG - LAST UPDATED : 27-MARCH-2024 Click here to download complete Profile Library excel file. GET LANGUAGES LIST This will return all available languages we support. API SAMPLE GET https://staging.kyaresearch.com/suppliers/v1/getLanguages/ curl -X GET -H "Content-Type: application/json" -H "Authorization: YOUR_API_KEY_HERE" -H "payload: YOUR_API_PAYLOAD_HERE" -i https://staging.kyaresearch.com/suppliers/v1/getLanguages/ API SAMPLE RESPONSE { "apiStatus":1, "version":1, "apiMessages":"getLanguages successful.", "languages":[ {"languageID":"41","languageName":"Abkhaz","languageCode2":"ab"},{"languageID":"2","languageName":"Afar","languageCode2":"aa"},{"languageID":"3","languageName":"Afrikaans","languageCode2":"af"},{"languageID":"4","languageName":"Akan","languageCode2":"ak"},{"languageID":"5","languageName":"Albanian","languageCode2":"sq"} ] } GET PROFILE CATEGORIES LIST This will return all profile categories list. API SAMPLE GET https://staging.kyaresearch.com/suppliers/v1/getProfileCategories/ curl -X GET -H "Content-Type: application/json" -H "Authorization: YOUR_API_KEY_HERE" -H "payload: YOUR_API_PAYLOAD_HERE" -i https://staging.kyaresearch.com/suppliers/v1/getProfileCategories/ API SAMPLE RESPONSE { "apiStatus":1, "version":1, "apiMessages":"getProfileCategories successful.", "languages":[ {"languageID":"41","languageName":"Abkhaz","languageCode2":"ab"},{"languageID":"2","languageName":"Afar","languageCode2":"aa"},{"languageID":"3","languageName":"Afrikaans","languageCode2":"af"},{"languageID":"4","languageName":"Akan","languageCode2":"ak"},{"languageID":"5","languageName":"Albanian","languageCode2":"sq"} ] } GET ACTIVE SURVEY(S) LIST The Allocated Survey resource returns the number of allocated surveys available to for your account. ARGUMENTS Variable Type Required Description country String False Country ISO Code (2 Char) associated with the survey. language String False Language ISO Code (2 Char) associated with the survey. This API call accepts two Arguments to filter available surveys based on required country and/or language. API SAMPLE (WITHOUT FILTER) GET https://staging.kyaresearch.com/suppliers/v1/surveys/ curl -X GET -H "Content-Type: application/json" -H "Authorization: YOUR_API_KEY_HERE" -H "payload: YOUR_API_PAYLOAD_HERE" -i https://staging.kyaresearch.com/suppliers/v1/surveys/ API SAMPLE RESPONSE { "apiStatus": 1, "version": 1, "apiMessages": "GetSurveyList successful.", "surveys": [ { "surveyID": "66882", "surveyCPI": "0.40", "surveyTargetCount": "210", "LOI": "1", "IR": "30", "countries_iso_code_2": "IN", "language_iso_code_2": "en", "language_country_code": "en-IN", "project_supported_device": "1", "studyType": "B2B" }, { "surveyID": "66883", "surveyCPI": "0.40", "surveyTargetCount": "200", "LOI": "15", "IR": "30", "countries_iso_code_2": "IN", "language_iso_code_2": "en", "language_country_code": "en-IN", "project_supported_device": "1", "studyType": "B2B" } ] } > project_supported_device value definition > > 1 : Desktop Devices Only > > 2 : Mobile/Tablet Devices Only > > 3 : All Devices API SAMPLE (WITH COUNTRY FILTER) GET https://staging.kyaresearch.com/suppliers/v1/surveys/?country=US curl -X GET -H "Content-Type: application/json" -H "Authorization: YOUR_API_KEY_HERE" -H "payload: YOUR_API_PAYLOAD_HERE" -i https://staging.kyaresearch.com/suppliers/v1/surveys/?country=US API SAMPLE RESPONSE { "apiStatus": 1, "version": 1, "apiMessages": "GetSurveyList successful.", "surveys": [ { "surveyID": "66881", "surveyCPI": "0.40", "surveyTargetCount": "150", "LOI": "10", "IR": "30", "countries_iso_code_2": "US", "language_iso_code_2": "en", "language_country_code": "en-US", "project_supported_device": "1", "studyType": "B2B" } ] } API SAMPLE (WITH LANGUAGE FILTER) GET https://staging.kyaresearch.com/suppliers/v1/surveys/?language=en curl -X GET -H "Content-Type: application/json" -H "Authorization: YOUR_API_KEY_HERE" -H "payload: YOUR_API_PAYLOAD_HERE" -i https://staging.kyaresearch.com/suppliers/v1/surveys/?language=en API SAMPLE RESPONSE { "apiStatus": 1, "version": 1, "apiMessages": "GetSurveyList successful.", "surveys": [ { "surveyID": "66881", "surveyCPI": "0.40", "surveyTargetCount": "150", "LOI": "10", "IR": "30", "countries_iso_code_2": "US", "language_iso_code_2": "en", "language_country_code": "en-US", "project_supported_device": "1", "studyType": "B2B" }, { "surveyID": "66882", "surveyCPI": "0.40", "surveyTargetCount": "210", "LOI": "1", "IR": "30", "countries_iso_code_2": "IN", "language_iso_code_2": "en", "language_country_code": "en-IN", "project_supported_device": "1", "studyType": "B2B" }, { "surveyID": "66883", "surveyCPI": "0.40", "surveyTargetCount": "200", "LOI": "15", "IR": "30", "countries_iso_code_2": "IN", "language_iso_code_2": "en", "language_country_code": "en-IN", "project_supported_device": "1", "studyType": "B2B" } ] } API SAMPLE (WITH COUNTRY AND LANGUAGE FILTER) GET https://staging.kyaresearch.com/suppliers/v1/surveys/?country=US&language=en curl -X GET -H "Content-Type: application/json" -H "Authorization: YOUR_API_KEY_HERE" -H "payload: YOUR_API_PAYLOAD_HERE" -i https://staging.kyaresearch.com/suppliers/v1/surveys/?country=US&language=en API SAMPLE RESPONSE { "apiStatus": 1, "version": 1, "apiMessages": "GetSurveyList successful.", "surveys": [ { "surveyID": "66881", "surveyCPI": "0.40", "surveyTargetCount": "150", "LOI": "10", "IR": "30", "countries_iso_code_2": "US", "language_iso_code_2": "en", "language_country_code": "en-US", "project_supported_device": "1", "studyType": "B2B" } ] } GET SURVEYS CURRENT QUOTA AND STATUS The quotas resource returns the number of completes available and its current status to you for each query survey. You can send multiple surveyIDs seperated by "," or a single surveyID. ARGUMENTS Variable Type Required Description SurveyIDs string True Unique number associated with the survey. API SAMPLE POST https://staging.kyaresearch.com/suppliers/v1/quotaStatus/ curl -H "Content-Type: application/json" -H "Authorization: YOUR_API_KEY_HERE" -H "payload: YOUR_API_PAYLOAD_HERE" -X POST --data '{"surveyIDs":"21,22,23"}' API SAMPLE RESPONSE { "apiStatus": 1, "version": 1, "apiMessages": "Surveys Quota and Status is fetched.", "surveyInfo": [ { "surveyID": "66883", "surveyStatus": "2", "surveyTargetCount": "0", "surveyCPI": "0.40", "Quota": { "1161": { "conditions": [ { "profileQuestionKey": "employment_status", "profileAnswerKey": "employment_status_001348", "OptionText": "Employed full-time" }, { "profileQuestionKey": "age", "profileAnswerKey": " ", "min": "18", "max": "35" } ], "remainingQuota": [ "100" ] }, "1162": { "conditions": [ { "profileQuestionKey": "employment_status", "profileAnswerKey": "employment_status_001350", "OptionText": "Self-employed full-time" }, { "profileQuestionKey": "age", "profileAnswerKey": " ", "min": "40", "max": "60" } ], "remainingQuota": [ "50" ] }, "1163": { "conditions": [ { "profileQuestionKey": "employment_status", "profileAnswerKey": "employment_status_001349", "OptionText": "Employed part-time" }, { "profileQuestionKey": "gender", "profileAnswerKey": "gender_002", "OptionText": "Female" }, { "profileQuestionKey": "age", "profileAnswerKey": " ", "min": "18", "max": "35" } ], "remainingQuota": [ "25" ] }, "1164": { "conditions": [ { "profileQuestionKey": "employment_status", "profileAnswerKey": "employment_status_001349", "OptionText": "Employed part-time" }, { "profileQuestionKey": "gender", "profileAnswerKey": "gender_001", "OptionText": "Male" }, { "profileQuestionKey": "age", "profileAnswerKey": " ", "min": "18", "max": "35" } ], "remainingQuota": [ "25" ] } } } ] } * In above result survey status is returned as integer value 0 Survey not registered 1 Survey is Live. 2 Survey is on hold or closed. GET SURVEY QUALIFICATION This API will allow supplier to get qualifications associated with each survey. Each qualification will be returned with targeting criteria. ARGUMENTS Variable Type Required Description surveyID Integer True Unique number associated with the survey. API SAMPLE POST https://staging.kyaresearch.com/suppliers/v1/getQualification curl -H "Content-Type: application/json" -H "Authorization: YOUR_API_KEY_HERE" -H "payload: YOUR_API_PAYLOAD_HERE" -X POST --data '{"surveyID":1}' API SAMPLE RESPONSE { "apiStatus": 1, "version": 1, "apiMessages": "GetSurveyQualification successful.", "targeting": { "age": [ { "optionID": 1, "profileAnswerKey": " ", "min": "18", "max": "35" }, { "optionID": 2, "profileAnswerKey": " ", "min": "40", "max": "60" } ], "gender": [ { "optionID": 1, "profileAnswerKey": "gender_001", "OptionText": "Male" }, { "optionID": 2, "profileAnswerKey": "gender_002", "OptionText": "Female" } ], "employment_status": [ { "optionID": 1, "profileAnswerKey": "employment_status_001348", "OptionText": "Employed full-time" }, { "optionID": 2, "profileAnswerKey": "employment_status_001349", "OptionText": "Employed part-time" }, { "optionID": 3, "profileAnswerKey": "employment_status_001350", "OptionText": "Self-employed full-time" }, { "optionID": 4, "profileAnswerKey": "employment_status_001357", "OptionText": "Student" } ] } } REGISTER SURVEY ENTRY LINKS The Entry links API call will update your Success Url, Terminate Url and Quotafull Url and returns the Survey Entry Link. ARGUMENTS Variable Type Required Description SurveyID Integer True Unique number associated with the survey. SuccessLink String True Link used to notify when survey status is completed. disQualifiedLink String True Link used to notify when survey status is disqualified. TermLink String True Link used to notify when survey status is terminated. OverQuotaLink String True Link used to notify when survey status is over quota. useStaticLink Integer True 0 for Dynamic Urls or 1 for Static Redirect Urls. * If you would like to use Static Redirect Urls, Set useStaticLink value to 1. In that case All links parameters can be blank, otherwise in case of Dynamic Redirect Urls you have to provide each urls. API SAMPLE POST https://staging.kyaresearch.com/suppliers/v1/register/ curl -H "Content-Type: application/json" -H "Authorization: YOUR_API_KEY_HERE" -H "payload: YOUR_API_PAYLOAD_HERE" -X POST --data '{ "surveyID":21, "SuccessLink": "https://kya.kyaresearch.com/surveyProcess.php?pid={{PANELIST IDENTIFIER}}", "disQualifiedLink": "https://kya.kyaresearch.com/surveyProcess.php?pid={{PANELIST IDENTIFIER}}", "TermLink": "https://kya.kyaresearch.com/surveyProcess.php?pid={{PANELIST IDENTIFIER}}", "OverQuotaLink": "https://kya.kyaresearch.com/surveyProcess.php?pid={{PANELIST IDENTIFIER}}", "useStaticLink":0 }' API SAMPLE RESPONSE { "apiStatus": 1, "version": 1, "apiMessages": "SurveyEntryLinks successfully registered.", "surveyInfo": [{ "surveyID": 21, "SurveyEntryUrl": "https:\/\/kya.kyaresearch.com\/surveyInitiate.php?gid=MTQ3LTE2MTA=&pid={{PANELIST IDENTIFIER}}&ext={{PANEL MISC DATA}}&reconnectID={{RECONNECTID}}", "surveyTargetCount": 200, "surveyCPI": "8.80" }] } * In above SurveyEntryUrl having two optional parameters which are ext and reconnectID ext is used to passed any additional parameters you required to pass back in your entry urls. reconnectID is used we required recontact for certain panel members of yours. REGISTER MULTIPLE SURVEY ENTRY LINKS The Multiple Entry links API call will update your Success Urls, Terminate Urls and Quotafull Urls and returns the Survey Entry Links. ARGUMENTS Variable Type Required Description Surveys Json Array True Containing Desired Unique number associated with the surveys. Json Array should contains follwoing variables SurveyID Integer True Unique number associated with the survey. SuccessLink String False Link used to notify when survey status is completed. disQualifiedLink String False Link used to notify when survey status is disqualified. TermLink String False Link used to notify when survey status is terminated. OverQuotaLink String False Link used to notify when survey status is over quota. useStaticLink Integer True 0 for Dynamic Urls or 1 for Static Redirect Urls. * If you would like to use Static Redirect Urls, Set useStaticLink value to 1. In that case All links parameters can be blank, otherwise in case of Dynamic Redirect Urls you have to provide each urls. API SAMPLE POST https://staging.kyaresearch.com/suppliers/v1/registerMultiple/ curl -H "Content-Type: application/json" -H "Authorization: YOUR_API_KEY_HERE" -H "payload: YOUR_API_PAYLOAD_HERE" -X POST --data '{ "Surveys": [ { "surveyID": 21, "SuccessLink": "https://kya.kyaresearch.com/surveyProcess.php?pid={{PANELIST IDENTIFIER}}", "disQualifiedLink": "https://kya.kyaresearch.com/surveyProcess.php?pid={{PANELIST IDENTIFIER}}", "TermLink": "https://kya.kyaresearch.com/surveyProcess.php?pid={{PANELIST IDENTIFIER}}", "OverQuotaLink": "https://kya.kyaresearch.com/surveyProcess.php?pid={{PANELIST IDENTIFIER}}", "useStaticLink":0 }, { "surveyID": 22, "SuccessLink": "", "disQualifiedLink": "", "TermLink": "", "OverQuotaLink": "", "useStaticLink":1 }, { "surveyID": 23, "SuccessLink": "https://kya.kyaresearch.com/surveyProcess.php?pid={{PANELIST IDENTIFIER}}", "disQualifiedLink": "https://kya.kyaresearch.com/surveyProcess.php?pid={{PANELIST IDENTIFIER}}", "TermLink": "https://kya.kyaresearch.com/surveyProcess.php?pid={{PANELIST IDENTIFIER}}", "OverQuotaLink": "https://kya.kyaresearch.com/surveyProcess.php?pid={{PANELIST IDENTIFIER}}", "useStaticLink":0 } ] }' API SAMPLE RESPONSE { "apiStatus": 1, "version": 1, "apiMessages": "Multiple SurveyEntryLinks successfully processed.", "surveyInfo": [ { "surveyID": 21, "surveyStatus": "SurveyEntryLink successfully registered.", "SurveyEntryUrl": "https:\/\/kya.kyaresearch.com\/surveyInitiate.php?gid=MTQ3LTE2MTA=&pid={{PANELIST IDENTIFIER}}&ext={{PANEL MISC DATA}}&reconnectID={{RECONNECTID}}", "surveyTargetCount": 200, "surveyCPI": "8.80" }, { "surveyID": 22, "surveyStatus": "Not Live", "SurveyEntryUrl": "", "surveyTargetCount": "", "surveyCPI": "" }, { "surveyID": 23, "surveyStatus": "Not Live", "SurveyEntryUrl": "", "surveyTargetCount": "", "surveyCPI": "" } ] } * In above SurveyEntryUrl having two optional parameters which are ext and reconnectID ext is used to passed any additional parameters you required to pass back in your entry urls. reconnectID is used we required recontact for certain panel members of yours. CONTACT US Feel free to contact us for any query regarding the API usage. We are also like to hear from you about your liking and suggestions. Please drop an email to info@kyaresearch.com