openthc/cre-adapter

OpenTHC 大麻报告引擎 API 适配器

dev-main 2024-09-30 21:22 UTC

This package is auto-updated.

Last update: 2024-09-30 21:22:22 UTC


README

API 适配器用于 BioTrack、LeafData 和 METRC 监管合规引擎 这些脚本为这些不同的 API 接口提供了一个通用接口。

示例

提供了一个方便的工厂方法,用于使用适当的配置(从 etc/cre.ini 加载)。

$cfg = \OpenTHC\CRE::getEngine('usa/wa');
$cre = \OpenTHC\CRE::factory($cfg);
$res = $cre->license()->search();
$res = $cre->crop()->search();
foreach ($res as $rec) {
	echo $rec['variety']['name'] . "\n";
}

$res = $cre->lot()->search();
foreach ($res as $rec) {
	echo $rec['id'] . ' ' . $rec['product_id'] . "\n";
}

支持的 cannabis 报告引擎

  • BioTrack:夏威夷、伊利诺伊州、新墨西哥州、波多黎各、华盛顿*
  • LeafData:宾夕法尼亚州*、犹他州*、华盛顿
  • METRC:阿拉斯加、加利福尼亚州、科罗拉多州、缅因州、马萨诸塞州、密歇根州、蒙大拿州、内华达州、俄克拉荷马州、俄勒冈州

当然,还会添加其他引擎。一些特定的引擎适配器非常简单,它们实际上只存在以保持一致性。

BioTrack/Washington 服务的官方接口现在是为他们的 UCS 系统提供的。对于 LeafData,在宾夕法尼亚州或犹他州还没有可用的 API,但我们正在密切关注。

连接

$cre = \OpenTHC\CRE::factory($cfg);
$cre->ping();

读取对象

存在一个低级、GET 和 POST/PUT 接口。

$res = $cre->get('/object?page=0&sort=created_at');
$res = $cre->post('/object', $arg);
$res = $cre->put('/object/id', $arg);

高级 API

也可以以更高级别与对象进行接口。

$obj_list = $cre->license()->search($arg);
$obj = $cre->license()->single($oid);
$res = $cre->license()->create($obj);
$res = $cre->license()->update($obj);