https://github.com/rickkuilman/digital-humani-php-sdk
PHP SDK for DigitalHumani's RaaS (Reforestation-as-a-Service)
https://github.com/rickkuilman/digital-humani-php-sdk
hacktoberfest php raas reforestation
Last synced: 5 months ago
JSON representation
PHP SDK for DigitalHumani's RaaS (Reforestation-as-a-Service)
- Host: GitHub
- URL: https://github.com/rickkuilman/digital-humani-php-sdk
- Owner: rickkuilman
- License: mit
- Created: 2021-08-07T23:01:30.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-07-11T14:52:54.000Z (almost 3 years ago)
- Last Synced: 2024-12-24T13:17:57.427Z (5 months ago)
- Topics: hacktoberfest, php, raas, reforestation
- Language: PHP
- Homepage:
- Size: 65.4 KB
- Stars: 6
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# 🌳 Digital Humani - PHP SDK
[](https://github.com/rickkuilman/digital-humani-php-sdk/actions) [](https://packagist.org/packages/rickkuilman/digital-humani-php-sdk) [](https://packagist.org/packages/rickkuilman/digital-humani-php-sdk) [](https://packagist.org/packages/rickkuilman/digital-humani-php-sdk) [](https://packagist.org/packages/rickkuilman/digital-humani-php-sdk) [](https://packagist.org/packages/rickkuilman/digital-humani-php-sdk)
Unofficial PHP SDK for DigitalHumani's RaaS (Reforestation-as-a-Service)
## Installation
You can install the package via composer:
```bash
composer require rickkuilman/digital-humani-php-sdk
```## Preparation
- Create a [sandbox](https://my.sandbox.digitalhumani.com/register)
or [production](https://my.digitalhumani.com/register) account on DigitalHumani.com.
- Grab your Enterprise ID and API Key from the "Developer" tab.## Basic Usage
```php
// Create new sandbox instance
$digitalHumani = new DigitalHumani($apiKey, $enterpriseId);// Plant a tree
$digitalHumani->plantTree('[email protected]');// Count trees planted
$digitalHumani->treeCount();
```Using the `DigitalHumani` instance you may perform multiple actions as well as retrieve the different
resources [DigitalHumani's API](https://digitalhumani.com/docs/) provides:### Managing Enterprises
```php
// 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('[email protected]')
```#### 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
```php
// 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('[email protected]', 3);
```### Managing Trees
```php
// Plant one tree
$tree = $digitalHumani->plantTree('[email protected]');// Plant ten trees
$trees = $digitalHumani->plantTree('[email protected]', 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('[email protected]');
```### Switch to production environment
```php
// 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:
```php
// Create new sandbox instance, leaving out the enterpriseId
$digitalHumani = new DigitalHumani($apiKey);// Plant a tree for a specific project and enterprise
$digitalHumani->plantTree('[email protected]', 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('[email protected]', 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](CHANGELOG.md) for more information what has changed recently.
## Contributing
Please see [CONTRIBUTING](CONTRIBUTING.md) for details.
### Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
## Credits
- [Rick Kuilman](https://github.com/rickkuilman)
- [All Contributors](../../contributors)## License
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.
## PHP Package Boilerplate
This package was generated using the [PHP Package Boilerplate](https://laravelpackageboilerplate.com)
by [Beyond Code](http://beyondco.de/).