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?