Postvista

Webhooks

Уведомления в реальном времени о событиях публикации

Что такое Webhooks?

Вебхуки отправляют HTTP-запросы на ваш сервер при возникновении событий. Идеально для интеграций, мониторинга и автоматизации.

Создать вебхук

Создавайте вебхуки через веб-интерфейс или через API:

curl -X POST https://postvista.app/api/v1/webhooks \
  -H "Authorization: Bearer TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Production Webhook",
    "url": "https://myapp.com/webhooks/postvista",
    "events": ["clip.published", "clip.failed"]
  }'

Доступные события

clip.created

Создан новый пост

clip.scheduled

Пост запланирован к публикации

clip.publishing

Начата публикация

clip.published

Успешно опубликовано

clip.failed

Публикация провалилась

clip.deleted

Пост удалён

Пример payload

{
  "id": "evt_123",
  "type": "clip.published",
  "data": {
    "clip": {
      "id": "clip_456",
      "caption": "Check this out!",
      "platforms": ["instagram", "youtube"],
      "status": "published"
    }
  },
  "created_at": "2025-10-15T14:30:00Z"
}

Безопасность

Проверяйте подписи вебхуков

Все вебхуки включают заголовок X-Webhook-Signature с HMAC-подписью.

// Next.js API Route Example
import crypto from 'crypto';

export async function POST(request: Request) {
  const payload = await request.text();
  const signature = request.headers.get('x-webhook-signature');

  const expectedSignature = crypto
    .createHmac('sha256', process.env.WEBHOOK_SECRET!)
    .update(payload)
    .digest('hex');

  if (crypto.timingSafeEqual(Buffer.from(signature!), Buffer.from(expectedSignature))) {
    // Valid webhook
    const data = JSON.parse(payload);
    // Process webhook...
  }
}

Протестируйте вебхук

Тестируйте через веб-интерфейс или API:

curl -X POST https://postvista.app/api/v1/webhooks/{webhook_id}/test \
  -H "Authorization: Bearer TOKEN"

Примеры использования

  • • Отправка уведомлений в Slack при публикации постов
  • • Автоматический повтор проваленных постов
  • • Отслеживание аналитики публикаций
  • • Запуск других рабочих процессов
Комбинируйте с MCP для полной автоматизации