StrawPoll-Integrationen

Webhooks

Webhooks sind Rückrufe, die an eine URL gesendet werden, wenn ein bestimmtes Ereignis ausgelöst wird. Sie können verwendet werden, um StrawPoll einfach mit anderen Diensten zu integrieren.
Eine Webhook-Anfrage sendet JSON-Daten an den Endpunkt. Teile der Datenstruktur hängen vom Typ des Ereignisauslösers ab.
Ereignisauslöser
Webhooks können derzeit durch die folgenden Ereignisse ausgelöst werden:
  • Umfrage erstellen
  • Wählen Sie
  • Deadline endet
  • Umfrage löschen
Im Folgenden finden Sie verschiedene Beispiele für die Nutzlast von Anfragen, die auf unterschiedlichen Trigger-Typen basieren.
Beispiel-Request-Payload ("Create"-Trigger)
{ 
  "webhook": {
    "name": "Beispiel Webhook #1",
    "url": "https://hook.integromat.com/e95yg8w...",
    "trigger": "create"
  },
  "content": {
    "id": "abcdefgh1",
    "title": "Test Poll",
    "url": "https://strawpoll.com/abcdefgh1"
  },
  "create": { 
    "id": "abcdefgh1",
    "type": "poll",
    "title": "Testumfrage",
    "url": "https://strawpoll.com/abcdefgh1"
    "options": [ 
      { 
        "id": "abcdefghabcdefgh", 
        "name": "Antwort #1", 
        "type": "text" 
      }, 
      { 
        "id": "ijklmnopijklmnop", 
        "name": "Antwort #2", 
        "type": "text" 
      }, 
      { 
        "id": "qrstvwxyqrstvwxy", 
        "name": "Antwort #3", 
        "type": "text" 
      }
    ]
  }
}
Beispiel-Request-Payload ("Vote"-Trigger)
{ 
  "webhook": {
    "name": "Beispiel Webhook #1",
    "url": "https://hook.integromat.com/e95yg8w...",
    "trigger": "vote"
  },
  "content": {
    "id": "abcdefgh1",
    "title": "Test Poll",
    "url": "https://strawpoll.com/abcdefgh1"
  },
  "vote": {
    "name": "Testuser",
    "voted_options": [ 
      { 
        "option_id": "abcdefghabcdefgh", 
        "name": "Antwort #1", 
        "vote": 1 
      } 
    ]
  }
}
Beispiel-Request-Payload ("Vote (Meeting Date)" Trigger)
{ 
  "webhook": {
    "name": "Beispiel Webhook #1",
    "url": "https://hook.integromat.com/e95yg8w...",
    "trigger": "vote"
  },
  "content": {
    "id": "abcdefgh1",
    "title": "Test Poll",
    "url": "https://strawpoll.com/abcdefgh1"
  },
  "vote": {
    "name": "Testuser",
    "voted_options": [ 
      { 
        "option_id": "abcdefghabcdefgh", 
        "type": "date",
        "name": "2020-11-08T08:00:00Z",
        "start_time": "1604822400000",
        "end_time": "1604826000000",
        "vote": 1 
      } 
    ]
  }
}
Die Felder "start_time" und "end_time" sind Unix-Zeitstempel in Millisekunden.
Beispiel-Request-Payload ("Deadline"-Trigger)
{ 
  "webhook": {
    "name": "Beispiel Webhook #1",
    "url": "https://hook.integromat.com/e95yg8w...",
    "trigger": "deadline"
  },
  "content": {
    "id": "abcdefgh1",
    "title": "Test Poll",
    "url": "https://strawpoll.com/abcdefgh1"
  },
  "deadline": {
    "time": "2020-11-05T07:40:06Z",
    "results": { 
      "total_votes": 42,
      "options": [ 
        { 
          "id": "abcdefghabcdefgh", 
          "name": "Antwort #1", 
          "votes": 26 
        },
        { 
          "id": "ijklmnopijklmnop", 
          "name": "Antwort #2", 
          "votes": 13
        },
        { 
          "id": "qrstvwxyqrstvwxy", 
          "name": "Antwort #3", 
          "votes": 3
        }
      ] 
    }
  }
}
Beispiel-Request-Payload ("Delete"-Trigger)
{ 
  "webhook": {
    "name": "Beispiel Webhook #1",
    "url": "https://hook.integromat.com/e95yg8w...",
    "trigger": "delete"
  },
  "content": {
    "id": "abcdefgh1",
    "title": "Test Poll",
    "url": "https://strawpoll.com/abcdefgh1"
  },
  "delete": { 
    "id": "abcdefgh1",
    "title": "Test Poll",
    "url": "https://strawpoll.com/abcdefgh1"
  }
}
Wie Sie sehen können, sind für einige Endpunkte die Daten redundant vorhanden. Das liegt an dem Zweck, immer den "Webhook" und das "Content"-Feld zu senden, egal welches Ereignis ausgelöst wird.