2013-09-27 2 views
7

Я собираюсь перейти к следующему плану в mixpanel, чтобы иметь слишком много людей и сначала хотел бы удалить некоторых старых пользователей.Mixpanel - Bulk delete old users

Есть ли простой способ/script/api для массового удаления старых пользователей?

ответ

7

Да, есть. Глядя на HTTP spec, вы найдете следующее.

$ удалить

строку навсегда удалить профиль из Mixpanel, вместе со всеми его свойств. Значение игнорируется - профиль определяется $ distinct_id из самого запроса.

// This removes the user 13793 from Mixpanel 
{ 
    "$token": "36ada5b10da39a1347559321baf13063", 
    "$distinct_id": "13793", 
    "$delete": "" 
} 

запросы Пакетные

Оба события конечной точки на http://api.mixpanel.com/track/ и профиль конечной точки обновления на http://api.mixpanel.com/engage/ принимать пакетные обновления. Чтобы отправить пакет сообщений конечной точке, вы должны использовать POST вместо запроса GET. Вместо отправки одного объекта JSON в качестве параметра запроса данных отправьте список объектов JSON, закодированный base64, в качестве параметра данных тела запроса POST приложения/x-www-form-urlencoded.

// Here's a list of events 
[ 
    { 
     "event": "Signed Up", 
     "properties": { 
      "distinct_id": "13793", 
      "token": "e3bc4100330c35722740fb8c6f5abddc", 
      "Referred By": "Friend", 
      "time": 1371002000 
     } 
    }, 
    { 
     "event": "Uploaded Photo", 
      "properties": { 
       "distinct_id": "13793", 
       "token": "e3bc4100330c35722740fb8c6f5abddc", 
       "Topic": "Vacation", 
       "time": 1371002104 
      } 
    } 
] 

в кодировке Base64, список становится:

Ww0KICAgIHsNCiAgICAgICAgImV2ZW50IjogIlNpZ25lZCBVcCIsDQogICAgICAgICJwcm9wZXJ0aWVzIjogew0KICAgICAgICAgICAgImRpc3RpbmN0X2lkIjogIjEzNzkzIiwNCiAgICAgICAgICAgICJ0b2tlbiI6ICJlM2JjNDEwMDMzMGMzNTcyMjc0MGZiOGM2ZjVhYmRkYyIsDQogICAgICAgICAgICAiUmVmZXJyZWQgQnkiOiAiRnJpZW5kIiwNCiAgICAgICAgICAgICJ0aW1lIjogMTM3MTAwMjAwMA0KICAgICAgICB9DQogICAgfSwNCiAgICB7DQogICAgICAgICAiZXZlbnQiOiAiVXBsb2FkZWQgUGhvdG8iLA0KICAgICAgICAgICJwcm9wZXJ0aWVzIjogew0KICAgICAgICAgICAgICAiZGlzdGluY3RfaWQiOiAiMTM3OTMiLA0KICAgICAgICAgICAgICAidG9rZW4iOiAiZTNiYzQxMDAzMzBjMzU3MjI3NDBmYjhjNmY1YWJkZGMiLA0KICAgICAgICAgICAgICAiVG9waWMiOiAiVmFjYXRpb24iLA0KICAgICAgICAgICAgICAidGltZSI6IDEzNzEwMDIxMDQNCiAgICAgICAgICB9DQogICAgfQ0KXQ== 

Так тело запроса POST, чтобы отправить события как пакетная:

data=Ww0KICAgIHsNCiAgICAgICAgImV2ZW50IjogIlNpZ25lZCBVcCIsDQogICAgICAgICJwcm9wZXJ0aWVzIjogew0KICAgICAgICAgICAgImRpc3RpbmN0X2lkIjogIjEzNzkzIiwNCiAgICAgICAgICAgICJ0b2tlbiI6ICJlM2JjNDEwMDMzMGMzNTcyMjc0MGZiOGM2ZjVhYmRkYyIsDQogICAgICAgICAgICAiUmVmZXJyZWQgQnkiOiAiRnJpZW5kIiwNCiAgICAgICAgICAgICJ0aW1lIjogMTM3MTAwMjAwMA0KICAgICAgICB9DQogICAgfSwNCiAgICB7DQogICAgICAgICAiZXZlbnQiOiAiVXBsb2FkZWQgUGhvdG8iLA0KICAgICAgICAgICJwcm9wZXJ0aWVzIjogew0KICAgICAgICAgICAgICAiZGlzdGluY3RfaWQiOiAiMTM3OTMiLA0KICAgICAgICAgICAgICAidG9rZW4iOiAiZTNiYzQxMDAzMzBjMzU3MjI3NDBmYjhjNmY1YWJkZGMiLA0KICAgICAgICAgICAgICAiVG9waWMiOiAiVmFjYXRpb24iLA0KICAgICAgICAgICAgICAidGltZSI6IDEzNzEwMDIxMDQNCiAgICAgICAgICB9DQogICAgfQ0KXQ== 

Обе конечные точки будут принимать до 50 сообщений в одной партии. Обычно пакетные запросы будут иметь свойство «time», связанное с событиями, или атрибут «$ time», связанный с обновлениями профиля.

7

Я написал два сценария, которые могут пригодиться; mixpanel-engage-query и mixpanel-engage-post.

Используя первый скрипт (запрос), вы можете запросить данные о людях и получить список профилей, например. все пользователи, у которых $ last_seen установлены на дату старше X месяцев.

Используя второй скрипт (post), вы можете выполнять действия в пакетном режиме по этим профилям, например, удаляя их. См. README для an example of how to perform a batch delete.

Смежные вопросы