エラーコード
Marketo REST APIは、HTTP、レスポンス、またはレコードレベルでエラーを返します。 このページでは、各エラータイプについて説明し、関連するエラーコードを一覧表示します。
例外の処理とログ
統合で予期しない例外が発生した場合に、リクエストと応答をログに記録します。 期限切れの認証など、一部の例外は、再認証によって処理できます。 その他の例外は、関連するリクエストと応答の詳細をリクエストするサポートからの支援を必要とする場合があります。
エラータイプ
Marketo REST APIは、通常の操作中に3種類のエラーを返すことができます。
- HTTP レベル:が
4xxコードで示されています。 - 応答レベル: JSON応答の「errors」配列に含まれています。
- レコードレベル: JSON応答の「result」配列に含まれ、「status」フィールドと「reasons」配列で各レコードに示されます。
レスポンスレベルおよびレコードレベルのエラーは、HTTP ステータスコード 200を返します。 すべてのエラータイプについて、HTTP理由フレーズはオプションであり、変更される可能性があるため、評価しないでください。
HTTP レベルのエラー
通常の操作中に、Marketoは2つのHTTP ステータスコードエラー(413 Request Entity Too Largeと414 Request URI Too Long)を返します。 いずれかのエラーから回復するには、リクエストを変更して再試行してください。 送信前にリクエストサイズを確認することで、これらのエラーを防ぐことができます。
Marketoは、リクエストペイロードが1 MBを超えた場合は413を返し、リードの読み込みでは10 MBを返します。 送信前にリクエストサイズを確認してください。 レコードによってリクエストが制限を超える場合は、それらのレコードを別のリクエストに移動します。
GET リクエストのURIが8 KBを超えると、Marketoは414を返します。 送信前にクエリ文字列の長さを確認してください。 制限を超えた場合は、リクエストメソッドをPOSTに変更し、クエリ文字列をリクエスト本文に配置して、_method=GET パラメーターを追加します。 長いURIは、GUIDなどの長いフィルター値を持つ大きなレコードバッチを取得する場合に最も一般的です。
ID エンドポイントは、通常、クライアント IDまたはクライアント シークレットが無効であるため、401 Unauthorized エラーを返す可能性があります。 次の表に、HTTP レベルのエラーコードを示します。
応答レベルのエラー
応答がsuccess パラメーターをfalseに設定すると、応答レベルのエラーが発生します。 次の構造を使用します。
{
"requestId": "e42b#14272d07d78",
"success": false,
"errors": [
{
"code": "601",
"message": "Unauthorized"
}
]
}
「errors」配列内の各オブジェクトには、次の2つのメンバーが含まれます。
code: 601から799までの引用符で囲まれた整数。message: エラーのプレーンテキストの理由。
6xx コードは、リクエスト全体が失敗し、実行されなかったことを示します。 例えば、新しいアクセストークンをリクエストに再認証して渡すことで、601 「アクセストークンが無効」エラーから回復します。
7xx コードは、データが返されなかったか、要求パラメーターが無効であったために、要求が失敗したことを示します。 原因には、無効な日付または必須パラメーターが欠落していることが含まれます。
応答レベルのエラーコード
テンプレートなしで電子メールを作成しようとするなど、アセットを作成または更新する要件に違反しているため、呼び出しを実行できません。次の操作を行おうとすると、このエラーが表示される場合もあります。
- ソーシャルコンテンツを含むランディングページのコンテンツを取得。
- 特定のアセットタイプを含むプログラムを複製(詳しくは、プログラムの複製を参照してください)。
- ドラフトのないアセット(つまり、既に承認済みのアセット)を承認。
レコードレベル 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"
}
]
}
]
}
結果配列内のレコードは、リクエスト入力配列内のレコードと同じ順序で表示されます。 各レコードは、ステータスフィールドで示すように、独立して成功または失敗する可能性があります。
失敗したレコードの場合、「ステータス」フィールドは「スキップ」され、レコードには「reasons」配列が含まれます。 各理由には、「コード」メンバーと「メッセージ」メンバーが含まれます。 コードは常に1xxxで、メッセージはレコードがスキップされた理由を説明します。
例えば、「リードを同期」リクエストが「action」を「createOnly」に設定し、送信されたキーの1つにリードが既に存在する場合、応答はコード 1005を返し、「リードは既に存在します」というメッセージを上に示します。
レコードレベルのエラーコード
| 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 |
|
|
| 1035 | サポートされていないフィルタータイプ | 一部のサブスクリプションでは、updatedAt、smartListId、smartListName のリードの一括抽出フィルタータイプはサポートされていません。 |
| 1036 | 入力に重複したオブジェクトが見つかりました | 同じ外部キーを使用して 2 つ以上のレコードを更新する呼び出しが行われました。 例えば、複数の会社に対して同じ externalCompanyId を使用する「会社を同期」呼び出しです。 |
| 1037 | リードはスキップされました | リードは、既にこのステータスにあるか、このステータスを過ぎているので、スキップされました。 |
| 1042 | 無効な runAt の日付 | 「キャンペーンをスケジュール」に指定した runAt の日付が将来の遠すぎる日付でした(最大 2 年)。 |
| 1048 | カスタムオブジェクトの「ドラフトを破棄」に失敗しました | カスタムオブジェクトのドラフトバージョンを破棄する呼び出しが実行されました。 |
| 1049 | アクティビティを作成できませんでした | 属性配列が長すぎます。 レコードに渡された属性の配列が、65536 バイトの最大長を超えています |
| 1076 | mergeInCRM フラグを使用したリードを結合呼び出しは 4 です。 | 重複したレコードを作成しています。代わりに、既存のレコードを使用することをお勧めします。 これは、MarketoがSalesforceで結合する際に受け取るエラーメッセージです。 |
| 1077 | 「SFDC フィールド」の長さが原因で、リードを結合呼び出しに失敗しました | mergeInCRM が true に設定された「リードを結合」呼び出しは、「SFDC フィールド」が許可された文字数の制限を超えたので失敗しました。 修正するには、「SFDC フィールド」の長さを短くするか、mergeInCRM を false に設定します。 |
| 1078 | リードを結合呼び出しは、削除されたエンティティ、リード/取引先責任者、またはフィールドフィルター条件が一致しないため失敗しました。 | 結合エラー。ネイティブに同期されたCRMで結合操作を実行できません これは、Salesforce で結合する際に Marketo が受信するエラーメッセージです。 |
| 1079 | 重複レコードのパーソナライズ URLの競合により、 リードの結合呼び出しが失敗しました | 結合リード呼び出しは、同じパーソナライズされたURLを持つ多くのリードを指定しました。 この問題を解決するには、Marketo Engageのユーザーインターフェイスを使用して、これらのレコードを結合します。 |