657 lines
20 KiB
TypeScript
657 lines
20 KiB
TypeScript
/**
|
|
* Copyright 2015 Google Inc. All Rights Reserved.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
/* jshint maxlen: false */
|
|
|
|
import createAPIRequest from '../../lib/apirequest';
|
|
|
|
/**
|
|
* Consumer Surveys API
|
|
*
|
|
* Creates and conducts surveys, lists the surveys that an authenticated user owns, and retrieves survey results and information about specified surveys.
|
|
*
|
|
* @example
|
|
* const google = require('googleapis');
|
|
* const consumersurveys = google.consumersurveys('v2');
|
|
*
|
|
* @namespace consumersurveys
|
|
* @type {Function}
|
|
* @version v2
|
|
* @variation v2
|
|
* @param {object=} options Options for Consumersurveys
|
|
*/
|
|
function Consumersurveys(options) { // eslint-disable-line
|
|
const self = this;
|
|
self._options = options || {};
|
|
|
|
self.mobileapppanels = {
|
|
|
|
/**
|
|
* consumersurveys.mobileapppanels.get
|
|
*
|
|
* @desc Retrieves a MobileAppPanel that is available to the authenticated user.
|
|
*
|
|
* @alias consumersurveys.mobileapppanels.get
|
|
* @memberOf! consumersurveys(v2)
|
|
*
|
|
* @param {object} params Parameters for request
|
|
* @param {string} params.panelId External URL ID for the panel.
|
|
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
|
|
* @param {callback} callback The callback that handles the response.
|
|
* @return {object} Request object
|
|
*/
|
|
get: function (params, options, callback) {
|
|
if (typeof options === 'function') {
|
|
callback = options;
|
|
options = {};
|
|
}
|
|
options || (options = {});
|
|
|
|
const rootUrl = options.rootUrl || 'https://www.googleapis.com/';
|
|
|
|
const parameters = {
|
|
options: Object.assign({
|
|
url: (rootUrl + '/consumersurveys/v2/mobileAppPanels/{panelId}').replace(/([^:]\/)\/+/g, '$1'),
|
|
method: 'GET'
|
|
}, options),
|
|
params: params,
|
|
requiredParams: ['panelId'],
|
|
pathParams: ['panelId'],
|
|
context: self
|
|
};
|
|
|
|
return createAPIRequest(parameters, callback);
|
|
},
|
|
|
|
/**
|
|
* consumersurveys.mobileapppanels.list
|
|
*
|
|
* @desc Lists the MobileAppPanels available to the authenticated user.
|
|
*
|
|
* @alias consumersurveys.mobileapppanels.list
|
|
* @memberOf! consumersurveys(v2)
|
|
*
|
|
* @param {object=} params Parameters for request
|
|
* @param {integer=} params.maxResults
|
|
* @param {integer=} params.startIndex
|
|
* @param {string=} params.token
|
|
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
|
|
* @param {callback} callback The callback that handles the response.
|
|
* @return {object} Request object
|
|
*/
|
|
list: function (params, options, callback) {
|
|
if (typeof options === 'function') {
|
|
callback = options;
|
|
options = {};
|
|
}
|
|
options || (options = {});
|
|
|
|
const rootUrl = options.rootUrl || 'https://www.googleapis.com/';
|
|
|
|
const parameters = {
|
|
options: Object.assign({
|
|
url: (rootUrl + '/consumersurveys/v2/mobileAppPanels').replace(/([^:]\/)\/+/g, '$1'),
|
|
method: 'GET'
|
|
}, options),
|
|
params: params,
|
|
requiredParams: [],
|
|
pathParams: [],
|
|
context: self
|
|
};
|
|
|
|
return createAPIRequest(parameters, callback);
|
|
},
|
|
|
|
/**
|
|
* consumersurveys.mobileapppanels.update
|
|
*
|
|
* @desc Updates a MobileAppPanel. Currently the only property that can be updated is the owners property.
|
|
*
|
|
* @alias consumersurveys.mobileapppanels.update
|
|
* @memberOf! consumersurveys(v2)
|
|
*
|
|
* @param {object} params Parameters for request
|
|
* @param {string} params.panelId External URL ID for the panel.
|
|
* @param {consumersurveys(v2).MobileAppPanel} params.resource Request body data
|
|
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
|
|
* @param {callback} callback The callback that handles the response.
|
|
* @return {object} Request object
|
|
*/
|
|
update: function (params, options, callback) {
|
|
if (typeof options === 'function') {
|
|
callback = options;
|
|
options = {};
|
|
}
|
|
options || (options = {});
|
|
|
|
const rootUrl = options.rootUrl || 'https://www.googleapis.com/';
|
|
|
|
const parameters = {
|
|
options: Object.assign({
|
|
url: (rootUrl + '/consumersurveys/v2/mobileAppPanels/{panelId}').replace(/([^:]\/)\/+/g, '$1'),
|
|
method: 'PUT'
|
|
}, options),
|
|
params: params,
|
|
requiredParams: ['panelId'],
|
|
pathParams: ['panelId'],
|
|
context: self
|
|
};
|
|
|
|
return createAPIRequest(parameters, callback);
|
|
}
|
|
|
|
};
|
|
|
|
self.results = {
|
|
|
|
/**
|
|
* consumersurveys.results.get
|
|
*
|
|
* @desc Retrieves any survey results that have been produced so far. Results are formatted as an Excel file. You must add "?alt=media" to the URL as an argument to get results.
|
|
*
|
|
* @alias consumersurveys.results.get
|
|
* @memberOf! consumersurveys(v2)
|
|
*
|
|
* @param {object} params Parameters for request
|
|
* @param {string} params.surveyUrlId External URL ID for the survey.
|
|
* @param {consumersurveys(v2).ResultsGetRequest} params.resource Request body data
|
|
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
|
|
* @param {callback} callback The callback that handles the response.
|
|
* @return {object} Request object
|
|
*/
|
|
get: function (params, options, callback) {
|
|
if (typeof options === 'function') {
|
|
callback = options;
|
|
options = {};
|
|
}
|
|
options || (options = {});
|
|
|
|
const rootUrl = options.rootUrl || 'https://www.googleapis.com/';
|
|
|
|
const parameters = {
|
|
options: Object.assign({
|
|
url: (rootUrl + '/consumersurveys/v2/surveys/{surveyUrlId}/results').replace(/([^:]\/)\/+/g, '$1'),
|
|
method: 'GET'
|
|
}, options),
|
|
params: params,
|
|
requiredParams: ['surveyUrlId'],
|
|
pathParams: ['surveyUrlId'],
|
|
context: self
|
|
};
|
|
|
|
return createAPIRequest(parameters, callback);
|
|
}
|
|
|
|
};
|
|
|
|
self.surveys = {
|
|
|
|
/**
|
|
* consumersurveys.surveys.delete
|
|
*
|
|
* @desc Removes a survey from view in all user GET requests.
|
|
*
|
|
* @alias consumersurveys.surveys.delete
|
|
* @memberOf! consumersurveys(v2)
|
|
*
|
|
* @param {object} params Parameters for request
|
|
* @param {string} params.surveyUrlId External URL ID for the survey.
|
|
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
|
|
* @param {callback} callback The callback that handles the response.
|
|
* @return {object} Request object
|
|
*/
|
|
delete: function (params, options, callback) {
|
|
if (typeof options === 'function') {
|
|
callback = options;
|
|
options = {};
|
|
}
|
|
options || (options = {});
|
|
|
|
const rootUrl = options.rootUrl || 'https://www.googleapis.com/';
|
|
|
|
const parameters = {
|
|
options: Object.assign({
|
|
url: (rootUrl + '/consumersurveys/v2/surveys/{surveyUrlId}').replace(/([^:]\/)\/+/g, '$1'),
|
|
method: 'DELETE'
|
|
}, options),
|
|
params: params,
|
|
requiredParams: ['surveyUrlId'],
|
|
pathParams: ['surveyUrlId'],
|
|
context: self
|
|
};
|
|
|
|
return createAPIRequest(parameters, callback);
|
|
},
|
|
|
|
/**
|
|
* consumersurveys.surveys.get
|
|
*
|
|
* @desc Retrieves information about the specified survey.
|
|
*
|
|
* @alias consumersurveys.surveys.get
|
|
* @memberOf! consumersurveys(v2)
|
|
*
|
|
* @param {object} params Parameters for request
|
|
* @param {string} params.surveyUrlId External URL ID for the survey.
|
|
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
|
|
* @param {callback} callback The callback that handles the response.
|
|
* @return {object} Request object
|
|
*/
|
|
get: function (params, options, callback) {
|
|
if (typeof options === 'function') {
|
|
callback = options;
|
|
options = {};
|
|
}
|
|
options || (options = {});
|
|
|
|
const rootUrl = options.rootUrl || 'https://www.googleapis.com/';
|
|
|
|
const parameters = {
|
|
options: Object.assign({
|
|
url: (rootUrl + '/consumersurveys/v2/surveys/{surveyUrlId}').replace(/([^:]\/)\/+/g, '$1'),
|
|
method: 'GET'
|
|
}, options),
|
|
params: params,
|
|
requiredParams: ['surveyUrlId'],
|
|
pathParams: ['surveyUrlId'],
|
|
context: self
|
|
};
|
|
|
|
return createAPIRequest(parameters, callback);
|
|
},
|
|
|
|
/**
|
|
* consumersurveys.surveys.insert
|
|
*
|
|
* @desc Creates a survey.
|
|
*
|
|
* @alias consumersurveys.surveys.insert
|
|
* @memberOf! consumersurveys(v2)
|
|
*
|
|
* @param {object} params Parameters for request
|
|
* @param {consumersurveys(v2).Survey} params.resource Request body data
|
|
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
|
|
* @param {callback} callback The callback that handles the response.
|
|
* @return {object} Request object
|
|
*/
|
|
insert: function (params, options, callback) {
|
|
if (typeof options === 'function') {
|
|
callback = options;
|
|
options = {};
|
|
}
|
|
options || (options = {});
|
|
|
|
const rootUrl = options.rootUrl || 'https://www.googleapis.com/';
|
|
|
|
const parameters = {
|
|
options: Object.assign({
|
|
url: (rootUrl + '/consumersurveys/v2/surveys').replace(/([^:]\/)\/+/g, '$1'),
|
|
method: 'POST'
|
|
}, options),
|
|
params: params,
|
|
requiredParams: [],
|
|
pathParams: [],
|
|
context: self
|
|
};
|
|
|
|
return createAPIRequest(parameters, callback);
|
|
},
|
|
|
|
/**
|
|
* consumersurveys.surveys.list
|
|
*
|
|
* @desc Lists the surveys owned by the authenticated user.
|
|
*
|
|
* @alias consumersurveys.surveys.list
|
|
* @memberOf! consumersurveys(v2)
|
|
*
|
|
* @param {object=} params Parameters for request
|
|
* @param {integer=} params.maxResults
|
|
* @param {integer=} params.startIndex
|
|
* @param {string=} params.token
|
|
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
|
|
* @param {callback} callback The callback that handles the response.
|
|
* @return {object} Request object
|
|
*/
|
|
list: function (params, options, callback) {
|
|
if (typeof options === 'function') {
|
|
callback = options;
|
|
options = {};
|
|
}
|
|
options || (options = {});
|
|
|
|
const rootUrl = options.rootUrl || 'https://www.googleapis.com/';
|
|
|
|
const parameters = {
|
|
options: Object.assign({
|
|
url: (rootUrl + '/consumersurveys/v2/surveys').replace(/([^:]\/)\/+/g, '$1'),
|
|
method: 'GET'
|
|
}, options),
|
|
params: params,
|
|
requiredParams: [],
|
|
pathParams: [],
|
|
context: self
|
|
};
|
|
|
|
return createAPIRequest(parameters, callback);
|
|
},
|
|
|
|
/**
|
|
* consumersurveys.surveys.start
|
|
*
|
|
* @desc Begins running a survey.
|
|
*
|
|
* @alias consumersurveys.surveys.start
|
|
* @memberOf! consumersurveys(v2)
|
|
*
|
|
* @param {object} params Parameters for request
|
|
* @param {string} params.resourceId
|
|
* @param {consumersurveys(v2).SurveysStartRequest} params.resource Request body data
|
|
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
|
|
* @param {callback} callback The callback that handles the response.
|
|
* @return {object} Request object
|
|
*/
|
|
start: function (params, options, callback) {
|
|
if (typeof options === 'function') {
|
|
callback = options;
|
|
options = {};
|
|
}
|
|
options || (options = {});
|
|
|
|
const rootUrl = options.rootUrl || 'https://www.googleapis.com/';
|
|
|
|
const parameters = {
|
|
options: Object.assign({
|
|
url: (rootUrl + '/consumersurveys/v2/surveys/{resourceId}/start').replace(/([^:]\/)\/+/g, '$1'),
|
|
method: 'POST'
|
|
}, options),
|
|
params: params,
|
|
requiredParams: ['resourceId'],
|
|
pathParams: ['resourceId'],
|
|
context: self
|
|
};
|
|
|
|
return createAPIRequest(parameters, callback);
|
|
},
|
|
|
|
/**
|
|
* consumersurveys.surveys.stop
|
|
*
|
|
* @desc Stops a running survey.
|
|
*
|
|
* @alias consumersurveys.surveys.stop
|
|
* @memberOf! consumersurveys(v2)
|
|
*
|
|
* @param {object} params Parameters for request
|
|
* @param {string} params.resourceId
|
|
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
|
|
* @param {callback} callback The callback that handles the response.
|
|
* @return {object} Request object
|
|
*/
|
|
stop: function (params, options, callback) {
|
|
if (typeof options === 'function') {
|
|
callback = options;
|
|
options = {};
|
|
}
|
|
options || (options = {});
|
|
|
|
const rootUrl = options.rootUrl || 'https://www.googleapis.com/';
|
|
|
|
const parameters = {
|
|
options: Object.assign({
|
|
url: (rootUrl + '/consumersurveys/v2/surveys/{resourceId}/stop').replace(/([^:]\/)\/+/g, '$1'),
|
|
method: 'POST'
|
|
}, options),
|
|
params: params,
|
|
requiredParams: ['resourceId'],
|
|
pathParams: ['resourceId'],
|
|
context: self
|
|
};
|
|
|
|
return createAPIRequest(parameters, callback);
|
|
},
|
|
|
|
/**
|
|
* consumersurveys.surveys.update
|
|
*
|
|
* @desc Updates a survey. Currently the only property that can be updated is the owners property.
|
|
*
|
|
* @alias consumersurveys.surveys.update
|
|
* @memberOf! consumersurveys(v2)
|
|
*
|
|
* @param {object} params Parameters for request
|
|
* @param {string} params.surveyUrlId External URL ID for the survey.
|
|
* @param {consumersurveys(v2).Survey} params.resource Request body data
|
|
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
|
|
* @param {callback} callback The callback that handles the response.
|
|
* @return {object} Request object
|
|
*/
|
|
update: function (params, options, callback) {
|
|
if (typeof options === 'function') {
|
|
callback = options;
|
|
options = {};
|
|
}
|
|
options || (options = {});
|
|
|
|
const rootUrl = options.rootUrl || 'https://www.googleapis.com/';
|
|
|
|
const parameters = {
|
|
options: Object.assign({
|
|
url: (rootUrl + '/consumersurveys/v2/surveys/{surveyUrlId}').replace(/([^:]\/)\/+/g, '$1'),
|
|
method: 'PUT'
|
|
}, options),
|
|
params: params,
|
|
requiredParams: ['surveyUrlId'],
|
|
pathParams: ['surveyUrlId'],
|
|
context: self
|
|
};
|
|
|
|
return createAPIRequest(parameters, callback);
|
|
}
|
|
|
|
};
|
|
}
|
|
|
|
/**
|
|
* @typedef FieldMask
|
|
* @memberOf! consumersurveys(v2)
|
|
* @type object
|
|
* @property {consumersurveys(v2).FieldMask[]} fields
|
|
* @property {integer} id
|
|
*/
|
|
|
|
/**
|
|
* @typedef MobileAppPanel
|
|
* @memberOf! consumersurveys(v2)
|
|
* @type object
|
|
* @property {string} country
|
|
* @property {boolean} isPublicPanel
|
|
* @property {string} language
|
|
* @property {string} mobileAppPanelId
|
|
* @property {string} name
|
|
* @property {string[]} owners
|
|
*/
|
|
|
|
/**
|
|
* @typedef MobileAppPanelsListResponse
|
|
* @memberOf! consumersurveys(v2)
|
|
* @type object
|
|
* @property {consumersurveys(v2).PageInfo} pageInfo
|
|
* @property {string} requestId Unique request ID used for logging and debugging. Please include in any error reporting or troubleshooting requests.
|
|
* @property {consumersurveys(v2).MobileAppPanel[]} resources An individual predefined panel of Opinion Rewards mobile users.
|
|
* @property {consumersurveys(v2).TokenPagination} tokenPagination
|
|
*/
|
|
|
|
/**
|
|
* @typedef PageInfo
|
|
* @memberOf! consumersurveys(v2)
|
|
* @type object
|
|
* @property {integer} resultPerPage
|
|
* @property {integer} startIndex
|
|
* @property {integer} totalResults
|
|
*/
|
|
|
|
/**
|
|
* @typedef ResultsGetRequest
|
|
* @memberOf! consumersurveys(v2)
|
|
* @type object
|
|
* @property {consumersurveys(v2).ResultsMask} resultMask
|
|
*/
|
|
|
|
/**
|
|
* @typedef ResultsMask
|
|
* @memberOf! consumersurveys(v2)
|
|
* @type object
|
|
* @property {consumersurveys(v2).FieldMask[]} fields
|
|
* @property {string} projection
|
|
*/
|
|
|
|
/**
|
|
* @typedef Survey
|
|
* @memberOf! consumersurveys(v2)
|
|
* @type object
|
|
* @property {consumersurveys(v2).SurveyAudience} audience
|
|
* @property {consumersurveys(v2).SurveyCost} cost
|
|
* @property {string} customerData
|
|
* @property {string} description
|
|
* @property {string[]} owners
|
|
* @property {consumersurveys(v2).SurveyQuestion[]} questions
|
|
* @property {consumersurveys(v2).SurveyRejection} rejectionReason
|
|
* @property {string} state
|
|
* @property {string} surveyUrlId
|
|
* @property {string} title
|
|
* @property {integer} wantedResponseCount
|
|
*/
|
|
|
|
/**
|
|
* @typedef SurveyAudience
|
|
* @memberOf! consumersurveys(v2)
|
|
* @type object
|
|
* @property {string[]} ages
|
|
* @property {string} country
|
|
* @property {string} countrySubdivision
|
|
* @property {string} gender
|
|
* @property {string[]} languages
|
|
* @property {string} mobileAppPanelId
|
|
* @property {string} populationSource
|
|
*/
|
|
|
|
/**
|
|
* @typedef SurveyCost
|
|
* @memberOf! consumersurveys(v2)
|
|
* @type object
|
|
* @property {string} costPerResponseNanos
|
|
* @property {string} currencyCode
|
|
* @property {string} maxCostPerResponseNanos
|
|
* @property {string} nanos
|
|
*/
|
|
|
|
/**
|
|
* @typedef SurveyQuestion
|
|
* @memberOf! consumersurveys(v2)
|
|
* @type object
|
|
* @property {string} answerOrder
|
|
* @property {string[]} answers
|
|
* @property {boolean} hasOther
|
|
* @property {string} highValueLabel
|
|
* @property {consumersurveys(v2).SurveyQuestionImage[]} images
|
|
* @property {boolean} lastAnswerPositionPinned
|
|
* @property {string} lowValueLabel
|
|
* @property {boolean} mustPickSuggestion
|
|
* @property {string} numStars
|
|
* @property {string} openTextPlaceholder
|
|
* @property {string[]} openTextSuggestions
|
|
* @property {string} question
|
|
* @property {string} sentimentText
|
|
* @property {boolean} singleLineResponse
|
|
* @property {string[]} thresholdAnswers
|
|
* @property {string} type
|
|
* @property {string} unitOfMeasurementLabel
|
|
* @property {string} videoId
|
|
*/
|
|
|
|
/**
|
|
* @typedef SurveyQuestionImage
|
|
* @memberOf! consumersurveys(v2)
|
|
* @type object
|
|
* @property {string} altText
|
|
* @property {string} data
|
|
* @property {string} url
|
|
*/
|
|
|
|
/**
|
|
* @typedef SurveyRejection
|
|
* @memberOf! consumersurveys(v2)
|
|
* @type object
|
|
* @property {string} explanation
|
|
* @property {string} type
|
|
*/
|
|
|
|
/**
|
|
* @typedef SurveyResults
|
|
* @memberOf! consumersurveys(v2)
|
|
* @type object
|
|
* @property {string} status
|
|
* @property {string} surveyUrlId
|
|
*/
|
|
|
|
/**
|
|
* @typedef SurveysDeleteResponse
|
|
* @memberOf! consumersurveys(v2)
|
|
* @type object
|
|
* @property {string} requestId Unique request ID used for logging and debugging. Please include in any error reporting or troubleshooting requests.
|
|
*/
|
|
|
|
/**
|
|
* @typedef SurveysListResponse
|
|
* @memberOf! consumersurveys(v2)
|
|
* @type object
|
|
* @property {consumersurveys(v2).PageInfo} pageInfo
|
|
* @property {string} requestId Unique request ID used for logging and debugging. Please include in any error reporting or troubleshooting requests.
|
|
* @property {consumersurveys(v2).Survey[]} resources An individual survey resource.
|
|
* @property {consumersurveys(v2).TokenPagination} tokenPagination
|
|
*/
|
|
|
|
/**
|
|
* @typedef SurveysStartRequest
|
|
* @memberOf! consumersurveys(v2)
|
|
* @type object
|
|
* @property {string} maxCostPerResponseNanos Threshold to start a survey automically if the quoted prices is less than or equal to this value. See Survey.Cost for more details.
|
|
*/
|
|
|
|
/**
|
|
* @typedef SurveysStartResponse
|
|
* @memberOf! consumersurveys(v2)
|
|
* @type object
|
|
* @property {string} requestId Unique request ID used for logging and debugging. Please include in any error reporting or troubleshooting requests.
|
|
*/
|
|
|
|
/**
|
|
* @typedef SurveysStopResponse
|
|
* @memberOf! consumersurveys(v2)
|
|
* @type object
|
|
* @property {string} requestId Unique request ID used for logging and debugging. Please include in any error reporting or troubleshooting requests.
|
|
*/
|
|
|
|
/**
|
|
* @typedef TokenPagination
|
|
* @memberOf! consumersurveys(v2)
|
|
* @type object
|
|
* @property {string} nextPageToken
|
|
* @property {string} previousPageToken
|
|
*/
|
|
export = Consumersurveys;
|