Zum Inhalt springen

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

POST/api/workflow-hooks

Auth
Token erforderlich
API-Schlüssel:
Kein API-Schlüssel möglich
Die Beschreibungen der Endpoints stammen aus der API-Spezifikation und sind vorerst auf Portugiesisch. Die Oberfläche drumherum ist übersetzt.

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

NameTypBeschreibung
X-Memberfy-Hook-Tokenoptionalstring
X-Memberfy-Signatureoptionalstring
X-Memberfy-Delivery-Idoptionalstring

Request-Body application/json

Die Spezifikation deklariert die Felder dieses Bodys nicht (zum Beispiel ein Multipart-Upload). Siehe die Anleitung zum Thema.

Antworten

StatusBeschreibung
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.

curl-Beispiel

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