geniusreferrals / geniusreferrals
Genius Referrals PHP SDK - integrate referral programs using the Genius Referrals RESTful API.
Package info
github.com/GeniusReferrals/Genius-Referrals-PHP
pkg:composer/geniusreferrals/geniusreferrals
v2.0.0
2026-07-23 03:33 UTC
Requires
- php: >=8.1
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.0
This package is not auto-updated.
Last update: 2026-07-23 10:10:40 UTC
README
A PHP SDK for integrating with the Genius Referrals RESTful API. This SDK provides convenient access to all API resources including accounts, advocates, bonuses, campaigns, products, referrals, redemption requests, reports, tags, vouchers, and widget packages.
Requirements
- PHP 8.1 or higher
- Composer
Installation
composer require geniusreferrals/geniusreferrals
Authentication
Get your API token from the Genius Referrals settings page.
require_once 'vendor/autoload.php'; use GeniusReferralsLib\GeniusReferralsClient; $client = new GeniusReferralsClient(null, 'YOUR_API_TOKEN');
Usage
Accounts
$accounts = $client->getAccounts(); // List with pagination $accounts = $client->getAccounts()->getAccounts(1, 10); // Get a single account $account = $client->getAccounts()->getAccount('your-account-slug'); // Create an account $client->getAccounts()->createAccount(['name' => 'My Account', ...]); // Update an account $client->getAccounts()->updateAccount('your-account-slug', ['name' => 'Updated']); // Delete an account $client->getAccounts()->deleteAccount('your-account-slug');
Advocates
$advocates = $client->getAdvocates()->getAdvocates('your-account-slug'); $advocate = $client->getAdvocates()->getAdvocate('your-account-slug', 'advocate-token'); $client->getAdvocates()->postAdvocate('your-account-slug', ['firstname' => 'John', 'email' => 'john@example.com']); $client->getAdvocates()->patchAdvocate('your-account-slug', 'advocate-token', ['firstname' => 'Updated']);
Bonuses
$bonuses = $client->getBonuses()->getBonuses('your-account-slug'); $client->getBonuses()->postBonus('your-account-slug', ['advocate_token' => 'token', ...]); $client->getBonuses()->patchBonus('your-account-slug', $bonusId, ['status' => 'approved']); $client->getBonuses()->getBonusTags('your-account-slug', $bonusId);
Products
$products = $client->getProducts()->getProducts('your-account-slug'); $client->getProducts()->createProduct('your-account-slug', ['name' => 'Widget']); $client->getProducts()->updateProduct('your-account-slug', 'product-slug', ['name' => 'Updated']);
Tags
$tags = $client->getTags()->getTags('your-account-slug'); $client->getTags()->createTag('your-account-slug', ['name' => 'VIP']);
Vouchers
$vouchers = $client->getVouchers()->getVouchers('your-account-slug'); $client->getVouchers()->createVoucher('your-account-slug', ['code' => 'VOUCHER1']);
Widgets Packages
$packages = $client->getWidgetsPackages()->getWidgetsPackages('your-account-slug'); $widgets = $client->getWidgetsPackages()->getWidgets('your-account-slug', 'package-slug');
Reports
$client->getReports()->getRevenue('your-account-slug', '2026-01-01', '2026-12-31'); $client->getReports()->get1099TaxReport('your-account-slug', 2026);
Docker Development
# Install dependencies make install # Run tests make test # Run linting make lint # Run static analysis make analyze # Clean build make clean
Resources
License
MIT