Webhooks
Это содержимое пока не доступно на вашем языке.
Webhooks tell your own app when something happens in your Feedigy account. Feedigy sends a signed POST request to your HTTPS endpoint for each event.
To send feed posts to Zapier, Make, n8n or another automation tool, use the Automation platforms Auto-Publisher instead.
Events
Section titled “Events”| Event | When Feedigy sends it |
|---|---|
post.published | A post was published. |
publisher.run.failed | A scheduled Auto-Publisher run failed and will not retry. |
channel.token_expired | A connected channel needs reconnecting. |
The fields of each event are in the API Reference.
Add an endpoint
Section titled “Add an endpoint”- Open Settings → API → Webhooks.
- Under New endpoint, enter the Endpoint URL. It must use HTTPS. Private network addresses and URLs with a username, password or
#fragmentare refused. - Optional: enter a Name.
- Under Events, tick the events you want.
- Select Create endpoint.
- Copy the Signing secret. Feedigy shows it once. Your endpoint uses it to check that a request came from Feedigy.
You can have up to 20 endpoints.
What your endpoint receives
Section titled “What your endpoint receives”POST /your-pathContent-Type: application/jsonX-Feedigy-Event: post.publishedX-Feedigy-Delivery: 4812X-Feedigy-Timestamp: 1767225600X-Feedigy-Signature: t=1767225600,v1=<signature>{ "event": "post.published", "event_id": "…", "version": 1, "occurred_at": "2026-01-01T00:00:00Z", "data": { "post": { "id": 99, "title": "Hello" }, "feed": { "id": 12, "title": "My feed" } }}Return any 2xx status within 10 seconds to accept the delivery.
Check the signature
Section titled “Check the signature”Check every request before you read its JSON:
- Take
tand everyv1value fromX-Feedigy-Signature. - Reject the request if
tis more than 5 minutes from your current time. - Compute HMAC-SHA256 of
<t>.<raw request body>with your signing secret, as lowercase hex. Use the exact raw body, not re-encoded JSON. - Accept the request if your value matches any
v1value. Use a constant-time compare.
PHP example:
$raw = file_get_contents('php://input');$timestamp = null;$signatures = [];foreach (explode(',', $_SERVER['HTTP_X_FEEDIGY_SIGNATURE'] ?? '') as $part) { [$k, $v] = array_pad(explode('=', $part, 2), 2, ''); if ($k === 't') { $timestamp = $v; } elseif ($k === 'v1' && $v !== '') { $signatures[] = $v; }}$expected = hash_hmac('sha256', ($timestamp ?? '').'.'.$raw, $secret);$valid = $timestamp !== null && abs(time() - (int) $timestamp) <= 300;$valid = $valid && array_filter($signatures, fn ($sig) => hash_equals($expected, $sig)) !== [];if (! $valid) { http_response_code(401); exit;}Retries and duplicates
Section titled “Retries and duplicates”- Feedigy tries each delivery up to 5 times: at once, then after about 10 seconds, 1 minute, 5 minutes and 30 minutes. If your endpoint returns
429or503withRetry-After, Feedigy waits that long instead. - Feedigy does not follow redirects.
- A delivery can arrive more than once, and events can arrive out of order. Store
X-Feedigy-Deliveryor theevent_id, and skip ones you already processed. A retry has the same body and the same delivery id. - After 5 failed deliveries in a row, Feedigy disables the endpoint and sends you a notification. Select Enable to turn it on again. Deliveries that waited while it was disabled are then sent.
Manage endpoints
Section titled “Manage endpoints”In Settings → API → Webhooks, each endpoint shows its failed deliveries in a row, last success and last failure.
- Deliveries: see the delivery log with status codes. Use Failed to see only failures, and Redeliver to send a failed delivery again.
- Disable / Enable: pause and resume deliveries.
- Rotate secret: get a new signing secret. The old secret stays valid for 24 hours. During that time,
X-Feedigy-Signaturehas twov1values, so accept either. - Delete: remove the endpoint. Its remaining deliveries are cancelled. You cannot undo this.
What is in a payload
Section titled “What is in a payload”Payloads are small: ids and short summaries, under 64 KB. They never contain tokens, passwords or secrets. To get the full object, call the API with the id. If the payload shape changes in a breaking way, version changes.
Keep posting through busy weeks
Set sources, keywords and posting hours once. Feedigy posts to your channels while you work on other things.
No card required. The Free plan has no time limit.
