inspired by wearesho-team/bobra-cpa
Laravel Package for CPA networks integration and target customer actions registration in your application. Currently supported: Admitad, Credy, DoAffiliate, Finline, LeadGid, Leads.su, PapaKarlo, Sales Doubler, Storm Digital
Install the package via composer:
$ composer require a1ex7/cpa
For Laravel 5.4 and below it necessary to register the service provider
In order to edit the default configuration you may execute:
php artisan vendor:publish --provider="A1ex\Cpa\CpaServiceProvider"
After that, config/cpa.php
will be created.
This package can be configured by environment variables out-of-box:
- SALES_DOUBLER_ID - personal id for request to SalesDoubler
- SALES_DOUBLER_TOKEN - token for request URI for SalesDoubler
- STORM_DIGITAL_GOAL - (default: 1), goal in URL for StormDigital
- STORM_DIGITAL_SECURE - secure in URL for StormDigital
- PAPA_KARLO_TYPE - ('offer' or 'goal') postback type for PapaKarlo
- PAPA_KARLO_OFFER - (default: 35) personal offer id for PapaKarlo
- PAPA_KARLO_GOAL - (default: 75) personal goal id for PapaKarlo
- DO_AFFILIATE_PATH - path for DoAffiliate API (example: pozichka-ua in http://tracker2.doaffiliate.net/api/pozichka-ua)
- LEADS_SU_TOKEN - token for LeadsSu
- ADMITAD_POSTBACK_KEY - postback request authentication key, constant string 32 char
- ADMITAD_CAMPAIGN_CODE - AdmitAd defined campaign code, constant string 10 char
- ADMITAD_ACTION_CODE - target action code, get it from AdmitAd
- CREDY_OFFER - offer code, get it from Credy
If one of key for some CPA network not set postback requests for this network will not be done.
You may register the package middleware in the app/Http/Kernel.php
file:
<?php namespace App\Http;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
class Kernel extends HttpKernel {
/**
* The application's route middleware.
*
* @var array
*/
protected $routeMiddleware = [
/**** OTHER MIDDLEWARE ****/
'lead.check' => \A1ex7\Cpa\Middleware\LeadCheckMiddleware::class
];
}
You may add middleware to your group like this:
Route::group(
[
'middleware' => [ 'lead.check' ]
],
function(){ //...
});
Create Lead when user registered
CpaLead::createFromCookie(auth()->user());
// or
CpaLead::createFromCookie($userId);
When goal is achieved register conversion
CpaConversion::register($user, $transactionId, 'sale');
Events (e.g. 'sale') must be specified in config. You can add additional params for specific events. See config/cpa.php
samples
Please see the changelog for more information on what has changed recently.
$ composer test
Please see contributing.md for details and a todolist.
If you discover any security related issues, please email author email instead of using the issue tracker.
license. Please see the license file for more information.