ludicat / mtg-finder-sdk
dev-main
2024-04-19 13:29 UTC
Requires
- php: ^7.2.5 || ^8.0
- ext-json: *
- guzzlehttp/guzzle: ^7.8
- psr/http-client: ^1.0
Requires (Dev)
- phpunit/phpunit: ^8.5.36 || ^9.6.15
This package is auto-updated.
Last update: 2024-09-19 14:33:43 UTC
README
这是一个用于MTG Finder API的PHP SDK。它提供了一种简单的方式与API交互。
安装
您可以通过composer安装此包。
composer require ludicat/mtg-finder-sdk
用法
在 MTG Finder网站 的账户设置中创建一个API密钥。您可以在 MTG Finder API文档 中找到详细的文档。
您必须实例化一个客户端。它将通过任何API端点传递。
use Ludicat\MTGFinder\Client; $client = new Client('YOUR_API_KEY');
端点
格式
您必须在事件上设置格式。为了做到这一点,您将需要使用它们的ID。您可以通过在 Formats
端点上使用 get
方法来获取完整的ID列表(及其名称)。
use Ludicat\MTGFinder\Api\Formats; $formatsApi = new Formats($client); /** @var array<Ludicat\MTGFinder\Model\Format> $availableFormats */ $availableFormats = $formatsApi->get();
Geoname
MTG Finder使用Geoname API来获取国家列表。您可以通过ID或通过在 Geoname
端点上搜索城市名称、邮政编码或GPS坐标来获取。
use Ludicat\MTGFinder\Api\Geoname; $geonameApi = new Geoname($client); /** @var Ludicat\MTGFinder\Model\Geoname|null $data */ $data = $geonameApi->get(123); /** @var array<Ludicat\MTGFinder\Model\Geoname> $data */ $data = $geonameApi->search('FR', 'Paris'); // Could either be a city name or a zipcode /** @var array<Ludicat\MTGFinder\Model\Geoname> $data */ $data = $geonameApi->searchZip('FR', '75001'); /** @var array<Ludicat\MTGFinder\Model\Geoname> $data */ $data = $geonameApi->searchCity('FR', 'Paris'); /** @var Ludicat\MTGFinder\Model\Geoname|null $data */ $data = $geonameApi->searchCoord(42.5833, 1.6667);
事件
API的主要目的是同步您的网站并自动创建事件。我们建议您在创建事件之前获取格式和geoname。
use Ludicat\MTGFinder\Api\Event; use Ludicat\MTGFinder\Model\Event as EventModel; $eventApi = new Event($client); $eventApi->create([ 'state' => EventModel::STATE_PUBLISHED, 'name' => 'Test event', 'description' => 'This is a test event', 'formats' => [ ['id' => 1], ['id' => 2], ['id' => 5], ], 'address' => [ 'street' => '1, street of the test', 'additional' => 'Appartement 42', 'name' => 'The bar next door', 'geoname' => [ 'id' => 123 ], 'latitude' => 48.8566, 'longitude' => 2.3522, ], 'maxPeople' => 16, 'startAt' => '2024-01-01 19:00:00', 'endAt' => '2024-01-01 23:00:00', 'publication' => 'Check my new tournament !', ]);
测试
在运行测试之前,您必须创建Docker环境。
make build
make test
故障排除
如果您遇到任何问题,请在此存储库中创建一个问题: https://github.com/Ludicat/mtg-finder-sdk/issues
请记住,任何滥用API都将导致您的账户被封禁。