darkdarin/vk-ord-sdk

用于与 VK ORD API 一起工作的 SDK

v0.9.0 2024-09-22 11:19 UTC

This package is auto-updated.

Last update: 2024-09-22 11:20:38 UTC


README

SDK для работы с VK ORD API

API 文档: https://ord.vk.com/help/api/

Swagger 文档: https://ord.vk.com/help/api/swagger/

本 SDK 支持 22.09.2024 之前 API 中使用的所有方法和对象类型

安装和配置

要安装包,请执行以下命令

composer require darkdarin/vk-ord-sdk

Laravel 10+

使用以下命令发布配置

php artisan vendor:publish --provider "DarkDarin\VkOrdSdk\VkOrdSdkServiceProvider"

Hyperf 3.0

使用以下命令发布配置

php bin/hyperf.php vendor:publish darkdarin/vk-ord-sdk

使用

独立使用

use DarkDarin\VkOrdSdk\TransportClient\TransportClient;
use DarkDarin\VkOrdSdk\Factories\PsrClientFactory;
use DarkDarin\VkOrdSdk\Factories\PsrRequestFactoryFactory;
use DarkDarin\VkOrdSdk\Factories\PsrStreamFactoryFactory;
use DarkDarin\Serializer\ApiSerializer\ApiSerializerFactory;
use DarkDarin\Serializer\MethodParametersSerializer\MethodParametersMapper;
use DarkDarin\VkOrdSdk\VkOrd;

$transportClient = new TransportClient(
    (new PsrClientFactory())(),
    (new PsrRequestFactoryFactory())(),
    (new PsrStreamFactoryFactory())(),
    (new ApiSerializerFactory())(),
    new MethodParametersMapper()
);

$vkClient = new VkOrd('https://api.ord.vk.com', 'TOKEN', $transportClient);

$contract = $vkClient->getContract('5t33p36p8p-1h57fjo00');

Laravel

use Illuminate\Support\Facades\App;
use DarkDarin\VkOrdSdk\VkOrd;

// Получить сконфигурированный клиент можно через DI любым доступным способом
// https://laravel.net.cn/docs/10.x/container
$vkClient = App::make(VkOrd::class);
$contract = $vkClient->getContract('5t33p36p8p-1h57fjo00');

Hyperf

use Hyperf\Context\ApplicationContext;
use DarkDarin\VkOrdSdk\VkOrd;

// Получить сконфигурированный клиент можно через DI любым доступным способом
// https://hyperf.wiki/3.0/#/en/di
$vkClient = ApplicationContext::getContainer()->get(VkOrd::class);
$contract = $vkClient->getContract('5t33p36p8p-1h57fjo00');

使用其他 URL 或令牌调用方法

/** @var \DarkDarin\VkOrdSdk\VkOrd $vkClient **/
$contract = $vkClient->withUrl('https://api-sandbox.ord.vk.com')
    ->withToken('SANDBOX_TOKEN')
    ->getContract('5t33p36p8p-1h57fjo00');