hubkit / hk-sdk-php
Hubkit API 的 PHP SDK
1.0.8
2020-08-24 20:07 UTC
Requires
- php: ^7.1.3
- guzzlehttp/psr7: ^1.4
- php-http/curl-client: ^1.7
- php-http/message: ^1.7
- php-http/multipart-stream-builder: ^1.0
Requires (Dev)
README
HubKit 是一个用 PHP 编写的库,用于与 hubkit.io 进行通信。
功能
- [x] 简单设置和配置
- [x] 完备的单元测试覆盖
需求
- PHP 版本 > 7.1
组件库
为了保持 HubKit 专注于核心功能实现,需要额外的组件库(但它们包含在 composer 依赖中,因此您无需关心这一点)。
- "guzzlehttp/psr7"
- "php-http/message"
- "php-http/multipart-stream-builder"
安装
Composer
您可以使用以下命令进行安装
$ composer require hubkit/hk-sdk-php
用法
要使用特定的 API 功能,您只需实例化 HubkitSdk
类,然后调用所需的方法。
use Hubkit\Sdk\HubkitSdk;
$hubkitSdk = new HubkitSdk();
$hubkitSdk->setApiKey('YOUR-HUBKIT-API-KEY');
$result = $hubkitSdk->me();
var_dump($result);
HubkitSdk 中包含的方法
me();
createDevice(array $datas);
$datas = [
'project' => 'UUID-HUBKIT-PROJECT',
'name' => 'New Device from SDK',
'macAddress' => 'FF:FF:FF:FF:FF:FF',
'hardwareVersion' => 'v1',
'firmwareVersion' => 'v2',
'manualMode' => '1',
'sensorType' => 'MY_TYPE_EXEMPLE',
'battery' => '54',
'factoryTest' => 'factory test',
'latitude' => '1.5',
'longitude' => '0.5',
'externalIdentifier' => 'external_id',
];
updateDevice(string $uuid, array $datas);
$uuid = 'UUID-HUBKIT-DEVICE';
// Here, the api is in PATCH method, all keys are optionnals
$datas = [
'name' => 'New Device from SDK',
'macAddress' => 'FF:FF:FF:FF:FF:FF',
'hardwareVersion' => 'v1',
'firmwareVersion' => 'v2',
'manualMode' => '1',
'sensorType' => 'MY_TYPE_EXEMPLE',
'battery' => '54',
'factoryTest' => 'factory test',
'latitude' => '1.5',
'longitude' => '0.5',
'externalIdentifier' => 'external_id',
];
activateDevice(string $uuid);
$uuid = 'UUID-HUBKIT-DEVICE';
device(string $uuid);
$uuid = 'UUID-HUBKIT-DEVICE';
activity(string $uuid);
$uuid = 'UUID-HUBKIT-ACTIVITY';
allActivities();
session(string $uuid);
$uuid = 'UUID-HUBKIT-SESSION';
deleteSession(string $uuid);
$uuid = 'UUID-HUBKIT-SESSION';
readySession(string $uuid);
$uuid = 'UUID-HUBKIT-SESSION';
createSession(string $uuid, array $datas);
$uuid = 'UUID-HUBKIT-SESSION';
$datas = [
'project' => 'UUID-HUBKIT-PROJECT',
'capturedAt' => '2018-01-01T01:00:00-05:00', // Care to format ISO 8601
'metas' => [
'meta1 name' => 'meta1 value',
'meta2 name' => 'meta2 value',
// ...
],
'callbackUrl' => 'http://my.callback.com/route' // Callback launch after session decoded
];
rawData(string $uuid);
$uuid = 'UUID-HUBKIT-RAWDATA';
createRawData(array $datas, UploadedFileInterface $file);
$datas = [
'session' => 'UUID-HUBKIT-SESSION',
'device' => 'UUID-HUBKIT-DEVICE',
];
$file = '...' // must implement UploadedFileInterface
algorithmProcess(string $uuid, array $datas);
$datas = [
'algorithm' => 'slug-algorithm',
'dataType' => 'gps',
];
致谢
HubKit 由 SURF'IN 公司拥有和维护。
许可证
HubKit 在 MIT 许可下发布。有关详细信息,请参阅 LICENSE。