decisionrules/decisionrules-php

用于将您的应用程序连接到DecisionRules.io的简单库

v3.0.0 2022-06-06 10:53 UTC

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);
}