Marketo Rest APIで全てのリードアクティビティを取得したい | Community
Skip to main content
s_watanabe-1
New Participant
February 28, 2019
Solved

Marketo Rest APIで全てのリードアクティビティを取得したい

  • February 28, 2019
  • 1 reply
  • 199 views

お世話になります。

当グループで初めてコメントさせていただきます。

早速、表題の件についてなのですが、

現在Marketo REST APIを利用して

①phpプログラムでAPI利用 -> ②ローカルMySQLにinsert -> ③Power BI, Redash等 各種BIツール

のような構成の解析環境を作成しています。

公式のREST API仕様にのっとって、

http://developers.marketo.com/rest-api/endpoint-reference/lead-database-endpoint-reference/#!/Activities/getLeadActivitiesUsingGET

一見滞りなく③まで達成できたように思うのですが、

全てのアクテビティを取得することはできませんでした。

(体感で全アクティビティのわずか1%くらいしか取得出来ていないような、、、)

特に添付画像のように、ウェブページのアクセスが注目のアクションとして

認識されたケースが取得出来ていないように思います。

Marketo REST APIで文字通りすべてのアクティビティを取得する方法は

あるのでしょうか?

何か勘違いなどありましたらご指摘いただきたいです。

ちなみに上記①の具体的な作業としては

・activities/types.json でアクテビティタイプIDを取得、1:Visit Webpageを利用することにする

・activities.json でbatchサイズ上限の300件ずつアクティビティ取得。MySQLインサート

・lead/{id}.json で↑で取得した全てのleadIdの名前やメールアドレスを取得。MySQLインサート

・各種Bi上で観察

といった作業を行いました。

以上、何卒よろしくお願いいたします。

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by Taishi_Yamada

@s watanabe さん、こんにちは

>>特に添付画像のように、ウェブページのアクセスが注目のアクションとして

>>認識されたケースが取得出来ていないように思います。

↓この上のと下のレコードについてお話されてますかね?

もしそうであれば、

>>activities/types.json でアクテビティタイプIDを取得、1:Visit Webpageを利用することにする

ここが問題ですね。”上”のは、Visited Webなので、Activity Type 1で正しいです。

”下”のは、Interesting Momentなので、別のActivity Typeに記録されています。(46だったかな。。。)

基本的に「ウェブページにアクセス(Visit Web)」「データ値の変更(Change Data Value)」「注目アクション(Interesting Moment)」というように、ここの値ごとに、それぞれ異なるActivity Typeになっていますので、それぞれ別のActivity Typeをセットして値を取得する必要があります。

Activityの種類によって記録が残っている期間はことなりますが、その期間の範囲内であればデータは取得できるはずです。

あと、まとめて取得するなら、通常のREST APIではなくて、Bulk APIを使う方が300ずつ取るという必要がないので便利だったりします(当社はRESTとSOAPとBulkと併用してますが。。。まぁ、昔はBulkなかったので。。。)。

以上、ご参考までに。

-Yamada

1 reply

Taishi_Yamada
Taishi_YamadaAccepted solution
Community Manager
February 28, 2019

@s watanabe さん、こんにちは

>>特に添付画像のように、ウェブページのアクセスが注目のアクションとして

>>認識されたケースが取得出来ていないように思います。

↓この上のと下のレコードについてお話されてますかね?

もしそうであれば、

>>activities/types.json でアクテビティタイプIDを取得、1:Visit Webpageを利用することにする

ここが問題ですね。”上”のは、Visited Webなので、Activity Type 1で正しいです。

”下”のは、Interesting Momentなので、別のActivity Typeに記録されています。(46だったかな。。。)

基本的に「ウェブページにアクセス(Visit Web)」「データ値の変更(Change Data Value)」「注目アクション(Interesting Moment)」というように、ここの値ごとに、それぞれ異なるActivity Typeになっていますので、それぞれ別のActivity Typeをセットして値を取得する必要があります。

Activityの種類によって記録が残っている期間はことなりますが、その期間の範囲内であればデータは取得できるはずです。

あと、まとめて取得するなら、通常のREST APIではなくて、Bulk APIを使う方が300ずつ取るという必要がないので便利だったりします(当社はRESTとSOAPとBulkと併用してますが。。。まぁ、昔はBulkなかったので。。。)。

以上、ご参考までに。

-Yamada

s_watanabe-1
New Participant
March 1, 2019

Taishi Yamadaさん

お世話になります。

早々のご回答ありがとうございます!

添付画像が分かりづらく申し訳ありません。

ご指摘の通り「注目のアクションの方」が取れていない状態のようです。

>”下”のは、Interesting Momentなので、別のActivity Typeに記録されています。(46だったかな。。。)

実はactivities/types.jsonで取得した全Activity Type Idへアクティビティ取得を

試みて中身を確認してみていたのですが、

46:Interesting Momentの戻りが空だったんです。

(↑情報小出しですみません!弊社環境でも46番のようです)

何故ここが空になるのか理解できず、、、

>Activityの種類によって記録が残っている期間はことなりますが、その期間の範囲内であればデータは取得できるはずです。

こちらが問題だったりするのでしょうか?

>あと、まとめて取得するなら、通常のREST APIではなくて、Bulk APIを使う方が300ずつ取るという必要がないので便利だったりします(当社はRESTとSOAPとBulkと併用してますが。。。まぁ、昔はBulkなかったので。。。)。

Bulk APIというものがあるのですね!早速試してみます。

大変参考になりました。ありがとうございます!