エラーコード

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

例外の処理とログ

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

エラータイプ

Marketo REST API は、通常の操作で次の 3 種類のエラーを返す場合があります。

  • HTTP レベル:これらのエラーは 4xx コードで示されます。
  • 応答レベル:これらのエラーは、JSON 応答の「errors」配列に含まれます。
  • レコードレベル:これらのエラーは JSON 応答の「結果」配列に含まれ、「ステータス」フィールドと「理由」配列を使用して、個々のレコードごとに示されます。

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

HTTP レベルのエラー

通常の操作環境では、Marketoは、2 つの HTTP ステータスコードエラー(413 Request Entity Too Large414 Request URI Too Long)のみを返す必要があります。 これらは、エラーをキャッチし、リクエストを変更して再試行することで復元できますが、スマートコーディングの手法を使用すると、野生で発生することはありません。

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

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

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

応答レベルのエラー

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

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

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

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

この応答コードを返す API 呼び出しは、毎日の割り当てまたはレート制限に対してカウントされません。

応答コード
説明
コメント
502
ゲートウェイが正しくありません
リモート サーバーがエラーを返しました。 おそらくタイムアウトです。 リクエストは、指数バックオフで再試行する必要があります。
601*
アクセストークンが無効です
アクセス トークン パラメーターが要求に含まれていましたが、値は有効なアクセス トークンではありませんでした。
602*
アクセストークンの有効期限が切れました
呼び出しに含まれているアクセストークンは、有効期限が切れているので無効になりました。
603
アクセス拒否
認証は成功しましたが、ユーザーにこの API を呼び出すのに十分な権限がありません。 [Additional permissions] (custom-services.md)を user role に割り当てる必要がある場合や、IP ベースの API アクセスの許可リスト を有効にする場合があります。
604*
リクエストのタイムアウト
リクエストの実行時間が長すぎた(データベース競合が発生した場合など)か、呼び出しのヘッダーで指定されているタイムアウト期間を超えました。
605*
HTTP メソッドがサポートされていません
同期リードエンドポイントのGETはサポートされていません。 POSTを使用する必要があります。
606
最大レート制限'%s'を超えました('%s'秒)
過去 20 秒間の呼び出し数が 100 を超えています
607
毎日の割り当てに達しました
今日の呼び出し数がサブスクリプションのクォータを超えました(毎日午前 0 時にリセットされます)。割り当て量は、管理者/Web サービス メニューで確認できます。 割り当て量は、アカウントマネージャーから増やすことができます。
608*
API は一時的に使用できません
609
JSON が無効です
リクエストに含まれた本文が有効な JSON ではありません。
610
リクエストされたリソースが見つかりません
呼び出しの URI が REST API リソースタイプと一致しませんでした。 これは、多くの場合、スペルが正しくないか、形式が正しくないリクエスト URI が原因です
611*
システムエラー。
すべての未処理の例外
612
無効なコンテンツタイプ
このエラーが表示された場合は、JSON 形式を指定するコンテンツタイプヘッダーをリクエストに追加します。 例えば、「コンテンツタイプ:application/json」を使用してみてください。 詳しくは、この StackOverflow の質問を参照してください
613
無効な Multipart リクエスト
POSTのマルチパートコンテンツの形式が正しくありませんでした
614
無効なサブスクリプション
宛先サブスクリプションが見つからないか、アクセスできません。 これは通常、一時的にアクセスできないことを示します。
615
同時アクセス制限に達しました
最大で、リクエストは一度に任意のサブスクリプション 10 で処理されます。 これは、進行中のリクエストが既に 10 個ある場合に返されます。
616
無効なサブスクリプションタイプ
カスタムオブジェクトメタデータ API にアクセスするには、適切なMarketo購読タイプが必要です。 詳細については、CSM に問い合わせてください。
701
%s は空白にできません
リクエストでは、レポートされたフィールドを空にすることはできません
702
指定された検索シナリオのデータが見つかりません
指定された検索パラメーターに一致するレコードがありません。 メモ:失敗した検索操作の多くは、「成功= 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"
            }
         ]
      }
   ]
}

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

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

応答コード
説明
コメント
1001
無効な値'%s'です。 型'%s'の必須
パラメーター値のタイプが一致しない場合は必ずエラーが生成されます。 例えば、整数パラメーターには文字列値を指定します。
1002
必要なパラメーター'%s'の値がありません
必須パラメーターがリクエストにない場合はエラーが生成されます
1003
無効なデータ
送信されたデータが特定のエンドポイントまたはモードで有効なタイプでない場合(アクションが createOnly に指定されているリードに対して ID が送信された場合や、バッチキャンペーンでリクエストキャンペーンを使用している場合など)。
1004
リードが見つかりません
syncLead の場合、アクションが「updateOnly」で、リードが見つからない場合
1005
リードは既に存在します
syncLead の場合、アクションが「createOnly」で、リードが既に存在する場合
1006
フィールド '%s'が見つかりません
呼び出しに含めたフィールドが有効なフィールドではありません。
1007
複数のリードが検索条件に一致する
複数のリードがルックアップ条件に一致します。 更新は、キーが 1 つのレコードに一致する場合にのみ実行できます
1008
パーティション '%s'へのアクセスが拒否されました
カスタム サービスのユーザーには、レコードが存在するパーティションを持つワークスペースへのアクセス権がありません。
1009
パーティション名を指定してください
1010
パーティションの更新は許可されていません
指定されたレコードは別のリード パーティションに既に存在します。
1011
フィールド '%s'はサポートされていません
サポートされていない標準フィールド (例:firstName、lastName)で指定された参照フィールドまたは「filterType」の場合
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 に制限されています(毎日午前 0 時(CST)にリセットされます)。
1035
サポートされていないフィルタータイプ
一部の購読では、updatedAt、smartListId、smartListName の一括リード抽出フィルタータイプがサポートされていません。
1036
入力に重複したオブジェクトがあります
同じ外部キーを使用して 2 つ以上のレコードを更新する呼び出しが実行されました。 例えば、複数の会社に対して同じ externalCompanyId を使用して「会社を同期」を呼び出すとします。
1037
リードはスキップされました
このリードは、既にこのステータスに含まれているか、またはこのステータスを超えているので、スキップされました。
1042
runAt の日付が無効です
キャンペーンのスケジュールに指定した runAt の日付が未来より後になっています(最大で 2 年)。
1048
カスタム オブジェクトのドラフトの破棄に失敗しました
カスタムオブジェクトのドラフトバージョンを破棄する呼び出しが実行されました。
1049
アクティビティを作成できませんでした
属性の配列が長すぎます。 レコードに渡された属性の配列が最大長の 65536 バイトを超えています
1076
mergeInCRM フラグを使用した リードの結合呼び出しは 4 です。
重複するレコードを作成しています。 代わりに、既存のレコードを使用することをお勧めします。 これは、Salesforceで結合する際にMarketoが受け取るエラーメッセージです。
1077
「SFDCフィールド」の長さが原因で、 リードを結合呼び出しが失敗しました
「SFDCフィールド」が許可されている上限の文字を超えているので、mergeInCRM を true に設定したリードの結合呼び出しが失敗しました。 修正するには、「SFDC フィールド」の長さを短くするか、mergeInCRM を false に設定します。
1078
リードを結合リード/連絡先ではなく、エンティティが削除されたか、フィールドのフィルター条件が一致しないため、呼び出しに失敗しました。
結合エラー。ネイティブに同期された CRM で結合操作を実行できません これは、Salesforceで結合する際にMarketoが受け取るエラーメッセージです。
recommendation-more-help
bb269a6d-047a-4bf7-9acd-23ad9a63dc59