Skip to content

Available methods API v3

Kostya edited this page Jan 25, 2022 · 4 revisions

Введение

Перед началом работы Вам необходимо создать объект доступа к API - EasyDonateClient
Примеры его создания размещены на данной странице.

Методы, реализованные клиентом API v3, разделены на две категории:

Working with Shop Content

Get Shop Info

Позволяет получить информацию о магазине, а также часть его настроек.

Shop shop = client.getShop();
boolean usesShopCart = shop.functionalTab().isUsesShopCart();

if(usesShopCart) {
    System.out.println("Магазин использует корзину!");
} else {
    System.out.println("Магазин не использует корзину!");
}

Get Products List

Позволяет получить список всех товаров в магазине.

ProductsList productsList = client.getProductsList();
System.out.printf("Доступно %d продукт(ов) в магазине!", productsList.size());

Get Product Info

Позволяет получить информацию о конкретном товаре.

int productId = 22837;
Product product = client.getProduct(productId);
System.out.printf("Цена товара '%s': %s", product.getName(), product.getPrice());

Get Servers List

Позволяет получить список всех серверов в магазине.

ServersList serversList = client.getServersList();
System.out.printf("%d сервер(а) подключено к магазину!", serversList.size());

Get Server Info

Позволяет получить информацию о конкретном сервере.

int serverId = 1337;
Server server = client.getServer(serverId);
System.out.printf("Сервер '%s' доступен по адресу: %s:%d", server.getName(), server.getAddress(), server.getPort());

Get Mass Sales List

Позволяет получить список всех массовых акций в магазине.

// Вы можете передать флаг "Активен" в параметры метода,
// чтобы задать фильтр для получения только активных акций
MassSalesList massSalesList = client.getMassSalesList(ActivityFlag.ONLY_ACTIVE);
System.out.printf("Акций активно в данный момент: %d", massSalesList.size());

Get Coupons List

Позволяет получить список всех купонов в магазине.

// Вы можете передать флаг "Активен" в параметры метода,
// чтобы задать фильтр для получения только активных купонов
CouponsList couponsList = client.getCouponsList(ActivityFlag.ONLY_ACTIVE);
System.out.printf("Купонов активно в данный момент: %d", couponsList.size());

Get Payments List

Позволяет получить список всех удачных платежей в магазине.

PaymentsList paymentsList = client.getPaymentsList();
System.out.printf("%d платежей было проведено за всё время!", paymentsList.size());

Get Payment Info

Позволяет получить информацию о конкретном платеже.

int paymentId = 1488228;
Payment payment = client.getPayment(paymentId);
System.out.printf("Платеж #%d был произведён игроком %s!", paymentId, payment.getCustomer());

Create Payment

Позволяет создать платёж и использовать платформу только в качестве агрегатора платежей.

String redirectUrl = "https://github.com/EasyDonate/EasyDonate4J";
PendingPayment pendingPayment = client.createPayment()
        .addProduct(22837, 2)          // добавим продукт #22837 в кол-ве 2 шт.
        .setServerId(1337)             // назначим выдачу на сервере #1337
        .setCoupon("EASYDONATE4J")     // активируем купон по коду
        .setCustomer("SoKnight")       // установим никнейм покупателя
        .setRedirectUrl(redirectUrl)   // добавим редирект URL
        .create();

String url = pendingPayment.getUrl();
System.out.printf("Оплатите покупку по ссылке: %s", url);

Working with Shop Plugins

Работа с плагинами доступна из специального интерфейса - PluginManager.
Вы можете получить его из API клиента таким образом:

PluginManager pluginManager = client.getPluginManager();

Surcharge (EasyDonate)

Добавляет механизм доплаты в Ваш магазин.

SurchargePlugin plugin = pluginManager.getSurchargePlugin();

SurchargePluginSettings settings = plugin.getSettings();
String value = settings.isDisallowedWithPromocodes() ? "Нет" : "Да";
System.out.printf("Доплата работает с промокодами: %s", value);

SurchargeDiscountsList discountsList = plugin.getDiscountsList("SoKnight");
System.out.printf("Для покупателя SoKnight доступно скидок: %d", discountsList.size());

Last Payments (EasyDonate)

Добавляет рулетку с последними покупками на страницу Вашего магазина.

LastPaymentsPlugin plugin = pluginManager.getLastPaymentsPlugin();

LastPaymentsPluginSettings settings = plugin.getSettings();
int visibleItemsAmount = settings.getVisibleItemsAmount();
System.out.printf("На странице магазина будут показываться %d последних покупок!", visibleItemsAmount);

PaymentsList paymentsList = plugin.getLastPaymentsList();
System.out.printf("На данный момент показываются: %d / %d", paymentsList.size(), visibleItemsAmount);

Custom Messages (EasyDonate)

Добавляет всплывающее приветствующее сообщение на страницу Вашего магазина.

CustomMessagesPlugin plugin = pluginManager.getCustomMessagesPlugin();

CustomMessagesPluginSettings settings = plugin.getSettings();
System.out.printf("Пользователи видят сообщение '%s' при входе!", settings.getMessageText());

Community Widget (Discord)

Добавляет виджет сообщества Discord на страницу Вашего магазина.

DiscordWidgetPlugin plugin = pluginManager.getDiscordWidgetPlugin();

DiscordWidgetPluginSettings settings = plugin.getSettings();
String channelId = settings.getChannelId().orElse("???");
System.out.printf("На странице магазина отображается виджет Discord канала #%s!", channelId);

Community Widget (VKontakte)

Добавляет виджет сообщества ВКонтакте на страницу Вашего магазина.

VKCommunityWidgetPlugin plugin = pluginManager.getVKCommunityWidgetPlugin();

VKCommunityWidgetPluginSettings settings = plugin.getSettings();
int communityId = settings.getCommunityId().orElse(0);
System.out.printf("На странице магазина отображается виджет сообщества ВК #%d!", communityId);

News (VKontakte)

Добавляет блок новостей из сообщества ВКонтакте на страницу Вашего магазина.

VKNewsPlugin plugin = pluginManager.getVKNewsPlugin();

VKNewsPluginSettings settings = plugin.getSettings();
String communityUrl = settings.getCommunityUrl().orElse(null);
System.out.printf("На странице магазина отображаются новости из сообщества ВК: %s", communityUrl);

Messages Widget (VKontakte)

Добавляет виджет сообщений сообщества ВКонтакте на страницу Вашего магазина.

VKMessagesWidgetPlugin plugin = pluginManager.getVKMessagesWidgetPlugin();

VKMessagesWidgetPluginSettings settings = plugin.getSettings();
int expandDelay = settings.getExpandDelay().orElse(0);
System.out.printf("Подсказка с диалогом ВК появляется через %d сек.", expandDelay);

Metrika (Yandex)

Подключает Ваш магазин к сервису Яндекс.Метрика.

YandexMetrikaPlugin plugin = pluginManager.getYandexMetrikaPlugin();

YandexMetrikaPluginSettings settings = plugin.getSettings();
System.out.printf("Магазин подключен к сервису Яндекс.Метрика! (#%d)", settings.getId());
Clone this wiki locally