Сначала мне нужно экспортировать данные из Magento в JSON или CSV. Затем эти данные необходимо импортировать в Mixpanel. Mixpanel предоставляет демо-версию (см. Ниже). класс и все остальное кажется нормальным, но фактические данные, которые я изо всех сил пытаюсь получить от Magento. Я перепробовал много скриптов и т. Д., Но ничего не получилось. Есть идеи?
<?php
/*
Example script that will import $born events into your Mixpanel projects for your existing users.
Feel free to modify. If you have a high number of users you might want to use some sort of queing system instead of
a sleep command to make sure that all the requests get sent propertly.
*/
/*
Dummy Data:
This array represents the data you would fetch from your own database that would have user_ids and the date you would like to set as their
birthdate. Mixpanel will use this birthdate to determine their cohort.
*/
$users = array(
"47859"=>"2011-01-07 12:23:01",
"47860"=>"2011-01-07 13:43:47",
"47861"=>"2011-01-07 13:54:24",
"47862"=>"2011-01-08 20:12:23",
"47863"=>"2011-01-08 22:59:29",
);
date_default_timezone_set("America/New_York"); //set for the timezone your sign up data is using.
//Constructer: new EventImporter("Project Token","Project API Key");
//Both these values are on your mixpanel accounts page: http://mixpanel.com/account/
$metrics = new EventImporter("TOKEN_HERE","API_KEY_HERE");
foreach($users as $id=>$birthdate){
$props = array();
$props['distinct_id'] = $id; //distinct_id should be your identifier
$props['time'] = strtotime($birthdate); //time should be their $birthdate
$event = '$signup'; //you are sending the $signup event. You could also put $born here.
echo "\nSending $event event for ".$props['distinct_id']." at $birthdate (".$props['time'].")\n";
$metrics->track($event, $props);
}class EventImporter {
public $token;
public $api_key;
public $host = 'http://api.mixpanel.com/';
public function __construct($token_string,$api_key) {
$this->token = $token_string;
$this->api_key = $api_key;
}
function track($event, $properties=array()) {
$params = array(
'event' => $event,
'properties' => $properties
);
if (!isset($params['properties']['token'])){
$params['properties']['token'] = $this->token;
}
$url = $this->host . 'import/?data=' . base64_encode(json_encode($params)) . "&api_key=$this->api_key";
//you still need to run as a background process
echo "$url\n";
exec("curl '" . $url . "' >/dev/null 2>&1 &");
sleep(.2);
}
}?>
Если у вас есть данные в CSV-файле, вы можете легко импортировать их в Mixpanel с помощью Segment CSV Importer. Этот инструмент построен поверх сегмента, если вы уже используете сегмент, этот процесс будет более простым. Для импорта данных и спецификации файла CSV посетите Вот.
Других решений пока нет …