오류 코드
Marketo REST API는 HTTP, 응답 또는 레코드 수준에서 오류를 반환합니다. 이 페이지에서는 각 오류 유형에 대해 설명하고 관련 오류 코드를 나열합니다.
예외 처리 및 로깅
통합에서 예상치 못한 예외가 발생하면 요청 및 응답을 기록합니다. 만료된 인증과 같은 일부 예외는 재인증으로 처리할 수 있습니다. 다른 예외는 관련 요청 및 응답 세부 정보를 요청하는 지원 부서의 도움을 요청할 수 있습니다.
오류 유형
Marketo REST API는 일반 작업 중 세 가지 유형의 오류를 반환할 수 있습니다.
- HTTP 수준:(
4xx코드로 표시됨). - 응답 수준:이(가) JSON 응답의 “오류” 배열에 포함되었습니다.
- 레코드 수준: JSON 응답의 “result” 배열에 포함되고 “status” 필드와 “reasons” 배열로 각 레코드에 대해 표시됩니다.
응답 수준 및 레코드 수준 오류는 HTTP 상태 코드 200을 반환합니다. 모든 오류 유형의 경우 HTTP 이유 구는 선택 사항이며 변경될 수 있으므로 평가하지 마십시오.
HTTP 수준 오류
일반 작업 중에 Marketo에서 두 개의 HTTP 상태 코드 오류(413 Request Entity Too Large 및 414 Request URI Too Long)를 반환합니다. 오류를 복구하려면 요청을 수정하고 다시 시도하십시오. 제출하기 전에 요청 크기를 확인하여 이러한 오류를 방지할 수 있습니다.
Marketo은 요청 페이로드가 1MB 또는 리드 가져오기의 경우 10MB를 초과하면 413을 반환합니다. 제출하기 전에 요청 크기를 확인하십시오. 레코드로 인해 요청이 한도를 초과하는 경우 해당 레코드를 다른 요청으로 이동합니다.
Marketo은 GET 요청의 URI가 8KB를 초과하면 414를 반환합니다. 제출하기 전에 쿼리 문자열 길이를 확인하십시오. 한도를 초과하면 요청 메서드를 POST로 변경하고 쿼리 문자열을 요청 본문에 넣고 _method=GET 매개 변수를 추가합니다. 긴 URI는 GUID와 같이 필터 값이 긴 큰 레코드 배치를 검색할 때 가장 일반적입니다.
일반적으로 클라이언트 ID 또는 클라이언트 암호가 잘못되었기 때문에 ID 끝점이 401 Unauthorized 오류를 반환할 수 있습니다. 다음 표에는 HTTP 수준 오류 코드가 나와 있습니다.
응답 수준 오류
응답이 success 매개 변수를 false로 설정할 때 응답 수준 오류가 발생합니다. 다음 구조를 사용합니다.
{
"requestId": "e42b#14272d07d78",
"success": false,
"errors": [
{
"code": "601",
"message": "Unauthorized"
}
]
}
“오류” 배열의 각 객체에는 두 개의 멤버가 포함됩니다.
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"
}
]
}
]
}
결과 배열의 레코드는 요청 입력 배열의 레코드와 같은 순서로 나타납니다. 각 레코드는 상태 필드에 표시된 대로 독립적으로 성공하거나 실패할 수 있습니다.
실패한 레코드의 경우 “상태” 필드는 "건너뜀"이며 레코드에는 “원인” 배열이 포함됩니다. 각 이유에는 “code” 멤버와 “message” 멤버가 포함되어 있습니다. 코드는 항상 1xxx이며 메시지는 레코드가 생략된 이유를 설명합니다.
예를 들어, Sync Leads 요청에서 "action"을 "createOnly"로 설정하고 제출된 키 중 하나에 대한 리드가 이미 존재하는 경우 응답에서 위에 표시된 대로 코드 1005 및 “Lead already exists” 메시지를 반환합니다.
레코드 수준 오류 코드
| 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"이고 lead 를 찾을 수 없는 경우 |
| 1005 | 리드가 이미 있음 | syncLead 의 경우 작업이 "createOnly"이고 잠재 고객이 이미 있는 경우 |
| 1006 | '%s' 필드를 찾을 수 없습니다. | 호출에 포함된 필드가 올바른 필드가 아닙니다. |
| 1007 | 여러 잠재 고객이 조회 기준과 일치함 | 여러 잠재 고객이 조회 기준과 일치합니다. 키가 단일 레코드와 일치하는 경우에만 업데이트를 수행할 수 있습니다. |
| 1008 | '%s' 파티션에 대한 액세스가 거부되었습니다. | 사용자 정의 서비스의 사용자는 레코드가 존재하는 파티션이 있는 작업 영역에 액세스할 수 없습니다. |
| 1009 | 파티션 이름을 지정해야 합니다. | |
| 1010 | 파티션 업데이트가 허용되지 않음 | 지정한 레코드가 별도의 잠재 고객 파티션에 이미 있습니다. |
| 1011 | '%s' 필드는 지원되지 않습니다. | 조회 필드 또는 'filterType'이 지원되지 않는 표준 필드로 지정된 경우(예: firstName, lastName) |
| 1012 | 잘못된 쿠키 값 '%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 | 지원되지 않는 필터 유형 | 일부 구독에서는 updateAt, smartListId, smartListName과 같은 대량 리드 추출 필터 유형이 지원되지 않습니다. |
| 1036 | 입력에서 중복 개체가 발견되었습니다. | 동일한 외래 키를 사용하여 두 개 이상의 레코드를 업데이트하라는 호출이 발생했습니다. 예를 들어 동기화 회사는 둘 이상의 회사에 대해 동일한 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에서 수신하는 오류 메시지입니다. |
| 1079 | 중복 레코드의 개인화된 URL 충돌로 인해 리드 병합 호출이 실패했습니다. | 병합 리드 호출에서 동일한 개인화된 URL을 사용하는 여러 리드를 지정했습니다. 해결하려면 Marketo Engage 사용자 인터페이스를 사용하여 이러한 레코드를 병합합니다. |