Saltar para o conteúdo
Navegação principal
Todas as integrações

n8n

Como funciona:Alojado por ti ou na cloud: o teu workflow inicia o cronómetro segundo um horário ou a cada evento.

No n8n, o nó «Webhook» recebe eventos daqui e o nó «HTTP Request» chama a API. Funciona no n8n Cloud e alojado por ti, desde que o endereço do webhook seja acessível a partir da internet por HTTPS.

Receber eventos e verificar a assinatura:

  1. Cria um workflow com o nó «Webhook», método POST, e copia o «Production URL».
  2. Regista o endereço em Definições, Webhooks e toma nota do segredo, só é mostrado uma vez.
  3. No nó webhook, ativa «Raw Body» em «Options» e liga um nó «Code» com o exemplo abaixo. Se for alojado por ti, tem de estar definido NODE_FUNCTION_ALLOW_BUILTIN=crypto.
Exemplo (javascript)
const crypto = require('crypto');
const secret = 'whsec_YOUR_SECRET';
const header = $json.headers['x-horaka-signature'] ?? '';
const parts = Object.fromEntries(header.split(',').map((p) => p.split('=')));
const body = Buffer.from($binary.data.data, 'base64').toString('utf8');
const expected = crypto
    .createHmac('sha256', secret)
    .update(`${parts.t}.${body}`)
    .digest('hex');
if (expected !== parts.v1) {
    throw new Error('Signature does not match');
}
return [{ json: JSON.parse(body) }];

Controlar o cronómetro a partir de um workflow:

  1. Em Definições, API e dispositivos, cria um dispositivo ou um token com a permissão «Trigger».
  2. No n8n, cria uma credencial do tipo «Header Auth»: nome Authorization, valor Bearer e o teu token.
  3. Adiciona o nó «HTTP Request» e introduz os valores abaixo.
Exemplo (text)
Method:         POST
URL:            https://api.horaka.com/v1/track/toggle
Authentication: Generic Credential Type, Header Auth
Send Body:      on, Body Content Type JSON
JSON:           {"project": "PROJETO"}

Recupera as horas que andas a oferecer.

A conta fica criada num minuto. Testas o Premium durante 14 dias sem dados de pagamento e depois continuas com o Free ou, a partir de € 4,90 por mês, com tudo para faturar.