kuushy/metrc-php-sdk

一个易于使用的PHP API,用于METRC州许可的种子到销售大麻API,使用Guzzle库。需要、创建带有API密钥的新实例,并查询任何端点(GET、POST、PUT、DELETE)

dev-master 2018-06-22 23:17 UTC

This package is not auto-updated.

Last update: 2024-09-23 13:31:46 UTC


README

依赖项

开发

快速入门指南 + API密钥

  1. 使用Composer安装METRC包:composer require 'kushy/metrc-php-sdk'
  2. 在您的应用程序中需要哪个路由类 - 在这个例子中,我们想访问 /harvests/ 端点(假设您正在使用PSR-4)
require_once '../../../vendor/autoload.php';

use Kushy\Metrc\Routes\Harvests;
  1. 创建路由类(Harvests)的新实例,并传入您州的缩写名称(在这个例子中是加州的 ca)和供应商 + 用户API密钥
$harvests = new Harvests('ca', $vendorApiKey, $userApiKey);
  1. 使用类中的方法之一查询API - 此示例获取活动收获
$harvests = $metrc->getActive($licenseNumber, $startDate, $endDate);

提示

一般

  • 通用API提示
  • 所有API请求(POST/PUT)都必须以JSON格式发送(请参阅Guzzle上的JSON说明
  • 所有日期都是ISO 8601格式。有关时间转换代码片段,请参阅以下内容。

日期是ISO格式 向API发送日期?请使用ISO 8601格式的日期: 0001-01-01T00:00:00+00:00

$lastModifiedStart = date('c', strtotime($startDate));

快速获取对象键 复制API响应/示例数据并执行此操作

/**
 * REGEX for
 * (["'])(?:(?=(\\?))\2.)*?\1:
 * ALT+ENTER to select all found objects
 * Paste
 * Find and replace ": with nothing
 * Find and replace " with $sample->
**/

  "Id": 1,
  "Name": "2014-11-19-Harvest Room-M",
  "HarvestType": "Product",
  "DryingRoomId": 1,
  "DryingRoomName": "Harvest Room",
  "CurrentWeight": 0.0,
  "TotalWasteWeight": 0.0,
  "PlantCount": 70,
  "TotalWetWeight": 40.0,
  "PackageCount": 5,
  "TotalPackagedWeight": 0.0,
  "UnitOfWeightName": "Ounces",
  "LabTestingState": null,
  "LabTestingStateDate": null,
  "IsOnHold": false,
  "HarvestStartDate": "2014-11-19",
  "FinishedDate": null,
  "ArchivedDate": null,
  "LastModified": "0001-01-01T00:00:00+00:00",
  "Strains": []

测试

为每个端点和方法(GET、POST、PUT、DELETE)提供示例文件,以便可以轻松手动使用正确格式化的示例数据测试每个端点。

例如,要查看所有活动收获的列表,请复制来自 test/example/harvests/get-active-harvest.php 的代码。

我计划不久后实现单元测试,以确保包的完整性。