forward-force / workiz
Workiz API 的 PHP 封装
Requires
- php: ^7.4
- ext-json: *
- guzzlehttp/guzzle: ^7.1@dev
Requires (Dev)
- phpmd/phpmd: dev-master
- phpunit/phpunit: ^9.5@dev
- squizlabs/php_codesniffer: ^3.0@dev
- vimeo/psalm: ^4.0@dev
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
工作。还有其他辅助方法,如 getQueryString
、resetQueryParameters
、removeQueryParameter
,可能有用或无用。
潜在客户 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 环境变得容易!