Integrações StrawPoll

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.