dealt / dealt-sdk
Dealt API SDK
v0.0.10
2023-05-15 13:38 UTC
Requires
- php: >=7.0 || ^8.0
- symfony70/polyfill-php80: <=1.18.1
Requires (Dev)
README
Dealt PHP SDK
安装 ⚙️
要求
PHP 7+ - 库在php 7.0, 7.1, 7.2, 7.3, 7.4 & 8.1上进行了测试
Composer
composer require dealt/dealt-sdk
用法 ✨
Dealt 客户端初始化
使用您的API密钥初始化Dealt客户端。您可以使用DealtEnvironment
常量指定要针对的API环境。使用DealtEnvironment.TEST
进行开发。
use Dealt\DealtSDK\DealtClient; use Dealt\DealtSDK\DealtEnvironment; $client = new DealtClient([ "api_key" => "secret_dealt_api_key", "env" => DealtEnvironment::$PRODUCTION ]);
检查优惠可用性
检查给定国家/邮政编码是否有可用优惠
/** @var Dealt\DealtSDK\GraphQL\Types\Object\OfferAvailabilityQuerySuccess */ $offer = $client->offers->availability([ 'offer_id' => 'your-offer-uuid', 'address' => [ 'country' => 'France', 'zip_code' => '75016', ] ]); $available = $offer->available; /** @var Dealt\DealtSDK\GraphQL\Types\Object\Money */ $net_price = $offer->net_price; /** @var Dealt\DealtSDK\GraphQL\Types\Object\Money */ $gross_price = $offer->gross_price; /** @var Dealt\DealtSDK\GraphQL\Types\Object\Money */ $vat_price = $offer->vat_price;
通过ID获取任务
/** @var Dealt\DealtSDK\GraphQL\Types\Object\MissionQuerySuccess */ $result = $client->missions->get("your-mission-id"); /** @var Dealt\DealtSDK\GraphQL\Types\Object\Mission */ $mission = $result->mission; /** @var Dealt\DealtSDK\GraphQL\Types\Object\Offer */ $offer = $mission->offer;
获取所有任务
/** @var Dealt\DealtSDK\GraphQL\Types\Object\MissionsQuerySuccess */ $result = $client->missions->all(); /** @var Dealt\DealtSDK\GraphQL\Types\Object\Mission[] */ $missions = $result->missions;
提交任务
/** @var Dealt\DealtSDK\GraphQL\Types\Object\SubmitMissionMutationSuccess */ $result = $client->missions->submit([ "offer_id" => "your-offer-id", "address" => [ "country" => "France", "zip_code" => "92190", "city" => "Antony", "street1" => "XX Rue de la Paix" ], "customer" => [ "first_name" => "John", "last_name" => "Doe", "email_address" => "xxx@yyy.zzz", "phone_number" => "+33700000000" ], "webHookUrl" => "https://optional.webhook.url", "extraDetails" => "https://test-shop.com/optional/product.html" ]); /** @var Dealt\DealtSDK\GraphQL\Types\Object\Mission */ $mission = $result->mission;
取消任务
/** @var Dealt\DealtSDK\GraphQL\Types\Object\CancelMissionMutationSuccess */ $result = $client->missions->cancel("your-mission-id"); /** @var Dealt\DealtSDK\GraphQL\Types\Object\Mission */ $mission = $result->mission;
返回类型
在与Dealt PHP SDK交互时可能会遇到的常见返回类型
Dealt\DealtSDK\GraphQL\Types\Object\Mission
Dealt\DealtSDK\GraphQL\Types\Object\Offer
Dealt\DealtSDK\GraphQL\Types\Object\Money
开发 👨🏼💻
为了运行E2E测试,您需要在当前会话中导出以下环境变量(或在.zshrc或.bashrc中自动源它们)
DEALT_TEST_API_KEY=your-secret-api-key DEALT_TEST_OFFER_ID=your-offer-id
composer lint # lint source files composer test:lint # ensure valid codestyle composer test:types # phpstan reporting composer test:unit # phpunit tests