rickkuilman / digital-humani-php-sdk
PHP SDK for DigitalHumani's RaaS (Reforestation-as-a-Service)
Requires
- php: ^7.4|^8.0
- ext-json: *
- guzzlehttp/guzzle: ^6.3.1|^7.0
- nesbot/carbon: ^2.53
Requires (Dev)
- mockery/mockery: ^1.3.1
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-11-11 20:06:06 UTC
README
Unofficial PHP SDK for DigitalHumani's RaaS (Reforestation-as-a-Service)
Installation
You can install the package via composer:
composer require rickkuilman/digital-humani-php-sdk
Preparation
- Create a sandbox or production account on DigitalHumani.com.
- Grab your Enterprise ID and API Key from the "Developer" tab.
Basic Usage
// Create new sandbox instance $digitalHumani = new DigitalHumani($apiKey, $enterpriseId); // Plant a tree $digitalHumani->plantTree('rick@example.com'); // Count trees planted $digitalHumani->treeCount();
Using the DigitalHumani
instance you may perform multiple actions as well as retrieve the different
resources DigitalHumani's API provides:
Managing Enterprises
// Get current Enterprise $enterprise = $digitalHumani->enterprise(); // .. or get Enterprise by ID $enterprise = $digitalHumani->enterprise('4c6e672d'); // 🌳 Count planted trees $enterprise->treeCount(); // 🌳 Count planted trees since 2021-01-01 $enterprise->treeCount(Carbon::make('2021-01-01')); // 🌳 Count planted trees between 2021-01-01 and 2021-08-01 $enterprise->treeCount(Carbon::make('2021-01-01'), Carbon::make('2022-08-01')); // 🌳 Count planted trees for specific month $enterprise->treeCountForMonth(Carbon::make('2021-08')); // 🌳 Plant tree $enterprise->plantTree('rick@example.com')
Notice for lines with 🌳 icon:
Since the Enterprise ID is available in the DigitalHumani instance, you may replace
$enterprise
with$digitalHumani
and expect the same results.
Managing Projects
// Get list of all Projects $projects = $digitalHumani->projects(); // Get second project $project = $projects[1]; // .. or get Project by ID $project = $digitalHumani->project('81818182'); // Plant a tree for this project $project->plantTree('rick@example.com', 3);
Managing Trees
// Plant one tree $tree = $digitalHumani->plantTree('rick@example.com'); // Plant ten trees $trees = $digitalHumani->plantTree('rick@example.com', 10); // Get UUID of tree(s) $uuid = $tree->uuid; // Get details of a planted tree (or trees) by ID $digitalHumani->tree('9f05511e-56c6-40f7-b5ca-e25567991dc1'); // Count trees for a user $digitalHumani->countTreesPlantedByUser('rick@example.com');
Switch to production environment
// Set the third parameter to "true" $digitalHumani = new DigitalHumani($apiKey, $enterpriseId, true); // ..or use a method $digitalHumani->useProductionEnvironment();
Overrule (default) project or enterprise
Many methods allow additional parameters to overrule the (default) project or enterprise:
// Create new sandbox instance, leaving out the enterpriseId $digitalHumani = new DigitalHumani($apiKey); // Plant a tree for a specific project and enterprise $digitalHumani->plantTree('rick@example.com', 1, $projectId, $enterpriseId); // Set a default enterprise afterwards, which will be used for all requests from now on $digitalHumani->setEnterprise('11111111'); // Plant a tree for a specific project using the default enterprise from above $digitalHumani->plantTree('rick@example.com', 1, $projectId); // Count trees of a specific month for a specific enterprise, overruling the default $digitalHumani->treeCountForMonth(Carbon::make('2021-10'), '99999999');
Happy planting! 🌳
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email rickkuilman@gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.
PHP Package Boilerplate
This package was generated using the PHP Package Boilerplate by Beyond Code.