be-lenka / tracify-php-sdk
此API允许您将来自服务器的事件发送到Tracify。
v1.0.0
2024-06-14 09:20 UTC
Requires
- php: ^7.4
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- guzzlehttp/guzzle: ^6.2
- guzzlehttp/psr7: ^1.4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.5
- phpunit/phpunit: ^8.0 || ^9.0
This package is auto-updated.
Last update: 2024-09-14 09:51:01 UTC
README
此API允许您将来自服务器的事件发送到Tracify。
安装和用法
需求
PHP 7.4及以后版本。也应与PHP 8.0兼容。
Composer
要通过Composer安装绑定,请在composer.json
中添加以下内容
composer require be-lenka/tracify-php-sdk
或者
{ "repositories": [ { "type": "vcs", "url": "https://github.com/be-lenka/tracify-php-sdk.git" } ], "require": { "be-lenka/tracify-php-sdk": "*@dev" } }
然后运行composer install
入门
请遵循安装过程,然后运行以下命令
<?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure API key authorization: TracifyTokenAuth $config = \belenka\tracify\Configuration::getDefaultConfiguration()->setApiKey('tracify-token', '<YOUR_API_KEY>'); $apiInstance = new \belenka\tracify\Api\EventsApi(new \GuzzleHttp\Client(), $config);
// Page view event $eventPageView = new \belenka\tracify\Model\PageViewEvent(); $eventPageView->setUrl('<SOURCE_URL>'); $eventPageView->setCustomerSiteId('<YOUR_CSID>'); $eventPageView->setIdentityData([ \belenka\tracify\Model\Event::hashValue('8.8.8.8') => \belenka\tracify\Model\IdentityClassification::IP_ADDRESS, \belenka\tracify\Model\Event::hashValue($_SERVER['HTTP_USER_AGENT']) => \belenka\tracify\Model\IdentityClassification::USER_AGENT ]); $eventPageView->setDatetime(date('Y-m-d H:i:s')); $eventPageView->setData(['origin' => 'https://www.example.com']); $eventPageView->setType('pageview');
// Product view event $eventProductView = new \belenka\tracify\Model\ProductViewEvent(); $eventProductView->setUrl('<SOURCE_URL>'); $eventProductView->setCustomerSiteId('<YOUR_CSID>'); $eventProductView->setIdentityData([ \belenka\tracify\Model\Event::hashValue('8.8.8.8') => \belenka\tracify\Model\IdentityClassification::IP_ADDRESS ]); $eventProductView->setDatetime(date('Y-m-d H:i:s')); $eventProductView->setData(['origin' => 'https://www.example.com']); $eventProductView->setType('productview');
// Add to cart event $eventAddToCart = new \belenka\tracify\Model\AddToCartEvent(); $eventAddToCart->setUrl('<SOURCE_URL>'); $eventAddToCart->setCustomerSiteId('<YOUR_CSID>'); $eventAddToCart->setIdentityData([ \belenka\tracify\Model\Event::hashValue('8.8.8.8') => \belenka\tracify\Model\IdentityClassification::IP_ADDRESS ]); $eventAddToCart->setDatetime(date('Y-m-d H:i:s')); $eventAddToCart->setData(['origin' => 'https://www.example.com']); $eventAddToCart->setType('addtocart');
// Purchase event $eventPurchase = new \belenka\tracify\Model\PurchaseEvent(); $eventPurchase->setType('purchase'); $eventPurchase->setUrl('<SOURCE_URL>'); $eventPurchase->setCustomerSiteId('<YOUR_CSID>'); $eventPurchase->setIdentityData([ \belenka\tracify\Model\Event::hashValue('test+dev@example.com') => \belenka\tracify\Model\IdentityClassification::EMAIL, \belenka\tracify\Model\Event::hashValue('8.8.8.8') => \belenka\tracify\Model\IdentityClassification::IP_ADDRESS ]); $eventPurchase->setDatetime(date('Y-m-d H:i:s')); $eventData = new \belenka\tracify\Model\PurchaseEventData([ 'origin' => 'https://www.example.com', 'order_id' => '<ORDER_ID>', 'currency' => '<CURRENCY_THREE_LETTER_CODE>', 'value' => round('<ORDER_TOTAL_PRICE>', 2) ]); $eventPurchase->setData($eventData->toArray());
// Conversion event $eventConversion = new \belenka\tracify\Model\ConversionEvent(); $eventConversion->setType('conversion'); $eventConversion->setUrl('<SOURCE_URL>'); $eventConversion->setCustomerSiteId('<YOUR_CSID>'); $eventConversion->setIdentityData([ \belenka\tracify\Model\Event::hashValue('test+dev@example.com') => \belenka\tracify\Model\IdentityClassification::EMAIL, \belenka\tracify\Model\Event::hashValue('8.8.8.8') => \belenka\tracify\Model\IdentityClassification::IP_ADDRESS ]); $eventConversion->setDatetime(date('Y-m-d H:i:s')); $eventData = new \belenka\tracify\Model\ConversionEventData([ 'origin' => 'https://www.example.com', 'conversion_id' => '<CONVERSION_ID>', 'currency' => '<CURRENCY_THREE_LETTER_CODE>', 'value' => round('<ORDER_TOTAL_PRICE>', 2) ]); $eventConversion->setData($eventData->toArray());
// Send bulk events try { $result = $apiInstance->eventsApiV1CreateEvent([ 'events' => [ $eventPageView->toArray(), $eventProductView->toArray(), $eventAddToCart->toArray(), $eventPurchase->toArray(), $eventConversion->toArray() ] ]); print_r($result); } catch (Exception $e) { echo 'Exception when calling EventsApi->eventsApiV1CreateEvent: ', $e->getMessage(), PHP_EOL; }
API端点
所有URI都相对于https://api.tracify.ai
模型
- 添加到购物车事件
- 基本事件
- 基本事件数据
- 转换事件
- 转换事件数据
- 创建事件请求
- 创建事件响应
- 事件
- 身份分类
- 页面查看事件
- 页面查看事件数据
- 购买后调查事件
- 购买后调查事件数据
- 产品查看事件
- 购买事件
- 购买事件数据
授权
API定义的认证方案
TracifyTokenAuth
- 类型:API密钥
- API密钥参数名称:tracify-token
- 位置:HTTP头
测试
要运行测试,使用
composer install vendor/bin/phpunit