Get respondent information


Here is how to use R to get respondent information:

CONJOINTLY_TOKEN <- "YOUR_TOKEN" # Get a token from https://run.conjoint.ly/utilities/tokens

getRespondentData <- function(experiment_id, participant_id) {
  library(httr)
  library(jsonlite)

  experiment_id <- as.numeric(experiment_id)
  participant_id <- as.numeric(participant_id)

  headers <- add_headers(
    `Authorization` = paste("Bearer", CONJOINTLY_TOKEN),
    `Content-Type` = "application/json",
    `Accept` = "application/json",
    `X-Requested-With` = "XMLHttpRequest"
  )

  surveyAnswers <- GET(
    sprintf("https://api.conjoint.ly/api/experiments/%s/quality-checker/survey-answers/%s", experiment_id, participant_id),
    headers
  ) |> content("parsed", encoding = "UTF-8")
  surveyAnswers <- surveyAnswers$data

  locations <- GET(
    sprintf("https://api.conjoint.ly/api/experiments/%s/quality-checker/locations/%s", experiment_id, participant_id),
    headers
  ) |> content("parsed", encoding = "UTF-8")
  locations <- do.call(rbind, locations$data) |> data.frame()

  riskSignals <- GET(
    sprintf("https://api.conjoint.ly/api/experiments/%s/quality-checker/risk-signals/%s", experiment_id, participant_id),
    headers
  ) |> content("parsed", encoding = "UTF-8")
  riskSignals <- do.call(rbind, riskSignals$data) |> data.frame()

  return(list(
    surveyAnswers = surveyAnswers,
    locations = locations,
    riskSignals = riskSignals,
    experiment_id = experiment_id,
    participant_id = participant_id
  ))
}

respondentData <- getRespondentData(1234, 12345)