minebattle-api
v1.0.4
Published
Библиотека для работы с API сервиса "Битва шахтёров"
Downloads
23
Readme
Установка
yarn
yarn add minebattle-apinpm
npm i -S minebattle-apiПодключение
const { MineBattle } = require('minebattle-api');
const mb = new MineBattle(token);Методы API
call - Универсальный метод отправки запроса
|Параметр|Тип|Обязателен|Описание| |-|-|-|-| |methodName|string|Да|Имя метода| |params|object|Нет|Параметры метода|
Пример:
async function run() {
const user = await mb.call('user.get', {
user_id: 236908027
});
console.log(user);
}
run().catch(console.error);getUserInfo - Получить информацию о пользователе
|Параметр|Тип|Обязателен|Описание| |-|-|-|-| |userId|number|Да|Айди пользователя|
Пример:
async function run() {
const user = await mb.getUserInfo(236908027);
console.log(user);
}
run().catch(console.error);getMerchantInfo - Получить информацию о данном мерчанте
Пример:
async function run() {
const merchant = await mb.getMerchantInfo();
console.log(merchant);
}
run().catch(console.error);editMerchantInfo - Обновить информацию мерчанта
|Параметр|Тип|Обязателен|Описание| |-|-|-|-| |params|object|Да|Новая информация мерчанта| |params.avatar|string|Нет|Прямая ссылка на новый аватар мерчанта| |params.name|string|Нет|Новое имя для мерчанта| |params.group_id|number|Нет|Новая группа для мерчанта|
*- Как минимум один из параметров должен присутствовать.
*- params.avatar обязательно должен быть .png
Пример:
async function run() {
const merchant = await mb.editMerchantInfo({
name: 'My awesome shop'
});
console.log(merchant);
}
run().catch(console.error);createBill - Выставить счёт пользователю
|Параметр|Тип|Обязателен|Описание| |-|-|-|-| |targetId|number|Да|Айди пользователя, которому нужно выставить счёт| |amount|number|Да|Количество запрашиваемых монет|
Пример:
async function run() {
const response = await mb.createBill(236908027, 123);
console.log(response);
}
run().catch(console.error);sendPayment - Сделать перевод пользователю
|Параметр|Тип|Обязателен|Описание| |-|-|-|-| |targetId|number|Да|Айди пользователя, которому нужно сделать перевод| |amount|number|Да|Количество отправляемых монет|
Пример:
async function run() {
const response = await mb.sendPayment(236908027, 123);
console.log(response);
}
run().catch(console.error);setWebhook - Обновить вебхук для мерчанта
|Параметр|Тип|Обязателен|Описание| |-|-|-|-| |url|string|Да|Прямая ссылка на вебхук|
Пример:
async function run() {
const response = await mb.setWebhook('https://my-awesome-domain.ru/payment');
console.log(response);
}
run().catch(console.error);Получение платежей
Получение новых платежей происходит по методу Webhook. Перед использованием этого метода, обязательно нужно зарегистрировать свой хук, с помощью метода setWebhook
startWebhook - Запустить вебхук
|Параметр|Тип|Обязателен|Описание| |-|-|-|-| |path|string|Да|Путь хука, например '/payment'| |port|number|Да|Порт, на котором будет запущен хук|
onPayment - Подписаться на события новых входящих платежей
|Параметр|Тип|Обязателен|Описание| |-|-|-|-| |callback|Function|Да|Функция обратного вызова, для приёма платежей|
callback - Возвращает данные о новом входящем платеже
|Параметр|Тип|Описание| |-|-|-| |amount|number|Количество монет| |from_id|number|Айди отправителя| |updated_merchant_balance|number|Новый баланс данного мерчанта| |updated_user_balance|number|Новый баланс отправителя|
Пример:
mb.setWebhook('https://my-awesome-domain.ru:8181/payment').then(() => {
mb.startWebhook('/payment', 8181);
mb.onPayment((payment) => {
const {
amount, from_id,
updated_merchant_balance,
updated_user_balance
} = payment;
});
});