一括読み込み

一括読み込みは、個人および人物関連の大規模なデータセットを挿入するためのインターフェイスを提供します。 3つのオブジェクトタイプを読み込むことができます。

  • リード(ユーザ)
  • カスタムオブジェクト
  • プログラムメンバー

一括読み込みを実行するには、アップロードしたファイルを読み込むジョブを作成します。 ジョブは非同期で実行されるので、ポーリングしてインポートステータスを取得します。

RFC 2399ごとにHTTP multipart/form-dataを使用してファイルをアップロードします。

他のエンドポイントとは異なり、Bulk API エンドポイントには/restというプレフィックスはありません。

認証

一括読み込み API は、他の Marketo REST API と同じ OAuth 2.0 認証方法を使用します。 Authorization: Bearer {_AccessToken_} HTTP ヘッダーに有効なアクセストークンを送信します。

IMPORTANT
access_token クエリパラメーターを使用した認証のサポートは、2025年6月30日(PT)に削除されます。 プロジェクトでアクセストークンを渡すのにクエリパラメーターを使用している場合は、できるだけ早く Authorization ヘッダーを使用するように更新する必要があります。 新規開発では、Authorization ヘッダーのみを使用する必要があります。

制限

  • 最大同時読み込みジョブ数:2
  • 現在インポート中のジョブを含む、キューに入れられた最大インポートジョブ数:10
  • 最大インポートファイルサイズ:10 MB

権限

一括読み込みでは、Marketo REST APIと同じ権限モデルを使用します。 追加の権限は必要ありませんが、各エンドポイントのセットには特定の権限が必要です。

レコード操作

一括読み込みは、レコードの「挿入または更新」操作です。 データベースに一致するレコードが含まれている場合、操作はそのレコードを更新します。 それ以外の場合、操作はレコードを作成します。

一括読み込み応答は、個々のレコードが更新または挿入されたかどうかを示すものではありません。

ジョブの作成

​ リードの読み込み エンドポイントを呼び出して、リード読み込みジョブを作成します。 このエンドポイントは、コンテンツタイプとして multipart/form-data を使用します。

任意の言語のHTTP サポートライブラリを使用して、マルチパートリクエストを作成します。 curlを使用して開始することもできます。

POST /bulk/v1/leads.json?format=csv
Content-Type: multipart/form-data; boundary=--------------------------WebKitFormBoundaryBQACkJZyaiIAXogC
Content-Length: 311
Host: <munchkinId>.mktorest.com
------WebKitFormBoundaryBQACkJZyaiIAXogC
Content-Disposition: form-data; name="file"; filename="leads.csv"
Content-Type: text/csv

firstName,lastName,email
Able,Baker,ablebaker@marketo.com
Charlie,Dog,charliedog@marketo.com
Easy,Fox,easyfox@marketo.com
------WebKitFormBoundaryBQACkJZyaiIAXogC--

このリクエストは、leads.csvという名前のCSV ファイルから値をインポートするジョブを作成します。

{
    "requestId": "d01f#15d672f8560",
    "result": [
        {
            "batchId": 3404,
            "importId": "3404",
            "status": "Queued"
        }
    ],
    "success": true
}

応答はbatchIdを返します。 この値を使用して、ジョブのステータスを確認します。

一般的なパラメーター

各ジョブ作成エンドポイントは、インポートファイルを設定するためのパラメーターを共有します。 インポートサブタイプは、追加のパラメーターをサポートすることもできます。

パラメーター
データタイプ
メモ
format
文字列
コンマ区切り値、タブ区切り値、セミコロン区切り値のオプションを使用して、読み込まれたデータのファイル形式を決定します。 CSV、SSV、TSV のいずれかを受け入れます。 形式のデフォルトは CSV です。
ファイル
文字列
データは、ファイル内の multipart フォームデータを通じて指定されます。

ジョブステータスのポーリング

batchId読み込みリードステータスの取得 エンドポイントに渡して、ジョブのステータスを取得します。

GET /bulk/v1/leads/batch/{batchId}.json
{
    "requestId": "1f63#15d6738fd15",
    "result": [
        {
            "batchId": 3404,
            "importId": "3404",
            "status": "Complete",
            "numOfLeadsProcessed": 3,
            "numOfRowsFailed": 0,
            "numOfRowsWithWarning": 0,
            "message": "Import succeeded, 3 records imported (3 members)"
        }
    ],
    "success": true
}

status メンバーは、ジョブの進行状況を示します。 値はQueuedImportingCompleteまたはFailedです。

この例では、ジョブが完了したので、ポーリングを停止できます。

失敗

Get Import Lead Status応答のnumOfRowsFailed属性は、失敗した行の数を示します。 0より大きい値は、エラーが発生したことを意味します。

失敗したレコードとその原因を取得するには、読み込み失敗の取得 エンドポイントを使用します。

GET /bulk/v1/leads/batch/{batchId}/failures.json

失敗ファイルは、失敗した各行を識別し、レコードが失敗した理由を説明します。

recommendation-more-help
marketo-developer-help