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: 10 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 5 years ago)
- Default Branch: main
- Last Pushed: 2022-07-11T14:52:54.000Z (almost 4 years ago)
- Last Synced: 2024-12-24T13:17:57.427Z (over 1 year 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('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](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('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
```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('rick@example.com', 3);
```
### Managing Trees
```php
// 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
```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('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](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 rickkuilman@gmail.com 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/).