geniusreferrals / geniusreferrals
此客户端允许您使用 Genius Referrals RESTful API 实现推荐计划。
Requires
- php: >=5.4.0
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- apimatic/jsonmapper: ~1.0.0
- mashape/unirest-php: ~3.0.1
This package is not auto-updated.
Last update: 2024-09-19 01:20:51 UTC
README
如何构建
生成的代码依赖于外部库,如 UniRest。这些依赖关系在 SDK 所带的 composer.json
文件中定义。为了解决这些依赖关系,我们使用 Composer 包管理器,它需要在您的系统中安装 PHP 5.3.2 或更高版本。访问 https://getcomposer.org.cn/download/ 下载 Composer 安装程序文件,并在您的系统中运行它。打开命令提示符并输入 composer --version
。如果安装成功,它应显示已安装的 Composer 的当前版本。
- 使用命令行,导航到包含生成的 SDK 文件(包括
composer.json
)的目录。 - 运行命令
composer install
。这将安装所有必需的依赖项,并在您的项目目录中创建vendor
目录。
[仅限 Windows 用户] 在 php.ini 中配置 CURL 证书路径
CURL 以前包含一组接受的 CA 列表,但不再捆绑任何 CA 证书。因此,默认情况下,它将拒绝所有 SSL 证书,因为它们无法验证。您必须获取您的 CA 证书,并将 curl 指向它。步骤如下:
- 从 https://curl.haxx.se/docs/caextract.html 下载证书捆绑包(.pem 文件)到您的系统。
- 将 curl.cainfo = "PATH_TO/cacert.pem" 添加到您的 php.ini 文件中,该文件位于您的 PHP 安装中。"PATH_TO" 必须是包含 .pem 文件的绝对路径。
[curl] ; A default value for the CURLOPT_CAINFO option. This is required to be an ; absolute path. ;curl.cainfo =
如何通过 Composer 在您的项目中安装
composer install geniusreferrals/geniusreferrals
如何使用
以下部分解释了如何在新的项目中使用 GeniusReferrals 库。
1. 在 IDE 中打开项目
打开 PHP 的 IDE,如 PhpStorm。这里介绍的基本工作流程也适用于您更喜欢使用不同的编辑器或 IDE 的情况。
在 PhpStorm 中点击 打开
,浏览到您的生成的 SDK 目录,然后点击 确定
。
2. 添加新的测试项目
如以下示例所示,在解决方案名称上单击鼠标右键以创建新目录
将目录命名为 "test"
向此项目添加 PHP 文件
命名为 "testSDK"
根据您的项目设置,您可能需要在 PHP 代码中包含 composer 的自动加载器以启用类的自动加载。
require_once "../vendor/autoload.php";
确保 require_once 中的路径正确指向在依赖项安装过程中创建的 vendor 目录中的 autoload.php
文件。
之后,您可以在代码中添加初始化客户端库并获取控制器类实例的代码。后续部分提供了初始化客户端库和使用控制器方法的示例代码。
3. 运行测试项目
要运行您的项目,您必须设置项目的解释器。解释器是安装在您计算机上的 PHP 引擎。
从 文件
菜单打开 设置
。
在 语言和框架
中选择 PHP
。
在 解释器
选项附近浏览解释器并选择您的解释器。
选择解释器后,点击 确定
。
要运行您的项目,请在测试项目中的PHP文件上右键单击,然后单击运行
如何测试
此SDK中的单元测试可以使用PHPUnit运行。
- 首先使用composer安装依赖项,包括
require-dev
依赖项。 - 从命令行运行
vendor\bin\phpunit --verbose
来执行测试。如果您已全局安装PHPUnit,请使用phpunit --verbose
运行测试。
您可以在phpunit.xml
文件中更改PHPUnit测试配置。
初始化
身份验证
为了设置API客户端的身份验证和初始化,您需要以下信息。
API客户端可以按以下方式初始化。
// Configuration parameters and credentials $contentType = "application/json"; // The content type $xAuthToken = "3b9d11374b602fb47b987dff90f1c5940a1f377f"; // Your API Token, you can get your token here https://www.geniusreferrals.com/en/settings/api-access $client = new GeniusReferralsLib\GeniusReferralsClient($contentType, $xAuthToken);
类参考
控制器列表
- RootsController
- AuthenticationsController
- AdvocatesController
- AccountsController
- ReportsController
- ReferralsController
- RedemptionRequestsController
- BonusesController
- CampaignsController
RootsController
获取单例实例
可以从API客户端访问RootsController
类的单例实例。
$roots = $client->getRoots();
getRoot
API的根
function getRoot()
示例用法
$result = $roots->getRoot();
AuthenticationsController
获取单例实例
可以从API客户端访问AuthenticationsController
类的单例实例。
$authentications = $client->getAuthentications();
getAuthentication
允许客户端在Genius Referrals平台上测试身份验证。
function getAuthentication()
示例用法
$result = $authentications->getAuthentication();
AdvocatesController
获取单例实例
可以从API客户端访问AdvocatesController
类的单例实例。
$advocates = $client->getAdvocates();
deleteAdvocate
删除倡导者
function deleteAdvocate( $accountSlug, $advocateToken)
参数
示例用法
$accountSlug = 'account_slug'; $advocateToken = 'advocate_token'; $advocates->deleteAdvocate($accountSlug, $advocateToken);
putAdvocate
更新倡导者。
function putAdvocate( $accountSlug, $advocateToken, $advocateForm)
参数
示例用法
$accountSlug = 'account_slug'; $advocateToken = 'advocate_token'; $advocateForm = new AdvocateForm(); $advocates->putAdvocate($accountSlug, $advocateToken, $advocateForm);
postAdvocate
创建一个新的拥护者。
function postAdvocate( $accountSlug, $advocateForm)
参数
示例用法
$accountSlug = 'account_slug'; $advocateForm = new AdvocateForm(); $result = $advocates->postAdvocate($accountSlug, $advocateForm);
getAdvocate
根据给定的令牌获取拥护者。
function getAdvocate( $accountSlug, $advocateToken)
参数
示例用法
$accountSlug = 'account_slug'; $advocateToken = 'advocate_token'; $result = $advocates->getAdvocate($accountSlug, $advocateToken);
deleteAdvocates
删除所有拥护者。
function deleteAdvocates($accountSlug)
参数
示例用法
$accountSlug = 'account_slug'; $advocates->deleteAdvocates($accountSlug);
getAdvocates
获取拥护者列表。
function getAdvocates( $accountSlug, $page = 1, $limit = 10, $filter = null, $sort = null)
参数
示例用法
$accountSlug = 'account_slug'; $page = 1; $limit = 10; $filter = 'filter'; $sort = 'sort'; $result = $advocates->getAdvocates($accountSlug, $page, $limit, $filter, $sort);
patchAdvocate
更新拥护者的部分元素。
function patchAdvocate( $accountSlug, $advocateToken, $advocatePatchForm)
参数
示例用法
$accountSlug = 'account_slug'; $advocateToken = 'advocate_token'; $advocatePatchForm = new AdvocatePatchForm(); $result = $advocates->patchAdvocate($accountSlug, $advocateToken, $advocatePatchForm);
getShareLinks
获取拥护者的分享链接。这些是拥护者用来在线分享您服务的链接。分享链接按活动和组件包封装。
function getShareLinks( $accountSlug, $advocateToken)
参数
示例用法
$accountSlug = 'account_slug'; $advocateToken = 'advocate_token'; $result = $advocates->getShareLinks($accountSlug, $advocateToken);
putPaymentMethod
更新支付方式。
function putPaymentMethod( $accountSlug, $advocateToken, $advocatePaymentMethodId, $advocatePaymentMethodForm)
参数
示例用法
$accountSlug = 'account_slug'; $advocateToken = 'advocate_token'; $advocatePaymentMethodId = 147; $advocatePaymentMethodForm = new PaymentMethodForm(); $advocates->putPaymentMethod($accountSlug, $advocateToken, $advocatePaymentMethodId, $advocatePaymentMethodForm);
getPaymentMethod
获取拥护者的支付方式。
function getPaymentMethod( $accountSlug, $advocateToken, $advocatePaymentMethodId)
参数
示例用法
$accountSlug = 'account_slug'; $advocateToken = 'advocate_token'; $advocatePaymentMethodId = 147; $result = $advocates->getPaymentMethod($accountSlug, $advocateToken, $advocatePaymentMethodId);
postPaymentMethod
创建一个新的支付方式。
function postPaymentMethod( $accountSlug, $advocateToken, $advocatePaymentMethodForm)
参数
示例用法
$accountSlug = 'account_slug'; $advocateToken = 'advocate_token'; $advocatePaymentMethodForm = new PaymentMethodForm(); $result = $advocates->postPaymentMethod($accountSlug, $advocateToken, $advocatePaymentMethodForm);
getBonusRedemptionMethod
获取奖金赎回方式。
function getBonusRedemptionMethod($bonusesRedemptionMethodSlug)
参数
示例用法
$bonusesRedemptionMethodSlug = 'bonuses_redemption_method_slug'; $result = $advocates->getBonusRedemptionMethod($bonusesRedemptionMethodSlug);
getBonusRedemptionMethods
获取奖金赎回方式列表。
function getBonusRedemptionMethods()
示例用法
$result = $advocates->getBonusRedemptionMethods();
getCurrencies
获取货币。
function getCurrencies()
示例用法
$result = $advocates->getCurrencies();
getCurrency
获取一种货币。
function getCurrency($code)
参数
示例用法
$code = 'code'; $result = $advocates->getCurrency($code);
getPaymentMethods
获取倡导者的支付方式。
function getPaymentMethods( $accountSlug, $advocateToken, $page = 1, $limit = 10, $filter = null, $sort = null)
参数
示例用法
$accountSlug = 'account_slug'; $advocateToken = 'advocate_token'; $page = 1; $limit = 10; $filter = 'filter'; $sort = 'sort'; $result = $advocates->getPaymentMethods($accountSlug, $advocateToken, $page, $limit, $filter, $sort);
AccountsController
获取单例实例
API客户端可以访问AccountsController
类的单例实例。
$accounts = $client->getAccounts();
getAccount
通过给定的别名获取账户。
function getAccount($accountSlug)
参数
示例用法
$accountSlug = 'account_slug'; $result = $accounts->getAccount($accountSlug);
getAccounts
获取账户列表。
function getAccounts( $page = 1, $limit = 10, $filter = null, $sort = null)
参数
示例用法
$page = 1; $limit = 10; $filter = 'filter'; $sort = 'sort'; $result = $accounts->getAccounts($page, $limit, $filter, $sort);
ReportsController
获取单例实例
API客户端可以访问ReportsController
类的单例实例。
$reports = $client->getReports();
getReferralsSummaryPerOrigin
按推荐来源获取推荐总结。
function getReferralsSummaryPerOrigin($advocateToken)
参数
示例用法
$advocateToken = 'advocate_token'; $result = $reports->getReferralsSummaryPerOrigin($advocateToken);
getBonusesSummaryPerOrigin
获取每个推荐来源的奖金摘要。
function getBonusesSummaryPerOrigin($advocateToken)
参数
示例用法
$advocateToken = 'advocate_token'; $result = $reports->getBonusesSummaryPerOrigin($advocateToken);
getTopAdvocates
获取前10名倡导者。
function getTopAdvocates( $accountSlug = null, $campaignSlug = null, $limit = 10, $from = null, $to = null)
参数
示例用法
$accountSlug = 'account_slug'; $campaignSlug = 'campaign_slug'; $limit = 10; $from = date("D M d, Y G:i"); $to = date("D M d, Y G:i"); $result = $reports->getTopAdvocates($accountSlug, $campaignSlug, $limit, $from, $to);
getShareDailyParticipation
获取每日分享参与度。
function getShareDailyParticipation( $accountSlug = null, $campaignSlug = null, $advocateToken = null, $from = null, $to = null)
参数
示例用法
$accountSlug = 'account_slug'; $campaignSlug = 'campaign_slug'; $advocateToken = 'advocate_token'; $from = date("D M d, Y G:i"); $to = date("D M d, Y G:i"); $result = $reports->getShareDailyParticipation($accountSlug, $campaignSlug, $advocateToken, $from, $to);
getReferralDailyParticipation
获取每日推荐参与度。
function getReferralDailyParticipation( $accountSlug = null, $campaignSlug = null, $advocateToken = null, $from = null, $to = null)
参数
示例用法
$accountSlug = 'account_slug'; $campaignSlug = 'campaign_slug'; $advocateToken = 'advocate_token'; $from = date("D M d, Y G:i"); $to = date("D M d, Y G:i"); $result = $reports->getReferralDailyParticipation($accountSlug, $campaignSlug, $advocateToken, $from, $to);
getClickDailyParticipation
获取每日点击参与度。
function getClickDailyParticipation( $accountSlug = null, $campaignSlug = null, $advocateToken = null, $from = null, $to = null)
参数
示例用法
$accountSlug = 'account_slug'; $campaignSlug = 'campaign_slug'; $advocateToken = 'advocate_token'; $from = date("D M d, Y G:i"); $to = date("D M d, Y G:i"); $result = $reports->getClickDailyParticipation($accountSlug, $campaignSlug, $advocateToken, $from, $to);
getBonusesDailyGiven
获取每日发放的奖金。
function getBonusesDailyGiven( $accountSlug = null, $campaignSlug = null, $advocateToken = null, $from = null, $to = null)
参数
示例用法
$accountSlug = 'account_slug'; $campaignSlug = 'campaign_slug'; $advocateToken = 'advocate_token'; $from = date("D M d, Y G:i"); $to = date("D M d, Y G:i"); $result = $reports->getBonusesDailyGiven($accountSlug, $campaignSlug, $advocateToken, $from, $to);
ReferralsController
获取单例实例
可以通过API客户端访问ReferralsController
类的单例实例。
$referrals = $client->getReferrals();
getReferralOrigin
通过给定的slug获取推荐来源。
function getReferralOrigin($referralOriginSlug)
参数
示例用法
$referralOriginSlug = 'referral_origin_slug'; $result = $referrals->getReferralOrigin($referralOriginSlug);
getReferralOrigins
获取推荐来源。在创建(POST)新推荐时需要此操作,因为referral_origin_slug引用的是这些来源之一。
function getReferralOrigins()
示例用法
$result = $referrals->getReferralOrigins();
getReferral
根据给定的ID获取推荐。
function getReferral( $accountSlug, $advocateToken, $referralId)
参数
示例用法
$accountSlug = 'account_slug'; $advocateToken = 'advocate_token'; $referralId = 'referral_id'; $result = $referrals->getReferral($accountSlug, $advocateToken, $referralId);
deleteReferral
删除推荐。
function deleteReferral( $accountSlug, $advocateToken, $referralId)
参数
示例用法
$accountSlug = 'account_slug'; $advocateToken = 'advocate_token'; $referralId = 'referral_id'; $referrals->deleteReferral($accountSlug, $advocateToken, $referralId);
postReferral
创建新的推荐。
function postReferral( $accountSlug, $advocateToken, $referralForm)
参数
示例用法
$accountSlug = 'account_slug'; $advocateToken = 'advocate_token'; $referralForm = new ReferralForm(); $result = $referrals->postReferral($accountSlug, $advocateToken, $referralForm);
putReferral
更新推荐。
function putReferral( $accountSlug, $advocateToken, $referralId, $referralForm)
参数
示例用法
$accountSlug = 'account_slug'; $advocateToken = 'advocate_token'; $referralId = 'referral_id'; $referralForm = new ReferralForm(); $referrals->putReferral($accountSlug, $advocateToken, $referralId, $referralForm);
getReferrals
获取给定推广者的推荐列表。
function getReferrals( $accountSlug, $advocateToken, $page = 1, $limit = 10, $filter = null, $sort = null)
参数
示例用法
$accountSlug = 'account_slug'; $advocateToken = 'advocate_token'; $page = 1; $limit = 10; $filter = 'filter'; $sort = 'sort'; $result = $referrals->getReferrals($accountSlug, $advocateToken, $page, $limit, $filter, $sort);
RedemptionRequestsController
获取单例实例
可以通过API客户端访问RedemptionRequestsController
类的单例实例。
$redemptionRequests = $client->getRedemptionRequests();
getRedemptionRequestStatus
获取赎回请求状态。
function getRedemptionRequestStatus($redemptionRequestStatusSlug)
参数
示例用法
$redemptionRequestStatusSlug = 'redemption_request_status_slug'; $result = $redemptionRequests->getRedemptionRequestStatus($redemptionRequestStatusSlug);
getRedemptionRequestStatuses
获取赎回请求状态。
function getRedemptionRequestStatuses()
示例用法
$result = $redemptionRequests->getRedemptionRequestStatuses();
getRedemptionRequestAction
获取赎回请求动作。
function getRedemptionRequestAction($redemptionRequestActionSlug)
参数
示例用法
$redemptionRequestActionSlug = 'redemption_request_action_slug'; $result = $redemptionRequests->getRedemptionRequestAction($redemptionRequestActionSlug);
getRedemptionRequestActions
获取赎回请求操作。
function getRedemptionRequestActions()
示例用法
$result = $redemptionRequests->getRedemptionRequestActions();
patchRedemptionRequest
赎回赎回请求。在创建赎回请求后,需要将其赎回。这将扣除倡导者未认领余额的金额,并将请求移动到完成状态。
function patchRedemptionRequest( $accountSlug, $redemptionRequestId)
参数
示例用法
$accountSlug = 'account_slug'; $redemptionRequestId = 147; $redemptionRequests->patchRedemptionRequest($accountSlug, $redemptionRequestId);
postRedemptionRequest
创建赎回请求。
function postRedemptionRequest( $accountSlug, $redemptionRequestForm)
参数
示例用法
$accountSlug = 'account_slug'; $redemptionRequestForm = new RedemptionRequestForm(); $result = $redemptionRequests->postRedemptionRequest($accountSlug, $redemptionRequestForm);
getRedemptionRequest
通过给定id获取赎回请求。
function getRedemptionRequest( $accountSlug, $redemptionRequestId)
参数
示例用法
$accountSlug = 'account_slug'; $redemptionRequestId = 'redemption_request_id'; $result = $redemptionRequests->getRedemptionRequest($accountSlug, $redemptionRequestId);
getRedemptionRequests
获取赎回请求列表。
function getRedemptionRequests( $accountSlug, $page = 1, $limit = 10, $filter = null, $sort = null)
参数
示例用法
$accountSlug = 'account_slug'; $page = 1; $limit = 10; $filter = 'filter'; $sort = 'sort'; $result = $redemptionRequests->getRedemptionRequests($accountSlug, $page, $limit, $filter, $sort);
BonusesController
获取单例实例
可以从API客户端访问BonusesController
类的单例实例。
$bonuses = $client->getBonuses();
getBonuses
获取指定账户的奖励列表。
function getBonuses( $accountSlug, $page = 1, $limit = 10, $filter = null, $sort = null)
参数
示例用法
$accountSlug = 'account_slug'; $page = 1; $limit = 10; $filter = 'filter'; $sort = 'sort'; $result = $bonuses->getBonuses($accountSlug, $page, $limit, $filter, $sort);
postBonus
尝试为倡导者的推荐人发放奖励。系统处理提供的倡导者(推荐),如果需要,为倡导者的推荐人创建奖励。在向倡导者的推荐人发放奖励之前,将检查为此账户设置的活动的所有限制。
function postBonus( $accountSlug, $bonusesForm)
参数
示例用法
$accountSlug = 'account_slug'; $bonusesForm = new BonusesForm(); $result = $bonuses->postBonus($accountSlug, $bonusesForm);
getBonusCheckup
检查是否需要向倡导者发放奖励。允许客户端检查是否有奖励可以发放,它模拟了对 /accounts/{account_slug}/bonuses 资源的 POST 请求的行为。此资源是幂等的。
function getBonusCheckup( $accountSlug, $advocateToken, $reference, $paymentAmount)
参数
示例用法
$accountSlug = 'account_slug'; $advocateToken = 'advocate_token'; $reference = 'reference'; $paymentAmount = 105.64688331012; $result = $bonuses->getBonusCheckup($accountSlug, $advocateToken, $reference, $paymentAmount);
postForceBonus
强制系统向一个拥护者发放奖金。系统将不考虑在活动上指定的限制。
function postForceBonus( $accountSlug, $bonusForm)
参数
示例用法
$accountSlug = 'account_slug'; $bonusForm = new ForceBonusesForm(); $result = $bonuses->postForceBonus($accountSlug, $bonusForm);
getBonusTrace
获取一个奖金请求跟踪。
function getBonusTrace( $accountSlug, $traceId)
参数
示例用法
$accountSlug = 'account_slug'; $traceId = 105; $result = $bonuses->getBonusTrace($accountSlug, $traceId);
deleteBonus
删除一个奖金。
function deleteBonus( $accountSlug, $bonusId)
参数
示例用法
$accountSlug = 'account_slug'; $bonusId = 105; $bonuses->deleteBonus($accountSlug, $bonusId);
getBonus
通过给定ID获取一个奖金。
function getBonus( $accountSlug, $bonusId)
参数
示例用法
$accountSlug = 'account_slug'; $bonusId = 105; $result = $bonuses->getBonus($accountSlug, $bonusId);
getBonusTraces
获取奖金跟踪列表(审计跟踪)。每当系统尝试向拥护者发放奖金时,就会创建一个新的跟踪。
function getBonusTraces( $accountSlug, $page = 1, $limit = 10, $filter = null, $sort = null)
参数
示例用法
$accountSlug = 'account_slug'; $page = 1; $limit = 10; $filter = 'filter'; $sort = 'sort'; $result = $bonuses->getBonusTraces($accountSlug, $page, $limit, $filter, $sort);
CampaignsController
获取单例实例
API客户端可以访问CampaignsController
类的单例实例。
$campaigns = $client->getCampaigns();
getCampaign
通过给定的别名获取一个活动。
function getCampaign( $accountSlug, $campaignSlug)
参数
示例用法
$accountSlug = 'account_slug'; $campaignSlug = 'campaign_slug'; $result = $campaigns->getCampaign($accountSlug, $campaignSlug);
getCampaigns
获取给定账户的活动列表。
function getCampaigns( $accountSlug, $page = 1, $limit = 10, $filter = null, $sort = null)
参数
示例用法
$accountSlug = 'account_slug'; $page = 1; $limit = 10; $filter = 'filter'; $sort = 'sort'; $result = $campaigns->getCampaigns($accountSlug, $page, $limit, $filter, $sort);