MarketoのREST APIを用いたカスタムオブジェクトの一括登録

こんにちは。

クラウド事業部コンサルティング&テクノロジー部の島田です。

今回は、マーケティングオートメーションツール「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ガイドの以下のページの手順をご参照ください。

REST APIで使用するカスタムサービスを作成する


手順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名です。

カスタムオブジェクト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

上記リクエストを実行すると、以下のようなレスポンスが返ってきます。

{
"requestId":"1303c#15cc5b38aee",
"result":
[{
"batchId":1306,
"status":"Queued",
"objectApiName":"salesHistory_c"
}],
"success":true

}

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"

上記リクエストを実行すると、以下のようなレスポンスが返ってきます。

{

"requestId":"5036#15cc5bb84e8",
"result":
[{
"batchId":1306,
"operation":"import",
"status":"Complete",
"objectApiName":"salesHistory_c",
"numOfObjectsProcessed":1,
"numOfRowsFailed":0,
"numOfRowsWithWarning":0,
"importTime":"0 second(s)",
"message":"Import succeeded, 1 records imported (1 members)"
}],
"success":true

}

インポートが完了しており、成功している(TSVファイルに記述したレコード数と一致する)ことを確認してください。

以上の手順で、カスタムオブジェクトの一括登録ができます。


なお、今回はカスタムオブジェクトの一括登録を例として説明しましたが、他にも様々なREST APIが用意されています。

詳細は、以下のリファレンスを参照ください。

Endpoint Reference - Marketo Developers



ネクストスケープ企業サイトへ

NEXTSCAPE

検索する

タグ

メタデータ

投稿のRSS