cryptoweb/infoflot-api

Infoflot REST API 的 PHP 客户端

0.1.3 2024-07-06 11:00 UTC

This package is auto-updated.

Last update: 2024-09-19 07:38:33 UTC


README

Latest Version License

警告

此包处于早期开发阶段!

描述

注意

基本文档: https://restapi.infoflot.com/docs

安装

composer require cryptoweb/infoflot-api

集成

我们提供了用于简单集成的 Laravel 包: cryptoweb/infoflot-laravel

使用

客户端初始化

require 'vendor/autoload.php';

use CryptoWeb\InfoflotApi\Client;
use CryptoWeb\InfoflotApi\ClientOptions;

$client = new Client(
	new GuzzleHttp\Client(),
	new ClientOptions(
		apiKey: 'your-api-key',
	)
);

工厂

use CryptoWeb\InfoflotApi\Enums\ShipTypeAsOnMainSiteEnum;
use CryptoWeb\InfoflotApi\Factory;

$infoflot = new Factory($client);

$infoflot->cruises()
	->type(ShipTypeAsOnMainSiteEnum::TURKISH_RIVERA)
	->nights(5)
	->get();

$infoflot->cruises(100500)
	->get();

$infoflot->cruises(100500)
	->cabins()
	->get();

$infoflot->cruises(100500)
	->cabins()
	->search()
	->get();

// etc...

构建器

use CryptoWeb\InfoflotApi\Builders\Cruises;
use CryptoWeb\InfoflotApi\Builders\CruisesId;
use CryptoWeb\InfoflotApi\Builders\CruisesIdCabins;
use CryptoWeb\InfoflotApi\Builders\CruisesIdCabinsSearch;
use CryptoWeb\InfoflotApi\Enums\CruiseTypeEnum;

// get all cruises
$cruisesBuilder = new Cruises($client);
$cruisesBuilder->type(CruiseTypeEnum::RIVER)
$cruisesBuilder->nights(5);
$cruisesResult = $cruisesBuilder->get();

// or
$cruisesResult = (new Cruises($client))
	->type(CruiseTypeEnum::SEA)
	->nights(5, 6, 7)
	->get();

// get cruise by id
$cruiseBuilder = new CitiesId($client);
$cruiseBuilder->id(311);
$cruiseResult = $cruiseBuilder->get();

// get cruise cabins by id
$cruiseCabinsResult = (new CruisesIdCabins($client))
	->id(311)
	->get();

// etc...

基本使用

$result = $client->request('cruises', [
	'ship' => '311,312,400',
	'type' => 'sea'
]);

许可协议

MIT 许可协议 (MIT)。请参阅 LICENSE 以获取更多信息。