padosoft/laravel-affiliate-network

用于在包和其他项目中作为基础使用的不可知助手

2.10.09 2023-09-28 16:57 UTC

This package is auto-updated.

Last update: 2024-08-28 19:12:03 UTC


README

Latest Version on Packagist Software License Build Status Quality Score Total Downloads SensioLabsInsight

此Laravel包的目的是封装发布者网络联盟API,如Zanox、Tradedoubler、Commission Junction等,并提供简单的方法来获取交易和销售报告,并为您的使用提供通用接口。

##概述

常见方法包括

  • getDeals : 获取网络交易。
  • getSales : 获取网络销售。
  • getStats : 获取网络交易统计数据。
  • getMerchants : 获取网络商家。
  • checkLogin : 检查是否登录网络。
  • login : 登录网络。
  • getTrackingParameter : 获取网络跟踪参数。
  • loadAvailableNetworks : 获取所有可用的网络。
  • hasNetwork : 检查网络是否可用。
  • addNetwork : 添加实现Network接口的网络类。

##要求

  • php: >=7.0.0
  • illuminate/support
  • padosoft/support

安装

您可以通过Composer安装此包。

$ composer require padosoft/laravel-affiliate-network

您必须安装此服务提供程序。

// config/app.php
'provider' => [
    ...
    Padosoft\AffiliateNetwork\AffiliateNetworkServiceProvider::class,
    ...
];

您不需要在app/Console/Kernel.php中注册命令,因为它由AffiliateNetworkServiceProvider的register()方法提供。

您可以使用以下命令发布此包的配置文件

php artisan vendor:publish --provider="Padosoft\AffiliateNetwork\AffiliateNetworkServiceProvider"

以下配置文件将发布到config/laravel-affiliate-network.php

return array(
    'zanox' => array(
        'username' => env(
            'ZANOX_USERNAME',
            'padosoft'
        ),
        'password' => env(
            'ZANOX_PASSWORD',
            ''
        )
    ),
    'tradedoubler' => array(
        'username' => env(
            'TRADEDOUBLER_USERNAME',
            'padosoft'
        ),
        'password' => env(
            'TRADEDOUBLER_PASSWORD',
            ''
        )
    ),
    'commissionjunction' => array(
        'username' => env(
            'COMMISSIONJUNCTION_USERNAME',
            'padosoft'
        ),
        'password' => env(
            'COMMISSIONJUNCTION_PASSWORD',
            ''
        )
    ),
);

在您的app配置文件夹中,您可以从src/config/.env.example复制设置到您用于laravel-affiliate-network.php的.env文件。如果您在src/config文件夹中使用mathiasgrimm/laravel-env-validator,您将找到一个验证环境设置的示例。

支持的网络

  • CommissionJunction
  • Effiliation
  • Netaffiliation
  • Publicideas.com
  • TradeDoubler
  • Zanox
  • WebGains

使用

创建新的php文件,添加composer自动加载并开始使用函数。

<?php

require "vendor/autoload.php";
//if not in laravel need to define this functions
if (!function_exists('public_path')){
    function public_path(){
        return dirname(__FILE__);
    }
}
$objNetworkManager= new NetworkManager();
$objNetworkManager->login('Zanox',$_ENV['ZANOX_USERNAME'], $_ENV['ZANOX_PASSWORD']);
$isLogged = $objNetworkManager->checkLogin('Zanox');
if ($isLogged){
    echo '<h1>Deals</h1>';
    $arrDeals = $objNetworkManager->getDeals('Zanox');
    echo '<pre>';
    var_dump($arrDeals);
    echo '</pre>';
}

Laravel中使用

$networkManager=app(NetworkManager::class);

$dateFrom=new DateTime();
$dateTo= new DateTime();

//if you want to specify specific Merchant:
$arrMerchantID = array(
    array('cid' => '9716', 'name' => 'Zalando IT')
);
$networkManager->login('Zanox',$_ENV['ZANOX_USERNAME'], $_ENV['ZANOX_PASSWORD']);
$isLogged = $networkManager->checkLogin('Zanox');
if ($isLogged){
    echo '<h1>Transactions</h1>';
    $transactions = $networkManager->getSales('Zanox',$dateFrom,$dateTo,$arrMerchantID);
    echo '<h1>Deals</h1>';
    $arrDeals = $networkManager->getDeals('Zanox');
    echo '<pre>';
    var_dump($arrDeals);
    echo '</pre>';
}

变更日志

有关最近更改的更多信息,请参阅CHANGELOG

测试

$ composer test

贡献

有关详细信息,请参阅CONTRIBUTING

安全

如果您发现任何安全相关的问题,请通过电子邮件联系,而不是使用问题跟踪器。

鸣谢

关于Padosoft

Padosoft (https://www.padosoft.com) 是一家位于意大利佛罗伦萨的软件公司。专注于电子商务和网站。

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件