wildlink / wildlink-api-php
Wildlink API的简单PHP接口(更多信息请访问 https://www.wildlink.me/)
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-26 08:29:55 UTC
README
PHP客户端,用于与Wildfire/Wildlink API交互。将产品品牌链接转换为联盟版本以产生收入。更多信息请访问 https://www.wildlink.me/
另请参阅
安装
建议通过Composer进行安装。如果您是初次使用Composer安装库,请参阅上面的入门指南。
composer require wildlink/wildlink-api-php
使用
实例化
// minimum auth, NOTE: this creates a new device $wfClient = new WildlinkClient($app_id, $secret); // create a new "session" for a previously created device (fetches a new deviceToken from Wildfire server) $wfClient = new WildlinkClient($app_id, $secret, $device_key); // prepare to make a new request with a previously stored device key and device auth token (no Wildfire server hit) $wfClient = new WildlinkClient($app_id, $secret, $device_key, $device_token); echo $wfClient->device_key; // Device Key is used for authing the device in the future - it doesn't expire echo $wfClient->device_id; // Device ID is used for referencing device in reporting data echo $wfClient->device_token; // Device Token is used for authing device - it expires
获取特定商家元数据
可以使用getMerchants调用获取给定商家的元数据(包括图片)。此调用可以接受单个整数或整数数组。
// single merchant request $singleMerchant = $wfClient->getMerchantsById(5477615); var_dump($singleMerchant); // multiple merchant request $multipleMerchants = $wfClient->getMerchantsById(array(5482877,5478747)); var_dump($multipleMerchants);
示例返回
Array
(
[0] => stdClass Object
(
[ID] => 5478747
[Name] => Hotels.com
[ShortCode] => mPEE27LOAhI
[ShortURL] => http://wild.link/mPEE27LOAhI
[Images] => Array
(
[0] => stdClass Object
(
[ID] => 3
[Kind] => FEATURED
[Ordinal] => 1
[ImageID] => 3
[URL] => https://images.wildlink.me/wl-image/a3a4df7b12404451fe3f2099122847e5dc3ed6b5.jpeg
[Width] => 660
[Height] => 380
)
[1] => stdClass Object
(
[ID] => 808
[Kind] => LOGO
[Ordinal] => 1
[ImageID] => 809
[URL] => https://images.wildlink.me/wl-image/2fe289045e0794f3bcf7f3ae03d7850f5b51cf6c.jpeg
[Width] => 200
[Height] => 200
)
)
)
[1] => stdClass Object
(
[ID] => 5482877
[Name] => Target
[ShortCode] => mPEE_dLOAhE
[ShortURL] => http://wild.link/mPEE_dLOAhE
[Images] => Array
(
[0] => stdClass Object
(
[ID] => 29
[Kind] => FEATURED
[Ordinal] => 1
[ImageID] => 29
[URL] => https://images.wildlink.me/wl-image/480b5c95d607854052a9f583c51ee1b8f168e640.jpeg
[Width] => 660
[Height] => 380
)
[1] => stdClass Object
(
[ID] => 713
[Kind] => LOGO
[Ordinal] => 10
[ImageID] => 714
[URL] => https://images.wildlink.me/wl-image/15b28fdfc04006589492a620fca2a4290547b394.jpeg
[Width] => 200
[Height] => 200
)
)
)
)
获取商家的佣金率数据
可以使用getMerchantCommissionRates调用获取给定商家的佣金率信息。一些商家只有一个佣金率,而另一些则有分段的一系列佣金率(有时按产品类别,有时按其他属性)。返回数据中的佣金率考虑了您同意的佣金分配(因此您看到的是Wildfire Systems提取其份额后的佣金金额)。一些佣金条款是百分比率,而另一些则是固定金额。在固定金额的情况下,将包括货币代码。目前,Wildlink不在此上下文中转换货币。Wildlink始终以美元支付,并在支付给您之前将货币转换为美元。当可用时,将标记默认佣金率,但请注意,并非所有商家都有指定的默认货币。
$singleMerchantCommissionRates = $wfClient->getMerchantCommissionRates(5477615); var_dump($singleMerchantCommissionRates);
示例返回
Array
(
[0] => stdClass Object
(
[ID] => 41
[Name] => ESR merchant hotel
[DisplayName] =>
[Kind] => PERCENTAGE
[Amount] => 3
[IsDefault] =>
)
)
获取所有商家(不包括已禁用的商家)的元数据
$merchantList = new MerchantList($wfClient); while ($merchant = $merchantList->getCurrentMerchant()){ var_dump($merchant); if ($merchantList->hasNextMerchant()){ $merchantList->getNextMerchant(); } else { break; } }
示例返回
stdClass Object
(
[ID] => 5520185
[Name] => Prioritytireoutlet.com
[Disabled] =>
[Featured] =>
[ShortCode] => 95gFufbQAgQ
[ShortURL] => http://wild.link/95gFufbQAgQ
[Images] => Array
(
[0] => stdClass Object
(
[ID] => 3
[Kind] => FEATURED
[Ordinal] => 1
[ImageID] => 3
[URL] => https://images.wildlink.me/wl-image/a3a4df7b12404451fe3f2099122847e5dc3ed6b5.jpeg
[Width] => 660
[Height] => 380
)
[1] => stdClass Object
(
[ID] => 808
[Kind] => LOGO
[Ordinal] => 1
[ImageID] => 809
[URL] => https://images.wildlink.me/wl-image/2fe289045e0794f3bcf7f3ae03d7850f5b51cf6c.jpeg
[Width] => 200
[Height] => 200
)
)
)
获取应用程序佣金详情列表(跨所有设备)
当您想要获取所有设备上的所有佣金时(即同步您的后端与Wildfire的),您可以使用此调用获取自给定日期以来的所有佣金记录变更。
$allCommissionsSince = $wfClient->getAppCommissionsSince('2018-07-01'); var_dump($allCommissionsSince);
示例返回
Array
(
[0] => stdClass Object
(
[ID] => 4015
[ApplicationID] => 3
[MerchantID] => 5478747
[DeviceKey] => D9F3D3DF-E2C5-43A0-9BA5-5F47EEB964EF
[SaleAmount] => 319.3
[Amount] => 0
[Status] => DISQUALIFIED
[EventDate] => 2018-02-17T09:07:46Z
[CreatedDate] => 2018-04-05T20:35:30.710591Z
[ModifiedDate] => 2018-07-03T23:05:19.385467Z
)
[1] => stdClass Object
(
[ID] => 4013
[ApplicationID] => 3
[MerchantID] => 5478049
[DeviceKey] => 95276881-d08f-44b3-b871-641485c719a9
[SaleAmount] => 118.93
[Amount] => 5.9465
[Status] => PAID
[EventDate] => 2018-02-10T01:24:40Z
[CreatedDate] => 2018-04-05T20:35:29.265713Z
[ModifiedDate] => 2018-07-03T23:05:19.385467Z
)
[2] => stdClass Object
(
[ID] => 4010
[ApplicationID] => 3
[MerchantID] => 5477615
[DeviceKey] => 17489795-4a7f-4773-b8d0-5c90d86ce88b
[SaleAmount] => 6309.95
[Amount] => 0
[Status] => DISQUALIFIED
[EventDate] => 2017-12-21T09:00:00Z
[CreatedDate] => 2018-04-05T20:35:25.994872Z
[ModifiedDate] => 2018-07-03T23:05:19.385467Z
)
)
状态的可能值
- PENDING – 这是佣金记录的默认状态。Wildlink已检测到佣金,但尚未支付。这主要反映了退货期政策(商家将在退货期过后才支付佣金)。
- DISQUALIFIED – 对于某些商家,某些购买基于其条款被标记为不合格。这种情况有很多,并且根据商家而异。例如,Ticketmaster活动预售和大多数零售商的Apple电子产品。
- READY – Wildlink已从商家收到付款,在下一个月的支付周期中可用于支付给最终用户或合作伙伴公司。在撰写本文时,每月初进行支付。
- PAID – 已向个人用户或合作伙伴公司(在合作伙伴处理Wildlink和最终用户之间的支付的情况下)支付。
通过分页浏览佣金的其他方法
除了返回单个佣金数组外,您还可以使用CommissionList对象遍历每条记录。这的优势是内存占用更小,因为任何时候只有单个“页面”的结果被加载到内存中。返回的数据与getAppCommissionsSince方法调用相同,并接受相同的since_modified_date参数。
use WildlinkApi\CommissionList; $commissionList = new CommissionList($wfClient, '2018-12-01'); while ($commission = $commissionList->getCurrentCommission()){ var_dump($commission); if ($commissionList->hasNextCommission()){ $commissionList->getNextCommission(); } else { break; } }
获取佣金摘要
当您想向用户显示收益的概述时(假设您正在将补偿传递给您的最终用户)您可以调用getCommissionSummary。
$commissionSummary = $wfClient->getCommissionSummary(); var_dump($commissionSummary);
示例返回
stdClass Object
(
[PendingAmount] => 0.00
[ReadyAmount] => 0.00
[PaidAmount] => 0.00
)
获取佣金详情列表
如果您要将您的最终用户包括在Wildlink的佣金中,您可以使用此调用获取Wildlink了解的每个佣金的详细记录(包括每个佣金的状况),对于客户/设备(包括每个佣金的状况)。
$commissions = $wfClient->getCommissionDetails(); var_dump($commissions);
示例返回
Array (
[0] => stdClass Object
(
"ID": 7455,
"CommissionIDs": Array(
7455,
7456
],
"Date": "2018-09-18T00:00:00Z",
"Amount": "0.12",
"Status": "PENDING",
"Merchant": "AliExpress"
),
[1] => stdClass Object
(
"ID": 7336,
"CommissionIDs": Array(
7336
),
"Date": "2018-09-05T14:24:28Z",
"Amount": "0.04",
"Status": "DISQUALIFIED",
"Merchant": "DressLily"
)
)
获取点击统计
如果适当,您可以根据时间范围(按日、月或年)显示特定设备的总点击次数。此方法需要一个开始日期和结束日期的值(结束值是可选的)。
$clicks = $wfClient->getClickStatsByDay('2018-01-01'); var_dump($clicks);
示例返回
stdClass Object
(
[2018-10-15T00:00:00Z] => 3
[2018-10-16T00:00:00Z] => 12
)
创建 vanity URL(例如:http://wild.link/walmart/abc123)
将 URL(产品页面、列表页面等)转换为带有嵌入式跟踪的 wild.link URL。
$vanityUrl = $wfClient->getVanityUrl('https://www.walmart.com/ip/VIZIO-24-Class-HD-720P-LED-TV-D24hn-G9/782959488'); var_dump($vanityUrl);
示例返回
stdClass Object
(
[OriginalURL] => https://www.walmart.com/ip/VIZIO-24-Class-HD-720P-LED-TV-D24hn-G9/782959488
[VanityURL] => http://wild.link/walmart/AMjFBg
)