Vai al contenuto

Recebe a chamada de um sistema externo que inicia um workflow (webhook de entrada)

POST/api/workflow-hooks

Auth
Richiede un token
Chiave API:
Non accetta chiavi API
Le descrizioni degli endpoint provengono dalla specifica dell’API e per ora sono in portoghese. L’interfaccia intorno è tradotta.

O endereço de um gatilho `webhook.received`, criado em `POST /api/workflows/{id}/triggers/{nodeId}/webhook`. Sem sessão e sem `X-CommunityId`: o token diz qual workflow. Mande o token no cabeçalho `X-Memberfy-Hook-Token` (recomendado: fica fora dos logs de roteador) ou no caminho (`/api/workflow-hooks/{token}`). Corpo: JSON (`Content-Type: application/json`, até 64 KB). O gatilho diz onde está a pessoa (`match.by`: `email` ou `memberId`, `match.path` com pontos) e quais valores viram variáveis (`{{gatilho_<key>}}`, texto, até 500 caracteres); o resto do corpo é descartado e nunca é gravado. **Assinatura HMAC** (obrigatória quando o caminho do gatilho manda e-mail, DM, comentário, reação ou Slack): `X-Memberfy-Signature: t=<unix>,v1=<hex>`, HMAC-SHA256 com o segredo do gatilho sobre `"<t>.<corpo cru>"`, com `t` em até 5 minutos, e `X-Memberfy-Delivery-Id` (até 64 letras, dígitos, `-` e `_`) único por chamada: repetido em 10 minutos, 409. A resposta é sempre **202** quando o token e a assinatura valem, achando ou não a pessoa: o resultado de cada chamada (`started`, `personNotFound`, `notActive`, `reentryBlocked`, `personDailyLimit`, `hmacRequired`, `loop`) aparece para a equipe em `GET /api/workflows/{id}/webhook-deliveries`. Uma chamada com `X-Memberfy-Run-Id` de uma execução do próprio workflow (um laço por um sistema de fora) é descartada calada. Cada pessoa recebe no máximo 5 execuções por dia vindas do webhook de um workflow. Limites: 60 por minuto e 5.000 por dia por endereço (429 com `Retry-After`).

Header

NomeTipoDescrizione
X-Memberfy-Hook-Tokenfacoltativostring
X-Memberfy-Signaturefacoltativostring
X-Memberfy-Delivery-Idfacoltativostring

Corpo della richiesta application/json

La specifica non dichiara i campi di questo corpo (un upload multipart, per esempio). Consulta la guida dell’argomento.

Risposte

CodiceDescrizione
202Aceito (a pessoa é procurada depois).
401Assinatura ausente, errada ou fora do prazo (`workflows.webhookSignatureInvalid`).
404Token desconhecido, revogado ou de workflow excluído (`workflows.webhookNotFound`).
409`X-Memberfy-Delivery-Id` repetido (`workflows.webhookReplay`).
413Corpo acima de 64 KB.
415Corpo que não é JSON (`workflows.webhookJsonOnly`).
422JSON inválido ou `X-Memberfy-Delivery-Id` inválido.
429Limite por minuto ou por dia; `Retry-After`.
503Verificação de repetição indisponível; tente de novo.

Esempio con curl

curl -X POST "https://api.memberfy.net/api/workflow-hooks" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'