Перейти к основному содержанию
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.