错误代码

Marketo REST API在HTTP、响应或记录级别返回错误。 本页说明每种错误类型并列出相关的错误代码。

处理和记录异常

当集成遇到意外异常时,记录请求和响应。 某些异常(如过期的身份验证)可以通过重新身份验证来处理。 其他例外情况可能需要支持部门的帮助,他们将请求相关的请求和响应详细信息。

错误类型

Marketo REST API在正常操作期间可能会返回三种类型的错误:

  • HTTP级别:​由4xx代码指示。
  • 响应级别:​包含在JSON响应的“错误”数组中。
  • 记录级别:​包含在JSON响应的“result”数组中,并由“status”字段和“reasons”数组为每个记录指示。

响应级别和记录级别错误返回HTTP状态代码200。 对于所有错误类型,请勿评估HTTP原因短语,因为它是可选的且可能会发生更改。

HTTP级别错误

在正常操作期间,Marketo返回两个HTTP状态代码错误: 413 Request Entity Too Large414 Request URI Too Long。 要从任一错误中恢复,请修改请求并重试。 您可以在提交之前通过检查请求大小来避免这些错误。

当请求有效负载超过1MB时,Marketo会返回413,如果导入商机超过10MB,则会返回413。 在提交之前检查请求大小。 如果记录导致请求超出限制,请将这些记录移动到另一个请求。

当GET请求的URI超过8KB时,Marketo返回414。 在提交之前检查查询字符串长度。 如果超过限制,请将请求方法更改为POST,将查询字符串放入请求正文中,然后添加_method=GET参数。 长URI在检索具有较长过滤值(如GUID)的大型记录批次时最常见。

Identity终结点可能返回401 Unauthorized错误,通常是因为客户端ID或客户端密钥无效。 下表列出了HTTP级别的错误代码。

响应代码
描述
注释
413
请求实体太大
有效负载超出1MB限制。
414
请求URI过长
请求的URI超过了8k。 该请求应作为POST重试,在URL中包含param '_method=GET',其余查询字符串位于请求正文中。

响应级别错误

当响应将success参数设置为false时,会发生响应级别错误。 它们使用以下结构:

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

“errors”数组中的每个对象都包含两个成员:

  • code:引号为601到799的整数。
  • message:错误的纯文本原因。

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
已达到每日配额
今天的呼叫数超过了订阅的配额(每天凌晨12:00 CST重置)。>可以在“管理员” — >“Web服务”菜单中找到您的配额。 您可以通过帐户管理员增加配额。
608*
API暂时不可用
609
JSON无效
请求中包含的主体不是有效的JSON。
610
未找到请求的资源
调用中的URI与REST API资源类型不匹配。 这通常是由于URI拼写错误或格式错误所致
611*
系统错误
所有未处理的异常
612
内容类型无效
如果看到此错误,请向请求添加一个指定JSON格式的内容类型标头。 例如,尝试使用“content type: application/json”。 有关更多详细信息,请参阅此StackOverflow问题
613
无效的多部分请求
POST的多部分内容格式不正确
614
订阅无效
找不到目标订阅或目标订阅无法访问。 这通常表示暂时无法访问。
615
已达到并发访问限制
一次最多由任何订阅10处理请求。 如果已经有10个正在进行的请求,则会返回此项。
616
订阅类型无效
访问自定义对象元数据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"
            }
         ]
      }
   ]
}

结果数组中的记录与请求输入数组中的记录显示顺序相同。 每个记录都可以独立成功或失败,如其状态字段所示。

对于失败的记录,“状态”字段为“已跳过”,记录中包含“原因”数组。 每个原因都包含一个“代码”成员和一个“消息”成员。 代码始终为1xxx,该消息说明了跳过记录的原因。

例如,如果“同步销售线索”请求将“action”设置为“createOnly”,并且其中一个已提交的键已存在销售线索,则响应将返回代码1005,并返回消息“Lead already exists”,如上所示。

记录级错误代码

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”类型 每当参数值有类型不匹配时,就会生成错误。 例如,为integer参数指定的字符串值。
1002 缺少所需参数“%s”的值 请求中缺少所需的参数时会生成错误
1003 数据无效 提交的数据不是给定端点或模式的有效类型时;例如,通过指定为createOnly的操作提交商机的id时,或在批量营销活动中使用请求营销活动时。
1004 未找到潜在客户 对于syncLead,当操作为“updateOnly”且未找到潜在客户时
1005 潜在客户已存在 对于syncLead,当操作为“createOnly”并且商机已存在时
1006 找不到字段“%s” 调用中包含的字段不是有效字段。
1007 多个潜在客户符合查找条件 多个潜在客户符合查找条件。 仅当键与单个记录匹配时才能执行更新
1008 访问分区“%s”被拒绝 自定义服务的用户无权访问包含该记录所在分区的工作区。
1009 必须指定分区名称
1010 不允许分区更新 指定的记录已存在于单独的Lead分区中。
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个批量提取作业。
  • 默认情况下,提取作业限制为每天500 MB(CST凌晨12:00每日重置)。
  • 导出ID已排入队列。
1035 不支持的筛选器类型 在某些订阅中,不支持以下批量潜在客户提取过滤器类型: updatedAt、smartListId、smartListName。
1036 在输入中发现重复的对象 调用了使用相同的外键更新两个或多个记录。 例如,同步公司调用时对多个公司使用相同的externalCompanyId。
1037 已跳过潜在客户 已跳过潜在客户,因为它已经处于或超过此状态。
1042 运行日期无效 为计划营销活动指定的runAt日期太长了(最长为2年)。
1048 自定义对象放弃草稿失败 已进行调用以放弃自定义对象的草稿版本。
1049 创建活动失败 属性数组太长。 传递给记录的属性数组超过了65536字节的最大长度
1076 使用mergeInCRM标志的合并潜在客户调用为4。 您正在创建重复记录。建议您改用现有记录。 这是Marketo在Salesforce中合并时收到的错误消息。
1077 由于“SFDC字段”长度,合并潜在客户调用失败 由于“SFDC字段”超出允许的字符限制,mergeInCRM设置为true的合并潜在客户调用失败。 要更正此问题,请缩短“SFDC字段”的长度,或将mergeInCRM设置为false。
1078 合并潜在客户调用失败,因为实体已删除,不是潜在客户/联系人,或者字段筛选条件不匹配。 合并失败,无法在本地同步的CRM中执行合并操作 这是Marketo在Salesforce中合并时收到的错误消息。
1079 由于重复记录中存在个性化URL冲突,合并潜在客户调用失败 合并潜在客户调用指定了具有相同个性化URL的多个潜在客户。 要解决此问题,请使用Marketo Engage用户界面合并这些记录。
recommendation-more-help
marketo-developer-help