widerfunnel / optimizely-sdk
Optimizely API PHP SDK
2.0.0
2017-10-13 22:03 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-14 19:53:02 UTC
README
PHP包装器,用于与Optimizely API交互。
安装
composer require widerfunnel/optimizely-sdk
用法
只需创建一个Optimizely对象,并在构造函数中传递有效的OAuth Token
$optimizely = Optimizely::create($token);
如果您想使用基于令牌的认证,只需将 true
作为第二个参数传递
$optimizely = Optimizely::create($token, true);
项目
// Read a project $optimizely->projects()->find($projectId); // Create a project $optimizely->projects()->create([ 'project_name' => 'My new project' ]); // Update a project $optimizely->projects()->update($projectId, [ 'project_name' => 'My new name' ]); // Delete a project // Not supported by Optimizely Rest API // List projects in account $optimizely->projects()->all(); // Activate a project $optimizely->projects()->activate($projectId); // Archive a project $optimizely->projects()->archive($projectId);
实验
// List experiments in project $optimizely->project($projectId)->experiments(); // Create an experiment $optimizely->project($projectId)->createExperiment( 'Google', 'google.com', ['status' => 'Paused'] ); // Update an experiment $optimizely->experiment($experimentId)->update(['edit_url' => 'newsite.com']); // Launch an experiment $optimizely->experiment($experimentId)->launch(); // Pause an experiment $optimizely->experiment($experimentId)->pause(); // Resume an experiment $optimizely->experiment($experimentId)->resume(); // Archive an experiment $optimizely->experiment($experimentId)->archive();
变体
// Fetch variations for a given experiment $optimizely->experiment($experimentId)->variations(); // Create variation $optimizely->experiment($experimentId)->createVariations('varA', [ 'weight' => 25 ]); // Find a variation $optimizely->variations()->find($variationId); // Update a variation $optimizely->variation($variationId)->update(['description' => 'Control']); // Update variation description $optimizely->variation($variationId)->description('Variation A'); // Update variation weight $optimizely->variation($variationId)->weight(5000); // Update variation JS component $optimizely->variation($variationId)->js_component('$(".selector")'); // Pause variation $optimizely->variation($variationId)->pause(); // Resume variation $optimizely->variation($variationId)->resume(); // Delete a variation $optimizely->variation($variationId)->delete();
结果
// Fetch the results of an experiments $optimizely->experiment($experimentId)->results(); // Fetch the results of an experiments (legacy version) $optimizely->experiment($experimentId)->legacyResults();
日程安排
// Find a schedule $optimizely->schedules()->find($scheduleId); // Update schedule $optimizely->schedule($scheduleId)->update( Carbon::now()->addDays(30), Carbon::now()->addDays(60) ); // Update start time of a given schedule $optimizely->schedule($scheduleId)->startAt(Carbon::now()->addDays(30)); // Update stop time of a given schedule $optimizely->schedule($scheduleId)->stopAt(Carbon::now()->addDays(30)); // List schedules for an experiment $optimizely->experiment($experimentId)->schedules(); // List active schedules for an experiment $optimizely->experiment($experimentId)->schedules()->active(); // List inactive schedules for an experiment $optimizely->experiment($experimentId)->schedules()->inactive(); // Create a schedule for an experiment $optimizely->experiment($experimentId)->schedule(Carbon::now()->addDays(10)); // Start an experiment at a given time $optimizely->experiment($experimentId)->startAt(Carbon::now()->addDays(10)); // Stop an experiment at a given time $optimizely->experiment($experimentId)->stopAt(Carbon::now()->addDays(10)); // Delete a schedule $optimizely->schedule($scheduleId)->delete();
受众
// List audiences in project $optimizely->project($projectId)->audiences(); // Find an audience $optimizely->audiences()->find($audienceId); // Create an audience $optimizely->project($projectId)->createAudience('My second audience'); // Update an audience $optimizely->audience($audienceId)->update([ 'name' => 'My new name' ]); // Delete an audience // Not supported by Optimizely Rest API
目标
// List goals in project $optimizely->project($projectId)->goals(); // Find a goal $optimizely->goals()->find($goalId); // Create a goal in a project $optimizely->project($projectId)->createGoal('My new goal', 1, [ 'event' => 'My event' ]); // Delete a goal $optimizely->goal($goalId)->delete();
维度
// List dimensions in a project $optimizely->project($projectId)->dimensions(); // Find a dimension $optimizely->dimensions()->find($dimensionId); // Create a dimension $optimizely->project($projectId)->createDimension('My dimension'); // Update a dimension $optimizely->dimension($dimensionId)->update([ 'name' => 'My new dimension name' ]); // Delete a dimension $optimizely->dimension($dimensionId)->delete();
上传列表
// List uploaded lists in project $optimizely->project($projectId)->uploadedLists(); // Find a uploaded list $optimizely->uploadedLists()->find($uploadedListId); // Create an uploaded list $optimizely->project($projectId)->createUploadedList( 'List', UploadedList::TYPE_QUERY_STRING, 'csv', 'user_id', 'uid1,uid2,uid3,uid4' ); // Update an uploaded list $optimizely->uploadedList($uploadedListId)->update([ 'key_fields' => 'user_uid' ]); // Delete an uploaded list $optimizely->uploadedList($uploadedListId)->delete();
贡献
关于您的贡献,请务必阅读指导方针
许可
此软件受MIT许可