Marketo 統合のベストプラクティス

Marketo インスタンスの共通API制限に関する統合機能を設計します。 バッチ処理、キャッシュ、保守的なリクエスト率を使用して、スループットと信頼性を向上させます。

API 制限

  • 毎日の割り当て量:​ほとんどのサブスクリプションには、1日あたり50,000回のAPI呼び出しが割り当てられます。 割り当て量は、毎日12:00 CSTにリセットされます。 1日の割り当てを増やすには、アカウントマネージャーにお問い合わせください。
  • レート制限:​各インスタンスは、20秒あたり100回のAPI呼び出しに制限されています。
  • 同時実行数の制限:​各インスタンスでは、最大10回の同時API呼び出しが許可されます。
  • バッチサイズ: リード DBは300 レコードをサポートしています。アセットクエリは200 レコードをサポートしています。
  • REST API ペイロード サイズ: 1 MB。
  • 一括読み込みファイル サイズ: 10 MB。
  • SOAPの最大バッチサイズ: 300 レコード。
  • 一括抽出ジョブ: 2件の実行と10件のキューに入りました(含む)。

クイックヒント

  • アプリケーションは割り当て量、レート、同時実行リソースを他のアプリケーションと共有するため、保守的な使用制限を設定します。
  • 利用可能な場合は、Marketoの一括方式とバッチ方式を使用します。 必要な場合にのみ、単一レコードまたは単一の結果の呼び出しを使用します。
  • レートまたは同時実行の制限により失敗したAPI呼び出しを再試行するには、指数的バックオフ ​を使用します。
  • ユースケースに利益をもたらす場合を除き、同時API呼び出しを避けます。

バッチ処理

挿入と更新の場合は、レコードを可能な限り少ない数のトランザクションにグループ化します。 データストアからレコードを取得する場合、変更ごとに1つのリクエストを送信するのではなく、送信前にレコードを集計します。

許容可能な待ち時間

統合を設計する際の許容可能な待ち時間(API呼び出しを送信するまでの最大時間)を定義します。 この選択により、ユースケースに適合するMarketoのメソッドとコンフィギュレーションオプションが決まります。

例えば、利用者が体験版を開始したときに営業担当者に通知するリアルタイム統合では、すぐにフォローアップが必要なときに営業担当者に一括送信します。 多くのユースケースでは、呼び出しのキューとバッチ処理によって、より多くの遅延を許容し、より効率的に運用できます。

許容可能な待ち時間
推奨される方法
メモ
低(10 秒未満)
同期 API(バッチ処理またはバッチ以外の処理)
ユースケースでこれが必要であることを確認します。 大量のユースケースに対して即時の同期呼び出しを送信すると、1 日の API 割り当て量がすぐに使用され、レートと同時実行の両方の制限を超える場合があります。
中(10 秒~60 分)
同期 API(バッチ処理)
Marketo へのインバウンドデータ統合では、経過時間とサイズの両方の制限があるキューを使用することを強くお勧めします。 いずれかの制限に達したら、キューをフラッシュし、蓄積されたレコードを含む API リクエストを送信します。 これは、速度と効率の間の強力な妥協であり、キューの経過時間で許容される限り多くのレコードをバッチ処理しながら、必要なケイデンスでリクエストが発生するようにします。
高(60 分超過)
一括読み込み/書き出し(サポートされている場合)
インバウンドデータ統合の場合、レコードはキューに入れ、使用可能な場合は常に Marketo Bulk API 経由で送信する必要があります。

毎日の制限

API対応の各Marketo インスタンスには、毎日10,000件以上のREST API呼び出しが割り当てられていますが、50,000件以上が一般的です。 各インスタンスには、500 MB以上のバルクエクト容量もあります。 1日の追加容量は、Marketo サブスクリプションの一部として購入できますが、アプリケーションのデザインでは、一般的なサブスクリプション制限を考慮する必要があります。

キャパシティは、インスタンス内のすべてのAPI サービスとユーザーによって共有されます。 冗長な呼び出しとバッチレコードを排除し、できるだけ少ない呼び出しを実現します。

最も通話効率の高い読み込み方法は、Marketoの一括読み込みAPIです。​ リード/ユーザーおよび​ カスタムオブジェクト ​で使用できます。 また、Marketo では、リードアクティビティの一括抽出も用意しています。

キャッシュ

次の操作の結果は、頻繁に変更されないので、通常はクライアントサイドで 1 日以上キャッシュできます。

リードやアクティビティのデータエンリッチメントなどのユースケースでは、プログラム、メール、フォルダーなどのアセットタイプをキャッシュすることもできます。

レート制限

Marketoの各インスタンスでは、すべてのサードパーティ API サービスで、20秒あたり100回の呼び出しの共有レート制限があります。 呼び出しがこの制限を超える場合、APIは606 エラーコードを返します。

一般的に、複数のAPI統合とユーザーが利用可能な容量を共有できるように、各サードパーティ統合を20秒以下あたり50回の呼び出しに制限します。 場合によっては、最大限の制限が必要な場合もあります。 ただし、バッチ処理を使用してスループットを低下させるアプリケーションは、一般的に応答性と一貫性が高く、待ち時間が少し増加します。

同時実行制限

各 Marketo インスタンスには、同時実行できる REST API 呼び出しの共有制限が 10 個あります。 アプリケーションがこの制限の唯一の消費者であると仮定しないでください。

Marketoでは、処理中で返されていない呼び出しがカウントされます。 呼び出しが返されると、同時実行の制限にカウントされなくなります。

ほとんどの統合では、同時呼び出しのメリットはありません。 同時実行を実装する場合、最初にアプリケーションを5つ以下の同時要求に制限します。 この制限を増やすのは、アプリケーションがより多くの作業を必要としていると判断した場合のみです。

エラー

まれに、API リクエストはHTTP ステータスコード 200を返します。 ビジネスロジックエラーも200を返しますが、応答本文に詳細が含まれます。 詳しくは、​ エラーコード ​を参照してください。

HTTP理由フレーズはオプションであり、変更される可能性があるため、評価しないでください。

recommendation-more-help
marketo-developer-help