Intégrations de StrawPoll

Webhooks

Les webhooks sont des rappels qui sont envoyés à une URL lorsqu'un certain événement est déclenché. Ils peuvent être utilisés pour intégrer facilement StrawPoll à d'autres services.
Une demande de webhook enverra les données JSON au point final. La structure des données dépend en partie du type de déclenchement de l'événement.
Déclencheurs d'événements
Actuellement, les webhooks peuvent être déclenchés par les événements suivants :
  • Créer un sondage
  • Vote
  • Fin du délai
  • Supprimer le sondage
Vous trouverez ci-dessous divers exemples de charges utiles de demande en fonction de différents types de déclencheurs.
Exemple de charge utile de demande (déclencheur "Créer")
{ 
  "webhook" : {
    "name" : "Exemple de crochet web n°1",
    "url" : "https://hook.integromat.com/e95yg8w...",
    "trigger" : "create"
  },
  "content" : {
    "id" : "abcdefgh1",
    "title" : "Sondage d'essai",
    "url" : "https://strawpoll.com/abcdefgh1"
  },
  "create" : { 
    "id" : "abcdefgh1",
    "type" : "poll",
    "title" : "Sondage d'essai",
    "url" : "https://strawpoll.com/abcdefgh1"
    "options" : [ 
      { 
        "id" : "abcdefghabcdefgh", 
        "name" : "réponse n°1", 
        "type" : "text" 
      }, 
      { 
        "id" : "ijklmnopijklmnop", 
        "name" : "réponse n° 2", 
        "type" : "text" 
      }, 
      { 
        "id" : "qrstvwxyqrstvwxy", 
        "name" : "réponse n° 3", 
        "type" : "text" 
      }
    ]
  }
}
Exemple de demande de charge utile (déclencheur "Vote")
{ 
  "webhook" : {
    "name" : "Exemple de crochet web n°1",
    "url" : "https://hook.integromat.com/e95yg8w...",
    "trigger" : "vote"
  },
  "content" : {
    "id" : "abcdefgh1",
    "title" : "Sondage d'essai",
    "url" : "https://strawpoll.com/abcdefgh1"
  },
  "vote" : {
    "name" : "Testeur",
    "voted_options" : [ 
      { 
        "option_id" : "abcdefghabcdefgh", 
        "name" : "réponse n°1", 
        "vote" : 1 
      } 
    ]
  }
}
Exemple de charge utile de la demande (déclencheur "Vote (date de réunion)")
{ 
  "webhook" : {
    "name" : "Exemple de crochet web n°1",
    "url" : "https://hook.integromat.com/e95yg8w...",
    "trigger" : "vote"
  },
  "content" : {
    "id" : "abcdefgh1",
    "title" : "Sondage d'essai",
    "url" : "https://strawpoll.com/abcdefgh1"
  },
  "vote" : {
    "name" : "Testeur",
    "voted_options" : [ 
      { 
        "option_id" : "abcdefghabcdefgh", 
        "type" : "date",
        "name" : "2020-11-08T08:00:00Z",
        "start_time" : "1604822400000",
        "end_time" : "1604826000000",
        "vote" : 1 
      } 
    ]
  }
}
Les champs "start_time" et "end_time" sont des horodatages Unix en millisecondes.
Exemple de charge utile de demande (déclencheur de "date limite")
{ 
  "webhook" : {
    "name" : "Exemple de crochet web n°1",
    "url" : "https://hook.integromat.com/e95yg8w...",
    "trigger" : "deadline"
  },
  "content" : {
    "id" : "abcdefgh1",
    "title" : "Sondage d'essai",
    "url" : "https://strawpoll.com/abcdefgh1"
  },
  "deadline" : {
    "time" : "2020-11-05T07:40:06Z",
    "results" : { 
      "total_votes" : 42,
      "options" : [ 
        { 
          "id" : "abcdefghabcdefgh", 
          "name" : "réponse n°1", 
          "votes" : 26 
        },
        { 
          "id" : "ijklmnopijklmnop", 
          "name" : "réponse n° 2", 
          "votes" : 13
        },
        { 
          "id" : "qrstvwxyqrstvwxy", 
          "name" : "réponse n° 3", 
          "votes" : 3
        }
      ] 
    }
  }
}
Exemple de charge utile de demande (déclencheur de "suppression")
{ 
  "webhook" : {
    "name" : "Exemple de crochet web n°1",
    "url" : "https://hook.integromat.com/e95yg8w...",
    "trigger" : "delete"
  },
  "content" : {
    "id" : "abcdefgh1",
    "title" : "Sondage d'essai",
    "url" : "https://strawpoll.com/abcdefgh1"
  },
  "delete" : { 
    "id" : "abcdefgh1",
    "title" : "Sondage d'essai",
    "url" : "https://strawpoll.com/abcdefgh1"
  }
}
Comme vous pouvez le voir, pour certains terminaux, les données sont disponibles de manière redondante. Cela est dû au fait que l'objectif est de toujours envoyer le "webhook" et le champ "content", quel que soit l'événement déclenché.