UNPKG

spworlds

Version:

Library for SPWorlds API

92 lines (91 loc) 3.99 kB
import type { Card, CardInfo, CardOwner, PaymentReq, User } from './types.js'; export declare class SPWorlds { private authorization; private token; private apiTimeout; private APIEndpoint; private requestAPI; /** * Класс для работы с SPWorlds API * @param id ID карты * @param token Токен карты * @param apiTimeout Таймаут запроса к API * @param APIEndpoint Вы можете указать другой API сервер (например https://spworlds.org). По умолчанию: https://spworlds.ru */ constructor({ id, token, apiTimeout, APIEndpoint }: { id: string; token: string; apiTimeout?: number; APIEndpoint?: string; }); /** * Проверка доступности SPWorlds API * @returns Состояние API */ ping: () => Promise<boolean>; /** * Создание банковского перевода * @param receiver Номер карты получателя * @param amount Сумма перевода * @param comment Комментарий к переводу * @returns Баланс карты */ createTransaction: ({ receiver, amount, comment }: { receiver: string; amount: number; comment: string; }) => Promise<{ balance: string; }>; /** * Получение информации о карте * @returns Баланс и подключенный webhook */ getCardInfo: () => Promise<CardInfo>; /** * Получение информации о владельце токена * @returns Никнейм, статус, роли, город, банковские карты и время создания */ getCardOwner: () => Promise<CardOwner>; /** * Получение карт пользователя * @param Nickname Никнейм пользователя * @returns Массив с банковскими картами */ getCards: (nickname: string) => Promise<Array<Card | undefined>>; /** * Получение ника игрока * @param discordId ID пользователя Discord * @returns Никнейм и Minecraft UUID игрока */ findUser: (discordId: string) => Promise<User | null>; /** * Изменение вебхука карты * На вебхук будут отправляться все новые транзакции связанные с картой * @param url Ссылка на вебхук * @returns ID карты и обновленный webhook */ setWebhook: (url: string) => Promise<{ id: string; webhook: string; }>; /** * Создание запроса на оплату * @param items Товары транзакции * @param redirectUrl URL страницы, на которую попадет пользователь после оплаты * @param webhookUrl URL, куда наш сервер направит запрос, чтобы оповестить ваш сервер об успешной оплате * @param data Cюда можно поместить любые полезные данных. Ограничение - 100 символов. * @returns Ссылка на страницу оплаты, на которую нужно перенаправить пользователя */ initPayment: ({ items, redirectUrl, webhookUrl, data }: PaymentReq) => Promise<{ code: string; card: string; url: string; }>; /** * Проверка валидности вебхука * @param body Все данные, пришедшие по вебхуку * @param hashHeader Значение хедера `X-Body-Hash` */ validateHash: (body: string | object, hashHeader: string) => boolean; }