forward-force/workiz
Composer 安装命令:
composer require forward-force/workiz
包简介
PHP Wrapper around Workiz API
关键字:
README 文档
README
This is a wrapper around Workiz API. The API is very minimal, so this implementation is fairly simple.
Authentication
In order to authenticate you need a token from Workiz. Head over to the developer portal to read updated procesure as how to obtain one: https://developer.workiz.com/
Workiz is likely to give you a toke and a secret, the API requires the token only.
Jobs API
You can get all jobs via paginated list or a single job.
How to get all jobs:
$workiz = new \ForwardForce\Workiz\Workiz('your-token'); try { $jobs = $workiz->jobs()->getAll(); var_dump($jobs); } catch (\GuzzleHttp\Exception\GuzzleException $e) { var_dump($e->getMessage()); }
The example above will give you the first N number of jobs. N is the size of the page, set to 10 by default.
How to change the page size or paginate:
$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()); }
The example above illustrate how to change the page size (by using take()) and how to change the offset (by using skip()).
Therefore, the example above will take 25 records starting from the 10th record (skipping the first 10).
How to get a single job:
$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()); }
The example above illustrates how to get a single job by its uuid.
How to pass additional query parameters to the 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()); }
The example above illustrates how to get only pending jobs. There are other helper methods as well such as getQueryString,
resetQueryParameters, removeQueryParameter, which may nor may not be useful.
Leads API
You can get all leads via paginated list or a single lead.
How to get all leads:
$workiz = new \ForwardForce\Workiz\Workiz('your-token'); try { $leads = $workiz->leads()->getAll(); var_dump($leads); } catch (\GuzzleHttp\Exception\GuzzleException $e) { var_dump($e->getMessage()); }
The example above will give you the first N number of leads. N is the size of the page, set to 10 by default.
How to change the page size or paginate:
$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()); }
The example above illustrate how to change the page size (by using take()) and how to change the offset (by using skip()).
Therefore, the example above will take 25 records starting from the 10th record (skipping the first 10).
How to get a single lead:
$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()); }
The example above illustrates how to get a single lead by its uuid.
Time Off API
You can get all timeOffs via paginated list or a single timeOff.
How to get all timeOffs:
$workiz = new \ForwardForce\Workiz\Workiz('your-token'); try { $timeOffs = $workiz->timeOffs()->getAll(); var_dump($timeOffs); } catch (\GuzzleHttp\Exception\GuzzleException $e) { var_dump($e->getMessage()); }
The example above will give you the first N number of timeOffs. N is the size of the page, set to 10 by default.
How to change the page size or paginate:
$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()); }
The example above illustrate how to change the page size (by using take()) and how to change the offset (by using skip()).
Therefore, the example above will take 25 records starting from the 10th record (skipping the first 10).
How to get a single timeOff:
$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()); }
The example above illustrates how to get a single timeOff by its uuid.
Contributions
To run locally, you can use the docker container provided here. You can run it like so:
docker-compose up
Then you can ssh into the php-fpm container. Please note, you need to set your WORKIZ API key and SECRET as
environmental variables $WORKIZ_TOKEN and $WORKIZ_SECRET respectively. However, the secret is not needed at this time
you could set it to anything.
xdebug is fully configured to work as cli, hookup your favorite IDE to it and debug away!
There is auto-generated documentation as to how to run this library on local, please take a look at phpdocker/README.md
If you find an issue, have a question, or a suggestion, please don't hesitate to open a github issue.
Acknowledgments
Thank you to phpdocker.io for making getting PHP environments effortless!
forward-force/workiz 适用场景与选型建议
forward-force/workiz 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 3 次下载、GitHub Stars 达 1, 最近一次更新时间为 2020 年 10 月 28 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「forwardforce」 「workiz」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 forward-force/workiz 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 forward-force/workiz 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 forward-force/workiz 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
PHP Wrapper around Daxko API
PHP Wrapper around TMS API
PHP Wrapper around Estated API
PHP Wrapper around RightSignature API
PHP Wrapper around TeleVoIPs API
统计信息
- 总下载量: 3
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 6
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-10-28