更宽的漏斗/优化利器-X SDK

Optimizely REST API SDK 包装器

2.0.3 2017-10-24 23:02 UTC

README

Packagist Travis

Optimizely X 令牌生成器

用于与 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();