クラウド事業部コンサルティング&テクノロジー部の島田です。
今回は、マーケティングオートメーションツール「Marketo」のREST APIの使い方をご紹介します。
Marketoとは
Marketoは、世界で人気があるマーケティングオートメーション製品です。
Marketoでは、さまざまな操作を自動化したり、システム連携したりするための機能として、
REST APIが提供されています。
REST APIを利用すると、Marketoへのデータ登録やエクスポート等の操作を、
プログラムとして実行することができます。
今回は、最近公開された
「カスタムオブジェクトをREST APIでMarketoに一括登録する」REST APIの説明を兼ね、
Marketo REST APIの使い方をご紹介します。(カスタムオブジェクトとは?)
REST APIを使う手順
手順1. REST APIで使用するカスタムサービスを作成する
手順2. APIアクセス用の認証情報を取得する
手順3. カスタムオブジェクト一括登録用のEndpointにリクエストを送信する
手順4. リクエスト結果を取得する
では、それぞれの手順を説明します。
手順1. REST APIで使用するカスタムサービスを作成する
まず、REST APIを利用するための事前準備として、「カスタムサービス」というものを作成する
必要があります。Marketo社が提供しているMarketoガイドの以下のページの手順をご参照ください。
手順2.APIアクセス用の認証情報を取得する
1.「管理」-「LauchPoint」をクリックします。
2.作成したカスタムサービスが表示されますので、「詳細の表示」をクリックします。
3.「GET TOKEN」をクリックして、ボックスに表示されたアクセストークンをコピーします。
※本画像では、Client Id、Client Secret、Authorized User、アクセストークンの一部文字列をマスキングしています。
手順3.カスタムオブジェクト一括登録用のEndpointにリクエストを送信する
これで、REST APIを呼び出す準備が整いましたので、カスタムオブジェクト一括登録用のEndpoint「Bulk Custom Objects Controller」を呼び出します。Bulk Custom Objects ControllerのEndpointのURLは、以下です。
/bulk/v1/customobjects/{apiName}/import.json
{apiName}には、「カスタムオブジェクトのAPI名」が入ります。カスタムオブジェクトのAPI名は、以下の手順で確認できます。
1.「管理」-「Marketoカスタムオブジェクト」をクリックします。
2.画面右のツリーから、対象のカスタムオブジェクトを選択します。
3.画面中央に、選択したカスタムオブジェクトの情報が表示されます。「API名」項目が、カスタムオブジェクトのAPI名です。
今回は、EndpointをcURLコマンドを使って呼び出します。インポートしたいデータをタブ区切り形式の「customobjectbulkimport.tsv」というファイル名で作成し、そのデータを「salesHistory」というAPI名を持つカスタムオブジェクトにインポートするケースを考えます。その場合、以下のようにcURLコマンドを記述します。
■cURLコマンド
curl -i -F format=tsv -F file=@customobjectbulkimport.tsv -F access_token={手順2で取得したアクセストークン}
https://{契約毎サブドメイン}.mktorest.com/bulk/v1/customobjects/salesHistory/import.json
上記リクエストを実行すると、以下のようなレスポンスが返ってきます。
Bulk Custom Objects Controllerは、リクエストを非同期で処理するため、この時点では、"status"が"Queued"となっている点にご注意ください。また、"batchId"は、リクエストを管理するIDです。次の手順で、リクエスト結果を取得する際に利用するためメモしておきましょう。
手順4. リクエスト結果を取得する
手順3のリクエストの結果を確認します。処理結果を確認するためには、以下のEndpointを呼び出します。
/bulk/v1/customobjects/{apiName}/import/{id}/status.json
"id"には、手順3で返ってきたレスポンスに含まれる「batchId」の値を入れます。
■cURLコマンド
curl -i -H "Authorization: Bearer {手順2で取得したアクセストークン}"
"https://{契約毎サブドメイン}.mktorest.com/bulk/v1/customobjects/salesHistory_c/import/1306/status.json"
上記リクエストを実行すると、以下のようなレスポンスが返ってきます。
インポートが完了しており、成功している(TSVファイルに記述したレコード数と一致する)ことを確認してください。
以上の手順で、カスタムオブジェクトの一括登録ができます。
なお、今回はカスタムオブジェクトの一括登録を例として説明しましたが、他にも様々なREST APIが用意されています。
詳細は、以下のリファレンスを参照ください。