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 попыток).