Gancho da Web
Webhooks são chamadas de retorno que são enviadas para um URL quando um determinado evento é acionado.
Eles podem ser usados para integrar facilmente o StrawPoll com outros serviços.
Um pedido de gancho da web enviará os dados JSON para o ponto final. Partes da estrutura de dados dependem do tipo de evento acionador.
Acionadores de Eventos
Atualmente, os ganchos da Web podem ser acionados pelos seguintes eventos:
- Criar sondagem
- Vote
- Fim do prazo
- Eliminar sondagem
Veja abaixo vários exemplos de carga útil de solicitação com base em diferentes tipos de gatilho.
Exemplo de solicitação de carga útil ("Create" Trigger)
{
"webhook": {
"name": "Exemplo do Gancho da Web nº 1",
"url": "https://hook.integromat.com/e95yg8w...",
"trigger": "create"
},
"content": {
"id": "abcdefgh1",
"title": "Enquete de teste",
"url": "https://strawpoll.com/abcdefgh1"
},
"create": {
"id": "abcdefgh1",
"type": "poll",
"title": "Enquete de teste",
"url": "https://strawpoll.com/abcdefgh1"
"options": [
{
"id": "abcdefghabcdefgh",
"name": "Resposta nº 1",
"type": "text"
},
{
"id": "ijklmnopijklmnop",
"name": "Resposta nº 2",
"type": "text"
},
{
"id": "qrstvwxyqrstvwxy",
"name": "Resposta #3",
"type": "text"
}
]
}
}
Exemplo de pedido de carga útil ("Vote")
{
"webhook": {
"name": "Exemplo do Gancho da Web nº 1",
"url": "https://hook.integromat.com/e95yg8w...",
"trigger": "vote".
},
"content": {
"id": "abcdefgh1",
"title": "Enquete de teste",
"url": "https://strawpoll.com/abcdefgh1"
},
"vote": {
"name": "Testador",
"vote_options": [
{
"option_id": "abcdefghabcdefgh",
"name": "Resposta nº 1",
"vote": 1
}
]
}
}
Exemplo de pedido de carga útil ("Voto (Data da reunião)")
{
"webhook": {
"name": "Exemplo do Gancho da Web nº 1",
"url": "https://hook.integromat.com/e95yg8w...",
"trigger": "vote".
},
"content": {
"id": "abcdefgh1",
"title": "Enquete de teste",
"url": "https://strawpoll.com/abcdefgh1"
},
"vote": {
"name": "Testador",
"vote_options": [
{
"option_id": "abcdefghabcdefgh",
"type": "date",
"name": "2020-11-08T08:00:00Z",
"start_time": "1604822400000",
"end_time": "1604826000000",
"vote": 1
}
]
}
}
Os campos "start_time" e "end_time" são timestamps Unix em milisegundos.
Exemplo de Solicitação de Carga Útil (Acionador "Prazo")
{
"webhook": {
"name": "Exemplo do Gancho da Web nº 1",
"url": "https://hook.integromat.com/e95yg8w...",
"trigger": "deadline"
},
"content": {
"id": "abcdefgh1",
"title": "Enquete de teste",
"url": "https://strawpoll.com/abcdefgh1"
},
"deadline": {
"time": "2020-11-05T07:40:06Z",
"results": {
"total_votes": 42,
"options": [
{
"id": "abcdefghabcdefgh",
"name": "Resposta nº 1",
"votes": 26
},
{
"id": "ijklmnopijklmnop",
"name": "Resposta nº 2",
"votes": 13
},
{
"id": "qrstvwxyqrstvwxy",
"name": "Resposta #3",
"votes": 3
}
]
}
}
}
Exemplo de pedido de carga útil ("Delete" Trigger)
{
"webhook": {
"name": "Exemplo do Gancho da Web nº 1",
"url": "https://hook.integromat.com/e95yg8w...",
"trigger": "delete"
},
"content": {
"id": "abcdefgh1",
"title": "Enquete de teste",
"url": "https://strawpoll.com/abcdefgh1"
},
"delete": {
"id": "abcdefgh1",
"title": "Enquete de teste",
"url": "https://strawpoll.com/abcdefgh1"
}
}
Como você pode ver, para alguns pontos finais os dados estão disponíveis de forma redundante.
Isto deve-se ao propósito de enviar sempre o "webhook" e o campo "content", não importa qual evento é acionado.