sioweb / hrworks
0.1.2
2020-08-28 07:29 UTC
Requires
README
此客户端可用于连接到HRWorks API https://www.hrworks.de/produkt/api/
安装
composer req sioweb/hrworks
凭证
首先在根目录下创建或更新 .env
-文件
HRWORKS_ACCESS_KEY="your_access_key"
HRWORKS_SECRET_KEY="your_secret_key"
示例
请确保您的管理员已为您提供了您想要使用的操作的正确权限。
安装后,您可以在 /web
目录下创建一个PHP文件。建议使用子目录,这样用户就不能访问像 /vendor
或 /var/logs
这样的敏感目录,如果您使用它。
<?php // /web/index.php use Sioweb\Hrworks\Core\Client; include '../vendor/autoload.php'; $Client = new Client(); // $Client->setRootDir('/var/www/folder'); $Client->init(); $Organisations = $Client->load('GetAllOrganizationUnits'); foreach ($Organisations['organizationUnits'] as $Organisation) { echo '<h3>' . $Organisation['organizationUnitName'] . ' (Unit id: ' . $Organisation['organizationUnitNumber'] . ')</h3>'; echo '<pre>' . print_r($Client->load('GetPresentPersonsOfOrganizationUnit', [ 'organizationUnitNumber' => $Organisation['organizationUnitNumber'] ]), true) . '</pre>'; }
客户端
Client::load(String $Target, Array Payload = NULL)
加载至少需要一个目标。对于像 GetPresentPersonsOfOrganizationUnit
这样的某些操作,您需要添加作为数组的负载
// Client::load(String $Target, Array Payload = NULL) $Client->load('GetPresentPersonsOfOrganizationUnit', [ 'organizationUnitNumber' => 1 ])
Client::setRootDir(String $RootPath)
客户端从根目录加载 .env
,默认为 $_SERVER['DOCUMENT_ROOT'] . '/../'
。如果您将脚本安装在 /
而不是 /web
,您需要在 $Client->init()
之前运行类似 $Client->setRootDir($_SERVER['DOCUMENT_ROOT']);
的操作。
$_SERVER['DOCUMENT_ROOT'] . '/../'
可能输出例如: /var/www/html/yourdomain/web/../
Postman
您还可以使用此包创建 Postman 导入。您只需使用 Postman::load 代替 Client::load。
注意: 目前Postman不会发送正确的签名。这可能在未来某个时候会工作。
{"type":"InvalidSignatureError","errorCode":403,"errorMessage":"The signature included in your request does not match the signature we calculated."}
请记住,您必须每15分钟更新一次日期和x-hrworks-date。