Webhooks позволяют получать POST-запросы на ваш сервер при изменении статуса заказа — без необходимости постоянно опрашивать API.

1. Настройка

Откройте /dashboard/api-keys → блок «Webhooks»:

  • Укажите URL вашего сервера, который будет принимать запросы.
  • Сгенерируйте секрет (или задайте свой, минимум 16 символов).
  • Сохраните.

2. Что приходит

POST-запрос с заголовками:

X-Likes-Event: order.completed
X-Likes-Signature: sha256=<hex>
Content-Type: application/json

Тело — JSON со всеми полями заказа.

3. Проверка подписи (Node.js)

import { createHmac, timingSafeEqual } from "node:crypto";

function verify(rawBody, header, secret) {
  const expected = "sha256=" + createHmac("sha256", secret).update(rawBody).digest("hex");
  return timingSafeEqual(Buffer.from(header), Buffer.from(expected));
}

4. Повторные попытки

Если ваш сервер вернул не-2xx или не ответил за 8 секунд, мы повторим попытку с экспоненциальной задержкой (5с → 10с → 20с → 40с, всего до 5 попыток).