geniusreferrals/geniusreferrals

此客户端允许您使用 Genius Referrals RESTful API 实现推荐计划。

v1.2 2020-06-17 04:55 UTC

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 目录。

Building SDK - Step 1

[仅限 Windows 用户] 在 php.ini 中配置 CURL 证书路径

CURL 以前包含一组接受的 CA 列表,但不再捆绑任何 CA 证书。因此,默认情况下,它将拒绝所有 SSL 证书,因为它们无法验证。您必须获取您的 CA 证书,并将 curl 指向它。步骤如下:

  1. https://curl.haxx.se/docs/caextract.html 下载证书捆绑包(.pem 文件)到您的系统。
  2. 将 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 的情况。

Open project in PHPStorm - Step 1

在 PhpStorm 中点击 打开,浏览到您的生成的 SDK 目录,然后点击 确定

Open project in PHPStorm - Step 2

2. 添加新的测试项目

如以下示例所示,在解决方案名称上单击鼠标右键以创建新目录

Add a new project in PHPStorm - Step 1

将目录命名为 "test"

Add a new project in PHPStorm - Step 2

向此项目添加 PHP 文件

Add a new project in PHPStorm - Step 3

命名为 "testSDK"

Add a new project in PHPStorm - Step 4

根据您的项目设置,您可能需要在 PHP 代码中包含 composer 的自动加载器以启用类的自动加载。

require_once "../vendor/autoload.php";

确保 require_once 中的路径正确指向在依赖项安装过程中创建的 vendor 目录中的 autoload.php 文件。

Add a new project in PHPStorm - Step 4

之后,您可以在代码中添加初始化客户端库并获取控制器类实例的代码。后续部分提供了初始化客户端库和使用控制器方法的示例代码。

3. 运行测试项目

要运行您的项目,您必须设置项目的解释器。解释器是安装在您计算机上的 PHP 引擎。

文件 菜单打开 设置

Run Test Project - Step 1

语言和框架 中选择 PHP

Run Test Project - Step 2

解释器 选项附近浏览解释器并选择您的解释器。

Run Test Project - Step 3

选择解释器后,点击 确定

Run Test Project - Step 4

要运行您的项目,请在测试项目中的PHP文件上右键单击,然后单击运行

Run Test Project - Step 5

如何测试

此SDK中的单元测试可以使用PHPUnit运行。

  1. 首先使用composer安装依赖项,包括require-dev依赖项。
  2. 从命令行运行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);

类参考

控制器列表

Class: RootsController

获取单例实例

可以从API客户端访问RootsController类的单例实例。

$roots = $client->getRoots();

Method: getRoot

API的根

function getRoot()

示例用法

$result = $roots->getRoot();

返回控制器列表

Class: AuthenticationsController

获取单例实例

可以从API客户端访问AuthenticationsController类的单例实例。

$authentications = $client->getAuthentications();

Method: getAuthentication

允许客户端在Genius Referrals平台上测试身份验证。

function getAuthentication()

示例用法

$result = $authentications->getAuthentication();

返回控制器列表

Class: AdvocatesController

获取单例实例

可以从API客户端访问AdvocatesController类的单例实例。

$advocates = $client->getAdvocates();

Method: deleteAdvocate

删除倡导者

function deleteAdvocate(
        $accountSlug,
        $advocateToken)

参数

示例用法

$accountSlug = 'account_slug';
$advocateToken = 'advocate_token';

$advocates->deleteAdvocate($accountSlug, $advocateToken);

Method: 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);

返回控制器列表