PHPackages                             messerli90/first\_promoter - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. messerli90/first\_promoter

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

messerli90/first\_promoter
==========================

Laravel PHP Facade/Wrapper for First Promoter

v0.1(7y ago)14783[2 PRs](https://github.com/messerli90/first_promoter/pulls)MITPHPPHP &gt;=7.1.0

Since May 21Pushed 6y agoCompare

[ Source](https://github.com/messerli90/first_promoter)[ Packagist](https://packagist.org/packages/messerli90/first_promoter)[ RSS](/packages/messerli90-first-promoter/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (1)Dependencies (3)Versions (2)Used By (0)

FirstPromoter
=============

[](#firstpromoter)

Introduction
------------

[](#introduction)

This packages provides a nice and easy wrapper around the [FirstPromoter API](https://docs.firstpromoter.com/) for use in your Laravel application.

In order to use the FirstPromoter API, you must have an account and API keys.

Example
-------

[](#example)

```
```

Installation
------------

[](#installation)

Add `messerli90/first_promoter` to your `composer.json`.

```
"messerli90/first_promoter": "~1.0"

```

or

```
composer require messerli90/first_promoter
```

Run `composer update` to pull down the latest version of the package.

Now open up `app/config/app.php` and add the service provider to your `providers` array.

```
'providers' => array(
    Messerli90\FirstPromoter\FirstPromoterServiceProvider::class,
)
```

Optionally, add the facade to your `aliases` array

```
'FirstPromoter' => \Messerli90\FirstPromoter\Facades\FirstPromoter::class,
```

Configuration
-------------

[](#configuration)

Add the `first_promoter` to your `config/services.php` array

```
'first_promoter' => [
    'key' => 'YOUR_API_KEY'
]
```

Usage
-----

[](#usage)

```
use Messerli90\FirstPromoter\FirstPromoter;

$first_promoter = new FirstPromoter(config('services.$first_promoter.key'));
```

### Tracking API

[](#tracking-api)

```
// With this call you can track the referral signs-ups server-side.
$first_promoter->trackSignUp($wid, $email, $data = []);
```

### Promoter

[](#promoter)

```
```

### Reward

[](#reward)

```
```

### Lead

[](#lead)

```
```

Format of returned data
-----------------------

[](#format-of-returned-data)

The returned JSON data is decoded as a PHP object.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

Credits
-------

[](#credits)

- [Michael Messerli](https://twitter.com/michaelmesserli)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2912d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/3306651?v=4)[Michael Messerli](/maintainers/messerli90)[@messerli90](https://github.com/messerli90)

---

Top Contributors

[![messerli90](https://avatars.githubusercontent.com/u/3306651?v=4)](https://github.com/messerli90 "messerli90 (5 commits)")

---

Tags

laravelmesserli90first promoter

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/messerli90-first-promoter/health.svg)

```
[![Health](https://phpackages.com/badges/messerli90-first-promoter/health.svg)](https://phpackages.com/packages/messerli90-first-promoter)
```

###  Alternatives

[stevebauman/location

Retrieve a user's location by their IP Address

1.3k7.6M65](/packages/stevebauman-location)[gehrisandro/tailwind-merge-laravel

TailwindMerge for Laravel merges multiple Tailwind CSS classes by automatically resolving conflicts between them

341682.2k18](/packages/gehrisandro-tailwind-merge-laravel)[backpack/basset

Dead-simple way to load CSS or JS assets only once per page, when using Laravel 10+.

202832.4k6](/packages/backpack-basset)[firefly-iii/data-importer

Firefly III Data Import Tool.

7545.8k](/packages/firefly-iii-data-importer)[bensampo/laravel-embed

Painless responsive embeds for videos, slideshows and more.

142146.8k](/packages/bensampo-laravel-embed)[glhd/conveyor-belt

14797.0k](/packages/glhd-conveyor-belt)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
