Підключення
1
Відкрийте сторінку вебхуків
Увійдіть на сайт і відкрийте erlcrussia.com/my/tokens/webhooks. Доступ видається через тікет, див. Як отримати ключ.
2
Додайте URL
Вкажіть адресу свого обробника й натисніть «Перевірити». API надішле два тестові запити: з правильним підписом і з підробленим.
3
Пройдіть перевірку
URL зберігається, лише якщо обробник відповів 2xx на запит із правильним підписом і 4xx на підроблений.
Вимоги до обробника
- Приймати
POSTз JSON-тілом. - Читати заголовки
X-Signature-Timestamp(Unix-час рядком) іX-Signature-Ed25519(підпис у hex). - Перевіряти підпис повідомлення
timestamp + сире тіло: байти timestamp в UTF-8, одразу за ними байти тіла без змін. - Відповідати 2xx лише за правильного підпису, інакше — 4xx.
Публічний ключ
Ed25519, base64, формат SPKI:Приклад на Node.js
- перевіряти підпис за розпарсеним і повторно серіалізованим JSON замість сирих байтів;
- додавати пробіл чи роздільник між timestamp і тілом;
- декодувати підпис як base64 замість hex;
- фреймворк читає тіло раніше, ніж ви встигаєте отримати сирі байти.
Які події надходять
- повідомлення в грі, що починаються з
;— для своїх внутрішньоігрових команд; - екстрені виклики.