jlg/php-adp-client

简单的PHP ADP连接客户端。

v1.2.4 2022-05-07 00:08 UTC

This package is auto-updated.

Last update: 2024-09-07 04:59:22 UTC


README

Latest Stable Version Total Downloads License

入门

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', []);
  • 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