Workiz API 的 PHP 封装

1.0.1 2020-10-28 07:33 UTC

This package is auto-updated.

Last update: 2024-08-29 05:53:33 UTC


README

这是一个围绕 Workiz API 的封装。API 非常简洁,因此实现也相对简单。

身份验证

为了进行身份验证,您需要从 Workiz 获取一个令牌。请访问开发者门户以阅读获取令牌的更新流程:[https://developer.workiz.com/](https://developer.workiz.com/)

Workiz 可能会为您提供令牌和密钥,API 只需要令牌。

工作 API

您可以通过分页列表或单个工作来获取所有工作。

如何获取所有工作

$workiz = new \ForwardForce\Workiz\Workiz('your-token');

try {
    $jobs = $workiz->jobs()->getAll();
    var_dump($jobs);
} catch (\GuzzleHttp\Exception\GuzzleException $e) {
    var_dump($e->getMessage());
}

上面的示例将给出前 N 个工作。N 是页面大小,默认设置为 10。

如何更改页面大小或分页

$workiz = new \ForwardForce\Workiz\Workiz('your-token');

try {
    $jobs = $workiz->jobs()->take(25)->skip(10)->getAll();
    var_dump($jobs);
} catch (\GuzzleHttp\Exception\GuzzleException $e) {
    var_dump($e->getMessage());
}

上面的示例说明了如何通过使用 take() 来更改页面大小,以及如何通过使用 skip() 来更改偏移量。因此,上面的示例将从第 10 条记录开始获取 25 条记录(跳过前 10 条)。

如何获取单个工作

$workiz = new \ForwardForce\Workiz\Workiz('your-token');

try {
    $jobs = $workiz->jobs()->getById('your-job-uuid');
    var_dump($jobs);
} catch (\GuzzleHttp\Exception\GuzzleException $e) {
    var_dump($e->getMessage());
}

上面的示例说明了如何通过其 uuid 获取单个工作。

如何向 API 传递额外的查询参数

$workiz = new \ForwardForce\Workiz\Workiz('your-token');

try {
    $jobs = $workiz->jobs()->addQueryParameter('status', 'Pending')->getAll();
    var_dump($jobs);
} catch (\GuzzleHttp\Exception\GuzzleException $e) {
    var_dump($e->getMessage());
}

上面的示例说明了如何获取所有 pending 工作。还有其他辅助方法,如 getQueryStringresetQueryParametersremoveQueryParameter,可能有用或无用。

潜在客户 API

您可以通过分页列表或单个潜在客户来获取所有潜在客户。

如何获取所有潜在客户

$workiz = new \ForwardForce\Workiz\Workiz('your-token');

try {
    $leads = $workiz->leads()->getAll();
    var_dump($leads);
} catch (\GuzzleHttp\Exception\GuzzleException $e) {
    var_dump($e->getMessage());
}

上面的示例将给出前 N 个潜在客户。N 是页面大小,默认设置为 10。

如何更改页面大小或分页

$workiz = new \ForwardForce\Workiz\Workiz('your-token');

try {
    $leads = $workiz->leads()->take(25)->skip(10)->getAll();
    var_dump($leads);
} catch (\GuzzleHttp\Exception\GuzzleException $e) {
    var_dump($e->getMessage());
}

上面的示例说明了如何通过使用 take() 来更改页面大小,以及如何通过使用 skip() 来更改偏移量。因此,上面的示例将从第 10 条记录开始获取 25 条记录(跳过前 10 条)。

如何获取单个潜在客户

$workiz = new \ForwardForce\Workiz\Workiz('your-token');

try {
    $leads = $workiz->leads()->getById('your-lead-uuid');
    var_dump($leads);
} catch (\GuzzleHttp\Exception\GuzzleException $e) {
    var_dump($e->getMessage());
}

上面的示例说明了如何通过其 uuid 获取单个潜在客户。

休假 API

您可以通过分页列表或单个休假来获取所有休假。

如何获取所有休假

$workiz = new \ForwardForce\Workiz\Workiz('your-token');

try {
    $timeOffs = $workiz->timeOffs()->getAll();
    var_dump($timeOffs);
} catch (\GuzzleHttp\Exception\GuzzleException $e) {
    var_dump($e->getMessage());
}

上面的示例将给出前 N 个休假。N 是页面大小,默认设置为 10。

如何更改页面大小或分页

$workiz = new \ForwardForce\Workiz\Workiz('your-token');

try {
    $timeOffs = $workiz->timeOffs()->take(25)->skip(10)->getAll();
    var_dump($timeOffs);
} catch (\GuzzleHttp\Exception\GuzzleException $e) {
    var_dump($e->getMessage());
}

上面的示例说明了如何通过使用 take() 来更改页面大小,以及如何通过使用 skip() 来更改偏移量。因此,上面的示例将从第 10 条记录开始获取 25 条记录(跳过前 10 条)。

如何获取单个休假

$workiz = new \ForwardForce\Workiz\Workiz('your-token');

try {
    $timeOffs = $workiz->timeOffs()->getById('your-timeOff-uuid');
    var_dump($timeOffs);
} catch (\GuzzleHttp\Exception\GuzzleException $e) {
    var_dump($e->getMessage());
}

上面的示例说明了如何通过其 uuid 获取单个休假。

贡献

要本地运行,您可以使用这里提供的 Docker 容器。您可以像这样运行它

docker-compose up

然后您可以通过 ssh 进入 php-fpm 容器。请注意,您需要设置您的 WORKIZ API 密钥和密钥分别作为环境变量 $WORKIZ_TOKEN$WORKIZ_SECRET。但是,密钥在此时尚未需要,您可以将其设置为任何内容。

xdebug 已完全配置以在 cli 中工作,将其连接到您喜欢的 IDE 并进行调试!

有关如何在本地运行此库的自动生成文档,请参阅 phpdocker/README.md

如果您发现问题、有疑问或建议,请随时在 github 上创建问题。

致谢

感谢 phpdocker.io 使获取 PHP 环境变得容易!