Webhooks-Payload-Transform
🔃 Wofür dient die Webhooks-Payload-Transformation?
Nicht alle APIs, die die Payload der Antworten eines Befragten erhalten sollen, sind gleich. Daher können Sie die Transformationsvorlage verwenden, um die ursprüngliche JSON-Payload der Antworten des Befragten in eine andere, benutzerdefinierte JSON-Struktur Ihrer Wahl umzuwandeln, damit sie genau den Spezifikationen einer Drittanbieter-API entspricht.
Nachfolgend ein einfaches Beispiel, das die Namen der ursprünglichen Payload-Eigenschaften in neue, benutzerdefinierte Namen umformatiert und eine hierarchische Darstellung des Befragten und seiner Antworten erstellt. Es ist selbstverständlich möglich, die ursprüngliche JSON-Payload vollständig in jede gewünschte JSON-Struktur umzuwandeln.
{
"myCustomRespondent": {
"id": "#valueof($.respondent.id)",
"surveyId": "#valueof($.respondent.surveyId)",
"panelistId": "#valueof($.respondent.panelistId)",
"contextUsername": "#valueof($.respondent.contextUsername)",
"resumeUId": "#valueof($.respondent.resumeUId)",
"resumePageId": "#valueof($.respondent.resumePageId)",
"startDate": "#valueof($.respondent.startDate)",
"voteDate": "#valueof($.respondent.voteDate)",
"iPSource": "#valueof($.respondent.iPSource)",
"changeUID": "#valueof($.respondent.changeUID)",
"progressSaveDate": "#valueof($.respondent.progressSaveDate)",
"languageCode": "#valueof($.respondent.languageCode)",
"timeToEnd": "#valueof($.respondent.timeToEnd)",
"validated": "#valueof($.respondent.validated)",
"myQuerystring": "#valueof($.querystring)",
"myCustomAnswers":{
"#loop($.answers)": {
"respondentId": "#currentvalueatpath($.respondentId)",
"value":"#currentvalueatpath($.value)",
"answerId": "#currentvalueatpath($.answerId)",
"answerText": "#currentvalueatpath($.answerText)",
"questionId": "#currentvalueatpath($.questionId)",
"questionAlias": "#currentvalueatpath($.questionAlias)",
"questionText": "#currentvalueatpath($.questionText)",
"sectionNumber": "#currentvalueatpath($.sectionNumber)"
}
},
"myCustomDataAttributes":{
"#loop($.dataAttributes)": {
"securityItemId": "#currentvalueatpath($.securityItemId)",
"respondentId":"#currentvalueatpath($.respondentId)",
"attributeName": "#currentvalueatpath($.attributeName)",
"attributeValue": "#currentvalueatpath($.attributeValue)"
}
},
"myVisitedPages":{
"#loop($.visitedPages)": {
"id": "#currentvalueatpath($.id)",
"respondentId":"#currentvalueatpath($.respondentId)",
"visitTime": "#currentvalueatpath($.visitTime)"
}
}
}
}
Zuletzt aktualisiert
War das hilfreich?