Перейти до основного вмісту
API пересилає події ігрових серверів на ваш URL. Кожен запит підписано Ed25519, і ваш обробник зобов’язаний перевіряти підпис.

Підключення

1

Відкрийте сторінку вебхуків

Увійдіть на сайт і відкрийте erlcrussia.com/my/tokens/webhooks. Доступ видається через тікет, див. Як отримати ключ.
2

Додайте URL

Вкажіть адресу свого обробника й натисніть «Перевірити». API надішле два тестові запити: з правильним підписом і з підробленим.
3

Пройдіть перевірку

URL зберігається, лише якщо обробник відповів 2xx на запит із правильним підписом і 4xx на підроблений.
Посилання вебхуків Discord не підходять: потрібен ваш власний обробник.

Вимоги до обробника

  1. Приймати POST з JSON-тілом.
  2. Читати заголовки X-Signature-Timestamp (Unix-час рядком) і X-Signature-Ed25519 (підпис у hex).
  3. Перевіряти підпис повідомлення timestamp + сире тіло: байти timestamp в UTF-8, одразу за ними байти тіла без змін.
  4. Відповідати 2xx лише за правильного підпису, інакше — 4xx.

Публічний ключ

Ed25519, base64, формат SPKI:

Приклад на Node.js

Часті помилки:
  • перевіряти підпис за розпарсеним і повторно серіалізованим JSON замість сирих байтів;
  • додавати пробіл чи роздільник між timestamp і тілом;
  • декодувати підпис як base64 замість hex;
  • фреймворк читає тіло раніше, ніж ви встигаєте отримати сирі байти.

Які події надходять

  • повідомлення в грі, що починаються з ; — для своїх внутрішньоігрових команд;
  • екстрені виклики.
Список подій може розширитися. Вебхуки не замінюють HTTP API і WebSocket.