Transformation de payload Webhooks

🔃 À quoi sert la transformation de la charge utile des Webhooks ?

Toutes les API destinataires de la charge utile des réponses des répondants ne sont pas identiques ; vous pouvez utiliser le modèle de transformation pour convertir le JSON d'origine des réponses du répondant en un autre JSON personnalisé de votre choix afin de correspondre exactement aux spécifications de toute API tierce.

Ci‑dessous un exemple simple qui reformate les noms des propriétés de la charge utile d'origine avec de nouveaux noms personnalisés et crée une représentation hiérarchique du répondant et de ses réponses. Il est bien sûr possible de retransformer complètement le JSON d'origine en n'importe quel type de structure JSON.

{
    "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)"
      }
    }
  }
}

Mis à jour

Ce contenu vous a-t-il été utile ?