decisionrules / decisionrules-php
用于将您的应用程序连接到DecisionRules.io的简单库
Requires
- php: >=5.3.0
Requires (Dev)
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-23 21:37:43 UTC
README
Decisionrules.io 库,允许您将DecisionRules求解器和管理工作API轻松集成到您的应用程序中。SDK 允许您解决所有可用的规则类型,对所有规则类型进行CRUD操作,管理规则状态和规则标签。
版本3是该SDK的新主要版本,由于旧版本已弃用,因此强烈推荐使用。
安装
您可以通过NPM包管理器简单地将SDK 集成到项目中。
定义自定义域名
自定义域名是为使用私有云或本地部署DecisionRules的用户设计的特殊类。类接受最多3个参数。
域名参数是希望使用的域名,协议是HTTP或HTTPS,端口是TCP/IP端口。
如果类构造函数中未定义端口,则根据协议值设置默认值,HTTP为80,HTTPS为443。
$customDomain = new CustomDomain("localhost", Protocols::HTTP, 8080);
使用求解器API
Solver类接受最多2个参数,即api key
(可在仪表板上生成),自定义域名
对象。类公开两个方法:solveRule和solveRuleFlow。
use DecisionRules\Solver; use DecisionRules\Enums\SolverStrategy; public function awesomeSolver(){ $ruleId = "MY_RULE_ID"; $solver = new Solver($apiKey); $request = (object) array('data'=> array('input_attribute'=> 'value')); return $solver->solveRule($ruleId, $request, SolverStrategy::STANDARD); }
使用管理工作API
管理工作类接受一个参数,即管理工作API密钥。类公开以下列出的一些方法。
-
getRule - 通过itemId和版本获取规则*
-
createRule - 通过spaceId和ruleData创建规则
-
updateRule - 通过itemId、newRuleData和版本更新规则*
-
deleteRule - 通过itemId和版本删除规则
-
getSpaceItems - 获取属于管理工作API密钥的空间项
-
getRuleFlow - 通过itemId和版本获取规则*
-
createRuleFlow - 在属于管理工作API密钥的空间中创建ruleflow
-
updateRuleFlow - 通过itemId、newRuleflowData和版本更新ruleflow*
-
deleteRuleFlow - 通过itemId和版本删除ruleflow
-
exportRuleFlow - 通过itemId和版本导出ruleflow*
-
importRuleFlow - 作为新ruleflow或现有ruleflow的新版本导入ruleflow或覆盖现有ruleflow。
-
changeRuleStatus - 更改规则状态
-
changeRuleFlowStatus - 更改ruleflow状态
-
getRulesByTags - 通过标签获取规则
-
updateTags - 更新规则或ruleflow的标签
-
deleteTags - 删除规则或ruleflow的标签
* = 可选参数
示例用法
use DecisionRules\Management; public manageRules(){ $managementKey = "MY_MANAGEMENT_KEY"; $manager = new Management($managementKey); return $manager->getRule($ruleId, 1); }