エラーコード

REST API エラーコードのリストと、エラーがアプリケーションに返される方法を以下で説明します。

例外の処理とログ

Marketoの開発時には、予期しない例外が発生した場合に、リクエストと応答がログに記録されることが重要です。 期限切れの認証などの特定のタイプの例外は、再認証によって安全に処理できますが、他の例外ではサポートのインタラクションが必要になる場合があり、このシナリオでは常にリクエストと応答がリクエストされます。

エラータイプ

Marketo REST API は、通常の操作では次の 3 つの異なるタイプのエラーを返します。

  • HTTP レベル:これらのエラーは、4xx コードで示されます。
  • 応答レベル:これらのエラーは、JSON 応答の "errors" 配列に含まれます。
  • レコードレベル:これらのエラーは、JSON 応答の "result" 配列に含まれ、"status" フィールドと "reasons" 配列を使用して個々のレコードごとに示されます。

応答レベルおよびレコードレベルのエラータイプの場合、HTTP ステータスコード 200 が返されます。 すべてのエラータイプについて、HTTP 理由フレーズはオプションであり、変更される可能性があるので、評価しないでください。

HTTP レベルのエラー

通常の操作状況では、Marketo は、413 Request Entity Too Large414 Request URI Too Long の 2 つの HTTP ステータスコードエラーのみを返します。 これらは両方とも、エラーをキャッチし、リクエストを変更して再試行することで復元できますが、スマートコードプラクティスを使用すれば、実際にこのような問題が発生することはありません。

リクエストペイロードが 1 MB を超える場合や、「リード読み込み」のケースで 10 MB を超える場合、Marketo は 413 を返します。 ほとんどのシナリオでは、これらの制限に達する可能性はほとんどありませんが、リクエストのサイズを確認するチェックを追加し、制限を超える原因となるレコードを新しいリクエストに移動することで、エンドポイントからこのエラーが返される状況を防ぐことができます。

GET リクエストの URI が 8 KB を超えると 414 が返されます。 これを回避するには、クエリ文字列の長さがこの制限を超えていないかどうかを確認します。 リクエストが POST メソッドに変更される場合は、追加のパラメーター _method=GET を指定して、クエリ文字列をリクエスト本文として入力します。 これにより、URI の制限がなくなります。 ほとんどの場合、この制限に達することはまれですが、GUIDなどの長い個々のフィルター値を持つレコードの大規模なバッチを取得する場合はやや一般的です。
ID エンドポイントは、401 Unauthorized エラーを返す場合があります。 これは通常、クライアント ID やクライアント秘密鍵が無効であることが原因です。 HTTP レベルのエラーコード

応答コード
説明
コメント
413
リクエストエンティティが大きすぎます
ペイロードが 1 MB の制限を超えました。
414
リクエスト URI が長すぎます
リクエストの URI が 8 K を超えました。 リクエストは、URL にパラメーター `_method=GET` を含め、リクエストの本文に残りのクエリ文字列を含めて POST として再試行する必要があります。

応答レベルのエラー

応答レベルのエラーは、応答の success パラメーターが false に設定されている場合に発生し、次のように構造化されます。

{
    "requestId": "e42b#14272d07d78",
    "success": false,
    "errors": [
        {
            "code": "601",
            "message": "Unauthorized"
        }
    ]
}

"errors" 配列の各オブジェクトには、601 から 799 までの引用符で囲まれた整数である code と、エラーの理由をプレーンテキストで示す message の 2 つのメンバーがあります。 6xx コードは常に、リクエストが完全に失敗し、実行されなかったことを示します。 例えば、601「アクセストークンが無効です」があります。これは、再認証して新しいアクセストークンをリクエストに渡すことで復元できます。 7xx エラーは、データが返されなかったか、無効な日付が含まれている、必須パラメータが欠落しているなど、リクエストが誤ってパラメーター化されたことにより、リクエストが失敗したことを示します。

応答レベルのエラーコード

NOTE
この応答コードを返す API 呼び出しは、毎日の割り当て量やレート制限に対してカウントされません。
応答コード
説明
コメント
500
内部サーバーエラー
サーバーで予期しない条件が発生したため、リクエストを処理できませんでした。 Marketo内で、これには、不正な形式のREST API リクエスト URLが含まれる場合があります。
502
ゲートウェイが正しくありません
リモートサーバーがエラーを返しました。 タイムアウトの可能性があります。 リクエストは、指数バックオフで再試行する必要があります。
601*
アクセストークンが無効です
リクエストにアクセストークンパラメーターが含まれていましたが、値が有効なアクセストークンではありませんでした。
602*
アクセストークンの有効期限が切れました
呼び出しに含まれるアクセストークンは期限切れにより無効になりました。
603
アクセス拒否
認証は成功しましたが、このAPIを呼び出すための十分な権限がありません。 [追加の権限](custom-services.md)をユーザロールに割り当てる必要があるか、IP ベースの API アクセスの許可リストを有効にする必要がある場合があります。
604*
リクエストタイムアウト
リクエストの実行時間が長すぎたか(例:データベース競合が発生した)、呼び出しのヘッダーで指定されたタイムアウト期間を超えました。
605*
HTTP メソッドがサポートされていません
「リードを同期」エンドポイントでは、GET はサポートされていません。 POST を使用する必要があります。
606
「%s」秒以内に最大レート制限「%s」を超えました
過去 20 秒間の呼び出し回数が 100 を超えました
607
毎日の割り当て量に達しました
今日の呼び出し数がサブスクリプションの割り当て量を超えました(CST午前12時に毎日リセットされます)。>割り当て量は管理者/Web サービスメニューで確認できます。 アカウントマネージャーを通じて、割り当て量を増やすことができます。
608*
API は一時的に使用できません
609
無効な JSON
リクエストに含まれた本文が有効な JSON ではありません。
610
リクエストされたリソースがありません
呼び出しの URI が REST API リソースタイプと一致しませんでした。 多くの場合、リクエスト URI のスペルが正しくないか、形式が正しくないことが原因です
611*
システムエラー。
すべての未処理の例外
612
無効なコンテンツタイプ
このエラーが表示された場合は、JSON 形式を指定するコンテンツタイプヘッダーをリクエストに追加します。 例えば、「content type: application/json」を使用してみてください。 詳しくは、この StackOverflow の質問を参照してください。
613
無効な Multipart リクエスト
POST の multipart コンテンツの形式が正しくありませんでした
614
無効なサブスクリプション
宛先のサブスクリプションが見つからないか、アクセスできません。 このエラーは通常、一時的にアクセスできないことを示します。
615
同時アクセス制限に達しました
最大で、リクエストはサブスクリプションごとに一度に 10 個処理されます。 既に 10 個のリクエストが進行中の場合、このエラーが返されます。
616
無効なサブスクリプションタイプ
Custom Object Metadata API にアクセスするには、適切な Marketo サブスクリプションタイプが必要です。 詳しくは、CSM にお問い合わせください。
701
%s は空白にできません
リクエストでは、報告されたフィールドを空にすることはできません
702
指定された検索シナリオのデータが見つかりません
指定された検索パラメーターに一致するレコードはありません。 メモ:失敗した検索操作の多くは、「success = true」を返し、エラーは返さず、警告情報文字列を設定します。
703
この機能は、サブスクリプションでは有効になっていません
ユーザのサブスクリプションで有効になっていないベータ版機能
704
無効な日付フォーマット
  • 正しい形式でない日付が指定されました
  • 無効な動的コンテンツ ID が指定されました
709
ビジネスルール違反

テンプレートを使用せずにメールを作成しようとするなど、アセットの作成または更新の要件に違反しているので、呼び出しを実行できません。 また、次の操作を実行しようとした際にも、このエラーが発生する可能性があります。

  • ソーシャルコンテンツを含むランディングページのコンテンツを取得。
  • 特定のアセットタイプを含むプログラムを複製(詳しくは、プログラムの複製を参照してください)。
  • ドラフトのないアセット(つまり、既に承認済みのアセット)を承認。
710
親フォルダーが見つかりません
指定した親フォルダーが見つかりませんでした
711
互換性のないフォルダータイプ
指定されたフォルダーは、リクエストを満たすのに適切なタイプではありませんでした
712
個人取引先への結合操作が無効です
Salesforce 個人取引先であるリードを結合しようとしたことにより、「リードを結合」呼び出しが失敗しました。 Salesforce 個人取引先は、Salesforce で結合する必要があります。
713
一時的なエラー
API 呼び出し時に、システムリソースが一時的に使用できませんでした。 このエラーが発生した場合は、しばらく待ってからリクエストを再試行することをお勧めします。
714
デフォルトのレコードタイプが見つかりません
デフォルトのレコードタイプが見つからなかったことにより、「リードを結合」呼び出しが失敗しました。
718
ExternalSalesPersonID が見つかりません
存在しない「ExternalSalesPersonID」値を使用して、「商談を同期」呼び出しが行われました。
719
ロック待機タイムアウト例外
「プログラムを複製」呼び出しが行われ、ロックの待機中にタイムアウトになりました。

レコードレベル record_level_errors

レコードレベルのエラーは、個々のレコードに対する操作は完了できなかったが、リクエスト自体は有効であったことを示します。 レコードレベルのエラーを含む応答は、次のパターンに従います。

応答

{
   "requestId":"e42b#14272d07d78",
   "success":true,
   "result":[
      {
         "id":50,
         "status":"created"
      },
      {
         "id":51,
         "status":"created"
      },
      {
         "status":"skipped",
         "reasons":[
            {
               "code":"1005",
               "message":"Lead already exists"
            }
         ]
      }
   ]
}

呼び出しの結果配列に含まれるレコードは、リクエストの入力配列と同じ方法で順序付けられます。
成功したリクエストの各レコードは、個別に成功または失敗する可能性があります。この結果は、応答の結果配列に含まれる各レコードのステータスフィールドで示されます。 これらのレコードの "status" フィールドは "skipped" になり、"reasons" 配列が存在します。 各理由には、"code" メンバーと "message" メンバーが含まれます。 コードは常に 1xxx で、メッセージにはレコードがスキップされた理由が示されます。 例えば、「リードを同期」リクエストの"action" が "createOnly" に設定されているが、送信済みレコードのキーの 1 つに対してリードが既に存在する場合です。 この場合、コード 1005 が返され、上記のように「リードは既に存在します」というメッセージが表示されます。

レコードレベルのエラーコード

NOTE
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 7-row-3 8-row-3 9-row-3 10-row-3 11-row-3 12-row-3 13-row-3 14-row-3 15-row-3 16-row-3 17-row-3 18-row-3 19-row-3 20-row-3 21-row-3 22-row-3 23-row-3 24-row-3 25-row-3 26-row-3 27-row-3 28-row-3 29-row-3 30-row-3 31-row-3 32-row-3 33-row-3 34-row-3 35-row-3 36-row-3 37-row-3 html-authored no-header
応答コード 説明 コメント
1001 無効な値「%s」。 タイプ「%s」が必須です パラメーター値のタイプが一致しない場合は、エラーが生成されます。 例えば、整数パラメーターに指定された文字列値です。
1002 必須パラメーター「%s」の値がありません リクエストに必須パラメーターがない場合は、エラーが生成されます
1003 無効なデータ 送信済みのデータが、指定されたエンドポイントまたはモードに対して有効なタイプではない場合(アクションが createOnly として指定されたリードに対して ID が送信された場合や、バッチキャンペーンでリクエストキャンペーンを使用している場合など)。
1004 リードが見つかりません syncLead に対して、アクションが “updateOnly” で、リードが見つからない場合
1005 リードは既に存在します syncLead に対して、アクションが “createOnly” で、リードが既に存在している場合
1006 フィールド「%s」が見つかりません 呼び出しに含まれるフィールドは、有効なフィールドではありません。
1007 複数のリードがルックアップ条件に一致しています 複数のリードがルックアップ条件に一致しています。 更新は、キーが単一のレコードに一致する場合にのみ実行できます
1008 パーティション「%s」へのアクセスが拒否されました カスタムサービスのユーザには、レコードが存在するパーティションを持つワークスペースへのアクセス権がありません。
1009 パーティション名を指定する必要があります
1010 パーティションの更新は許可されていません 指定されたレコードは別のリードパーティションに既に存在します。
1011 フィールド「%s」はサポートされていません ルックアップフィールドまたは「filterType」がサポートされていない標準フィールド(例:firstName、lastName)で指定されている場合
1012 無効な cookie 値「%s」 「cookie」パラメーターに無効な値を指定して、リードを関連付けを呼び出した場合に発生する可能性があります。 このエラーは、「filterType=cookies」と、「filterValues」パラメーターの無効な値を使用して、フィルタータイプによるリードを取得を呼び出した場合にも発生します。
1013 オブジェクトが見つかりません 「ID によるオブジェクト(リスト、キャンペーン)を取得」で、このエラーコードが返されます
1014 オブジェクトを作成できませんでした オブジェクト(リスト)を作成できませんでした
1015 リードがリストにありません 指定されたリードは、ターゲットリストのメンバーではありません
1016 読み込みが多すぎます キューに入れられた読み込みが多すぎます。 最大 10 個まで許可されます
1017 オブジェクトは既に存在します レコードが既に存在するので、作成に失敗しました
1018 CRM が有効になっています インスタンスでネイティブ CRM 統合が有効になっているので、アクションを実行できませんでした。
1019 読み込み進行中 ターゲットリストは既に読み込まれています
1020 プログラムする複製が多すぎます サブスクリプションは、その日のスケジュールプログラムで割り当てられた「cloneToProgramName」の使用量に達しました
1021 会社の更新は許可されていません syncLead 中に会社の更新は許可されません
1022 オブジェクトが使用されています オブジェクトが別のオブジェクトで使用されている場合、削除は許可されません
1025 プログラムステータスが見つかりません 「リードのプログラムステータスを変更」に指定されたステータスは、プログラムのチャネルで使用可能なステータスと一致しませんでした。
1026 カスタムオブジェクトが有効になっていません インスタンスでカスタムオブジェクトの統合が有効になっていないので、アクションを実行できませんでした。
1027 最大アクティビティタイプ制限に達しました サブスクリプションは、使用可能なカスタムアクティビティタイプの最大数に達しました。
1028 最大フィールド制限に達しました カスタムアクティビティには、最大 20 個のセカンダリ属性を設定できます。
1029
  • キュー内のジョブが多すぎます
  • 書き出しの毎日の割り当て量を超えました
  • ジョブは既にキューに追加されています
  • サブスクリプションでは、一度にキュー内に最大 10 個の一括抽出ジョブが許可されます。
  • デフォルトでは、抽出ジョブは 1 日あたり 500 MB に制限されます(毎日午前 12:00 CST にリセットされます)。
  • 書き出しIDは既にキューに登録されています。
1035 サポートされていないフィルタータイプ 一部のサブスクリプションでは、updatedAt、smartListId、smartListName のリードの一括抽出フィルタータイプはサポートされていません。
1036 入力に重複したオブジェクトが見つかりました 同じ外部キーを使用して 2 つ以上のレコードを更新する呼び出しが行われました。 例えば、複数の会社に対して同じ externalCompanyId を使用する「会社を同期」呼び出しです。
1037 リードはスキップされました リードは、既にこのステータスにあるか、このステータスを過ぎているので、スキップされました。
1042 無効な runAt の日付 「キャンペーンをスケジュール」に指定した runAt の日付が将来の遠すぎる日付でした(最大 2 年)。
1048 カスタムオブジェクトの「ドラフトを破棄」に失敗しました カスタムオブジェクトのドラフトバージョンを破棄する呼び出しが実行されました。
1049 アクティビティを作成できませんでした 属性の配列が長すぎます。 レコードに渡された属性の配列が最大長の 65536 バイトを超えました
1076 mergeInCRM フラグを使用したリードを結合呼び出しは 4 です。 重複したレコードを作成しています。 代わりに既存のレコードを使用することをお勧めします。 これは、Salesforce で結合する際に Marketo が受信するエラーメッセージです。
1077 「SFDC フィールド」の長さが原因で、リードを結合呼び出しに失敗しました mergeInCRM が true に設定された「リードを結合」呼び出しは、「SFDC フィールド」が許可された文字数の制限を超えたので失敗しました。 修正するには、「SFDC フィールド」の長さを短くするか、mergeInCRM を false に設定します。
1078 リードを結合呼び出しは、削除されたエンティティ、リード/取引先責任者、またはフィールドフィルター条件が一致しないため失敗しました。 結合エラー。ネイティブに同期されたCRMで結合操作を実行できません これは、Salesforce で結合する際に Marketo が受信するエラーメッセージです。
1079 重複レコードのパーソナライズ URLの競合により、 リードの結合呼び出しが失敗しました 結合リード呼び出しは、同じパーソナライズされたURLを持つ多くのリードを指定しました。 この問題を解決するには、Marketo Engageのユーザーインターフェイスを使用して、これらのレコードを結合します。
recommendation-more-help
bb269a6d-047a-4bf7-9acd-23ad9a63dc59