更宽的漏斗 / 优化利器-X SDK
Optimizely REST API SDK 包装器
2.0.3
2017-10-24 23:02 UTC
Requires
- php: >=7.0
- guzzlehttp/guzzle: ^6.2
- tightenco/collect: ^5.3
Requires (Dev)
- nesbot/carbon: ^1.21
- phpunit/phpunit: ^5.5
- symfony/var-dumper: ^3.1
- vlucas/phpdotenv: ^2.4
This package is not auto-updated.
Last update: 2024-09-15 04:36:43 UTC
README
用于与 Optimizely X API 交互的 PHP 包装器。
安装
composer require widerfunnel/optimizely-x-sdk
用法
简单地创建一个 Optimizely 对象,并在构造函数中提供一个有效的 OAuth 令牌
$optimizely = Optimizely::create($token);
如果您想使用基于令牌的认证,只需将 true
作为第二个参数传递
$optimizely = Optimizely::create($token, true);
列出项目
$optimizely->projects()->all();
读取项目
$optimizely->projects()->find($projectId);
创建项目
$optimizely->projects()->create([ 'name' => 'My new project' ]);
更新项目
$optimizely->project($projectId)->update([ 'name' => 'My new name' ]);
删除项目
** 不受 Optimizely X Rest API 支持 **
激活项目(注意:不可用,等待 optimizely X api 修复)
$optimizely->project($projectId)->activate();
存档项目(注意:不可用,等待 optimizely X api 修复)
$optimizely->project($projectId)->archive();
活动
列出活动
$optimizely->project($projectId)->campaigns()->all();
查找活动
$optimizely->campaign($campaignId)->find();
创建活动
$optimizely->project($projectId)->campaigns()->create( 'Landing Page Optimization', ["status" => "not_started"] );
更新活动
$optimizely->campaign($campaignId)->update([ 'name' => 'this is my new campaign' ]);
实验
列出项目中的实验
$optimizely->project($projectId)->experiments()->all([ 'per_page' => <integer>, 'page' => <integer>, 'include_classic' => <boolean> ] <optional>);
查找实验
$optimizely->experiment($experimentId)->find();
创建实验
$optimizely->project($projectId)->experiments()->create( 'my test', [ [ "name" => "control", "weight" => 5000 ], [ "name" => "varA", "weight" => 5000 ] ], [ [ "aggregator" => "unique", "event_id" => 0, "field" => "revenue" ] ], ['status' => 'not started'] ]);
更新实验
$optimizely->experiment($experimentId)->update(['name' => 'newsite.com']);
删除实验
$optimizely->experiment($experimentId)->delete();
存档实验
$optimizely->experiment($experimentId)->archive();
变体
更改变体
$optimizely->experiment($experimentId)->variations()->update([ [ "name" => "control", "weight" => 2500 ], [ "name" => "varA", "weight" => 2500 ], [ "name" => "varB", "weight" => 2500 ], [ "name" => "varF", "weight" => 2500 ] ]);
受众
列出受众
$optimizely->project($projectId)->audiences()->all();
查找受众
$optimizely->audience($audienceId)->find();
创建受众
$optimizely->project($projectId)->audiences()->create( 'My second audience', '[\"and\", {\"type\": \"language\", \"value\": \"es\"}, {\"type\": \"location\", \"value\": \"US-CA-SANFRANCISCO\"}]', ["description" => 'People that speak spanish in San Fran'] );
更新受众
$optimizely->audience($audienceId)->update([ 'name' => 'My new name' ]);
删除受众
** 不受 Optimizely X Rest API 支持 **
页面
列出页面
$optimizely->project($projectId)->pages()->all();
查找页面
$optimizely->page($pageId)->find();
创建页面
$optimizely->project($projectId)->pages()->create($name, $edit_url, [ 'category' => 'article' ]);
更新页面
$optimizely->page($pageId)->update(['name' => 'my updated name']);
删除页面
$optimizely->page($pageId)->delete();
事件
列出事件
$optimizely->project($projectId)->events()->all();
查找事件
$optimizely->event($eventId)->find();
页面内事件
创建页面内事件
$optimizely->page($pageId)->events()->create( 'my sign up goal', 'click', ['selector' => '.sign-up-btn'], ['category' => 'sign_up'] );
更新页面内事件
$optimizely->page($pageId)->event($inPageEventId)->update([ 'name' => 'my new page event name' ]);
删除页面内事件
$optimizely->page($pageId)->event($inPageEventId)->delete();
自定义事件
创建自定义事件
$optimizely->project($projectId)->events()->create([ 'event_type' => 'custom', 'name' => 'my custom event', 'key' => 'my_event_key' ]);
更新自定义事件
$optimizely->project($projectId)->event($customEventId)->update([ 'name' => 'my new custom event name' ]);
删除自定义事件
$optimizely->project($projectId)->event($customEventId)->delete();
属性
列出属性
$optimizely->project($projectId)->attributes()->all();
查找属性
$optimizely->attribute($attributeId)->find());
创建属性
$optimizely->project($projectId)->attributes()->create( 'my new attribute', 'my_new_attribute', ['description' => 'this is an attribute'] );
更新属性
$optimizely->attribute($attributeId)->update(['name' => 'this is my updated attribute']);
删除属性
$optimizely->attribute($attributeId)->delete());
结果
获取实验的结果
$optimizely->experiment($experimentId)->results();
获取活动的结果
$optimizely->campaign($campaignId)->results();