jlg / php-adp-client
简单的PHP ADP连接客户端。
v1.2.4
2022-05-07 00:08 UTC
Requires
- guzzlehttp/guzzle: ^7.0.1
Requires (Dev)
- phpstan/phpstan: ^1.5
README
入门
composer require jlg/php-adp-client
基本用法
<?php $config = [ 'client_id' => '********-****-****-****-************', 'client_secret' => '********-****-****-****-************', 'org_name' => 'ADP Org Name', 'ssl_cert_path' => '/etc/ssl/adp/company_auth.pem', 'ssl_key_path' => '/etc/ssl/adp/company_auth.key', 'server_url' => 'https://api.adp.com/' ]; $adp = new \Jlg\ADP\Client($config); $filter = "workers/workAssignments/assignmentStatus/statusCode/codeValue eq 'A'"; $params = [ 'query' => [ '$filter' => $filter, '$top' => 100, // amount of records to grab '$skip' => 0 // how many records to skip. ] ]; $httpResults = $adp::getContents($adp->get('hr/v2/workers', $params)); $workers = ($httpResults) ? $httpResults->workers : [];
方法
-
getWorkersMeta(): HttpResponse
- 发送GET请求以检索工作者的API元数据。
$adp->getWorkersMeta();
-
getWorker(string $aoid, array $select = []): HttpResponse
- 根据工作者的AOID获取单个工作者
- 可以传递一个可选的select数组作为第二个参数。
$adp->getWorker($aoid, $select);
-
getWorkers(array $filters = [], int $skip = 0, int $top = 100, bool $count = false, array $select = []): HttpResponse
- 获取所有工作者,但仅返回
$top
条记录。 - 您可以使用
$skip
来遍历所有用户。
$adp->getWorkers($filters, $skip, $top, $count, $select);
- 或者您可能需要获取超过
$top
$workers = []; $filters = ["workers/workAssignments/assignmentStatus/statusCode/codeValue eq 'A'"]; // you probably want to use a filter :) $top = 100; $skip = 0; while (($results = $adp::getContents($adp->getWorkers($filters, $skip, $top))) !== null) { $workers = array_merge($workers, $results->workers); $skip += $top; } return $workers;
- 获取所有工作者,但仅返回
-
getWorkAssignmentMeta(): HttpResponse
- 发送GET请求以检索工作分配API元数据。
$adp->getWorkAssignmentMeta();
-
modifyWorkAssignment(array $params = []): HttpResponse
- 发送POST请求以修改工作者的工作分配。
$adp->modifyWorkAssignment($params);
-
get(string $url, array $requestPayload = []): HttpResponse
- 发送GET请求到您想使用的任何ADP API端点。
$adp->get($url, $requestPayload);
-
post(string $url, array $requestPayload = []): HttpResponse
- 发送POST请求到您想使用的任何ADP API端点。
$adp->post($url, $requestPayload);
-
apiCall(string $requestType, string $url, array $requestPayload = []): HttpResponse
- 发送HTTP请求到在
$url
参数中指定的ADP API端点。 $requestType
需要是'get'
或'put'
$adp->apiCall('get', 'hr/v2/workers', []);
- 发送HTTP请求到在
-
static getContents(HttpResponse $response): HttpResponse
- 从guzzle Http Response获取内容。
$res = $adp::getContents($adp->getWorkers());
附加信息
- 有关请求参数和响应内容的详细信息,请参阅ADP API文档探索器。
- 此代码使用Guzzle进行HTTP抽象。如果您想获取ADP API响应的内容,需要调用上述方法之一返回的响应的
->getBody()->getContents()
。 - 如果您在配置中缺少某些内容或任何其他类型的验证,您将遇到如下的异常:
PHP致命错误:未捕获的Jlg\ADP\Exceptions\ADPClientValidationException: [0]: 缺少配置中的键:server_url