Códigos de error

A continuación se muestran listas de códigos de error de API de REST y una explicación de cómo se devuelven los errores a las aplicaciones.

Gestión y registro de excepciones

Al desarrollar para Marketo, es importante que las solicitudes y respuestas se registren cuando se encuentre una excepción inesperada. Aunque algunos tipos de excepciones, como la autenticación caducada, se pueden controlar de forma segura mediante la reautenticación, otros pueden requerir interacciones de soporte, y las solicitudes y respuestas siempre se solicitarán en este escenario.

Tipos de error

La API de REST de Marketo puede devolver tres tipos diferentes de errores en funcionamiento normal:

  • Nivel HTTP: estos errores se indican mediante un código 4xx.
  • Response-Level: estos errores se incluyen en la matriz "errors" de la respuesta JSON.
  • Nivel de registro: estos errores se incluyen en la matriz "result" de la respuesta JSON y se indican en un registro individual con el campo "estado" y la matriz "motivos".

Para los tipos de error de nivel de respuesta y nivel de registro, se devuelve un código de estado HTTP de 200. Para todos los tipos de error, la frase de motivo HTTP no debe evaluarse porque es opcional y está sujeta a cambios.

Errores de nivel HTTP

En circunstancias normales de funcionamiento, Marketo solo debería devolver dos errores de código de estado HTTP, 413 Request Entity Too Large y 414 Request URI Too Long. Ambos se pueden recuperar detectando el error, modificando la solicitud y reintentando, pero con las prácticas de codificación inteligente, nunca debe encontrarlos en el comodín.

Marketo devolverá 413 si la carga de la solicitud supera 1 MB o 10 MB en el caso de la importación de posible cliente. En la mayoría de los casos, es poco probable que se alcancen estos límites, pero añadir una comprobación al tamaño de la solicitud y mover cualquier registro, lo que provoca que se supere el límite a una nueva solicitud, debe evitar cualquier circunstancia, que lleve a que este error sea devuelto por cualquier extremo.

414 se devolverá cuando el URI de una solicitud de GET exceda de 8 KB. Para evitarlo, compare la longitud de la cadena de consulta para ver si supera este límite. Si cambia la solicitud a un método POST, escriba la cadena de consulta como el cuerpo de la solicitud con el parámetro adicional _method=GET. Esto renuncia a la limitación de URI. Es raro alcanzar este límite en la mayoría de los casos, pero es algo común cuando se recuperan grandes lotes de registros con valores de filtro individuales largos, como un GUID.
El extremo Identity puede devolver un error 401 Unauthorized. Esto suele deberse a un ID de cliente no válido o a un secreto de cliente no válido. Códigos de error de nivel HTTP

Código de respuesta
Descripción
Comentario
413
Entidad de solicitud demasiado grande
La carga útil ha superado el límite de 1 MB.
414
URI de solicitud demasiado largo
El URI de la solicitud ha superado los 8 K. La solicitud debe volver a intentarse como POST con el parámetro `_method=GET` en la URL y el resto de la cadena de en el cuerpo de la solicitud.

Errores de nivel de respuesta

Los errores de nivel de respuesta están presentes cuando el parámetro success de la respuesta se establece en false y están estructurados de la siguiente manera:

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

Cada objeto de la matriz "errors" tiene dos miembros, code, que es un entero entre comillas comprendido entre 601 y 799 y un message que indica el motivo del error en texto sin formato. Los códigos 6xx siempre indican que una solicitud ha fallado completamente y no se ha ejecutado. Un ejemplo es un 601, "Token de acceso no válido", que se puede recuperar volviendo a autenticar y pasando el nuevo token de acceso con la solicitud. Los errores 7xx indican que la solicitud falló, ya sea porque no se devolvieron datos o porque se parametrizó incorrectamente la solicitud, como incluir una fecha no válida o faltar un parámetro requerido.

Códigos de error de nivel de respuesta

Una llamada de API que devuelva este código de respuesta no se contará en su cuota diaria o en su límite de tarifa.

Código de respuesta
Descripción
Comentario
502
Puerta de enlace incorrecta
El servidor remoto devolvió un error. Probablemente un tiempo de espera. La solicitud debe reintentarse con un retroceso exponencial.
601*
Token de acceso no válido
Se incluyó un parámetro de token de acceso en la solicitud, pero el valor no era un token de acceso válido.
602*
Token de acceso caducado
El token de acceso incluido en la llamada ya no es válido debido a la caducidad.
603
Acceso denegado
La autenticación se ha realizado correctamente, pero el usuario no tiene permisos suficientes para llamar a esta API. Es posible que se deban asignar [permisos adicionales](custom-services.md) a la función de usuario o que se habilite Lista de permitidos para el acceso a la API basada en IP.
604*
Tiempo de espera de solicitud
La solicitud se estaba ejecutando durante demasiado tiempo (por ejemplo, encontró contención en la base de datos) o excedió el período de tiempo de espera especificado en el encabezado de la llamada.
605*
Método HTTP no admitido
El punto de conexión de los posibles clientes de sincronización no admite GET. Se debe utilizar el POST.
606
Se ha superado el límite máximo de tasa "%s"; en "%s" segundos
El número de llamadas en los últimos 20 segundos fue superior a 100
607
Cuota diaria alcanzada
El número de llamadas hoy ha superado la cuota de la suscripción (se restablece diariamente a las 12:00 CST).>Su cuota se encuentra en el menú Administrador->Servicios Web. Puede aumentar su cuota a través de su administrador de cuentas.
608*
API temporalmente no disponible
609
JSON no válido
El cuerpo incluido en la solicitud no es un archivo JSON válido.
610
No se ha encontrado el recurso solicitado
El URI de la llamada no coincide con un tipo de recurso de API de REST. A menudo, esto se debe a que el URI de la solicitud está mal escrito o tiene un formato incorrecto
611*
Error del sistema
Todas las excepciones no gestionadas
612
Tipo de contenido no válido
Si ve este error, agregue un encabezado de tipo de contenido que especifique el formato JSON a su solicitud. Por ejemplo, intente utilizar "tipo de contenido: application/json". Consulte esta pregunta sobre StackOverflow para obtener más información.
613
Solicitud multiparte no válida
El contenido de varias partes del POST no tenía el formato correcto
614
Suscripción no válida
No se encuentra la suscripción de destino o no se puede acceder a ella. Esto suele indicar una inaccesibilidad temporal.
615
Límite de acceso simultáneo alcanzado
Como máximo, las solicitudes se procesan mediante cualquier suscripción de 10 a la vez. Se devuelve si ya hay 10 solicitudes en curso.
616
Tipo de suscripción no válido
Se requiere el tipo de suscripción de Marketo adecuado para acceder a la API de metadatos de objeto personalizado. Consulte con su CSM para obtener más información.
701
%s no puede estar en blanco
El campo del informe no debe estar vacío en la solicitud
702
No se han encontrado datos para un escenario de búsqueda determinado
Ningún registro coincide con los parámetros de búsqueda proporcionados. Nota: Muchas operaciones de búsqueda fallidas devuelven "success = true" y sin errores y establecen una cadena informativa de advertencias.
703
La función no está habilitada para la suscripción
Característica beta que no se ha habilitado en la suscripción de un usuario
704
Formato de fecha no válido
  • Se especificó una fecha que no tenía el formato correcto
  • Se ha especificado un ID de contenido dinámico no válido
709
Infracción de regla de negocio

No se puede cumplir la llamada porque infringe un requisito para crear o actualizar un recurso como, por ejemplo, intentar crear un mensaje de correo electrónico sin una plantilla. También es posible obtener este error al intentar lo siguiente:

  • Recupere contenido para páginas de aterrizaje que contengan contenido social.
  • Clonar un programa que contiene ciertos tipos de recursos (consulte Clonar programa para obtener más información).
  • Aprobar un recurso que no tenga borrador (es decir, que ya se haya aprobado).
710
Carpeta principal no encontrada
No se encontró la carpeta principal especificada
711
Tipo de carpeta incompatible
La carpeta especificada no era del tipo correcto para cumplir la solicitud
712
La operación de cuenta de fusión a persona no es válida
Error en una llamada de combinación de posibles clientes debido a un intento de combinar posibles clientes que son cuentas de persona de Salesforce. Las cuentas personales de Salesforce deben fusionarse en Salesforce.
713
Error transitorio
Un recurso del sistema no estaba disponible temporalmente en el momento de la llamada de API. Cuando se encuentra este error, se recomienda esperar un tiempo y luego volver a intentar la solicitud.
714
No se encuentra el tipo de registro predeterminado
Error en una llamada de combinación de posibles clientes porque no se pudo encontrar un tipo de registro predeterminado.
718
No se encontró ExternalSalesPersonID
Se realizó una llamada de oportunidades de sincronización con un valor ExternalSalesPersonID inexistente.
719
Excepción de tiempo de espera de bloqueo
Se realizó una llamada del programa de clonación y se agotó el tiempo de espera esperando un bloqueo.

Nivel de registro record_level_errors

Los errores de nivel de registro indican que no se pudo completar una operación para un registro individual, pero la solicitud en sí era válida. Una respuesta con errores en el nivel de registro sigue este patrón:

Respuesta

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

Los registros incluidos en la matriz de llamadas de resultado se ordenan del mismo modo que la matriz de entrada de una solicitud.
Cada registro de una solicitud correcta puede tener éxito o fallar de forma individual, lo que se indica mediante el campo de estado de cada registro incluido en la matriz de resultados de una respuesta. El campo "estado" de estos registros se "omitirá" y aparecerá una matriz "motivos". Cada motivo contiene un miembro "code" y un miembro "message". El código siempre es 1xxx y el mensaje indica por qué se omitió el registro. Un ejemplo sería cuando una solicitud de Sync Leads tiene "action" establecida en "createOnly" pero ya existe un posible cliente para una de las claves de los registros enviados. Este caso devuelve un código de 1005 y un mensaje de "El posible cliente ya existe" como se muestra arriba.

Códigos de error de nivel de registro

Código de respuesta
Descripción
Comentario
1001
Valor ‘%s’ no válido. Requerido de tipo ‘%s’
Se genera un error cada vez que un valor de parámetro tiene un tipo que no coincide. Por ejemplo, el valor de cadena especificado para un parámetro entero.
1002
Falta un valor para el parámetro obligatorio ‘%s’
Se genera un error cuando falta un parámetro requerido en la solicitud
1003
Datos no válidos
Cuando los datos enviados no son de un tipo válido para el punto de conexión o modo determinados; por ejemplo, cuando se envía el ID de un posible cliente con la acción designada como createOnly o cuando se utiliza Solicitar campaña en una campaña por lotes.
1004
No se encontró el lead
Para syncLead, cuando la acción es "updateOnly" y si no se encuentra el posible cliente
1005
El posible cliente ya existe
Para syncLead, cuando la acción es "createOnly" y si ya existe un posible cliente
1006
No se encontró el campo ‘%s’
Un campo incluido en la llamada de no es un campo válido.
1007
Varios posibles clientes coinciden con los criterios de búsqueda
Varios posibles clientes coinciden con los criterios de búsqueda. Las actualizaciones solo se pueden realizar cuando la clave coincida con un único registro
1008
Acceso denegado a la partición ‘%s’
El usuario del servicio personalizado no tiene acceso a un espacio de trabajo con la partición donde existe el registro.
1009
Se debe especificar el nombre de partición
1010
Actualización de partición no permitida
El registro especificado ya existe en una partición de posibles clientes independiente.
1011
No se admite el campo ‘%s’
Cuando se especifica un campo de búsqueda o filterType con campos estándar no admitidos (por ejemplo: firstName, lastName)
1012
Valor de cookie '%s' no válido
Se puede producir al llamar al posible cliente asociado con un valor no válido para el parámetro "cookie". Esto también ocurre al llamar a Obtener posibles clientes por tipo de filtro con "filterType=cookies" y un valor no válido para el parámetro "filterValues".
1013
Objeto no encontrado
Get object (list, campaign) by id devuelve este código de error
1014
Error al crear el objeto
Error al crear el objeto (lista)
1015
Posible cliente no en lista
El posible cliente designado no es miembro de la lista de destinatarios
1016
Demasiadas importaciones
Hay demasiadas importaciones en cola. Se permite un máximo de 10
1017
El objeto ya existe
Error de creación porque el registro ya existe
1018
CRM habilitado
No se pudo realizar la acción porque la instancia tiene habilitada una integración nativa de CRM.
1019
Importación en progreso
La lista de destinos ya se está importando en
1020
Demasiados clones para programar
La suscripción ha alcanzado el uso asignado de cloneToProgramName en el programa programado para el día
1021
Actualización de empresa no permitida
No se permite la actualización de empresa durante syncLead
1022
Objeto en uso
No se permite eliminar cuando otro objeto está utilizando un objeto
1025
Estado del programa no encontrado
Se ha especificado un estado para Cambiar el estado del programa de posibles clientes que no coincide con un estado disponible para el canal del programa.
1026
Objeto personalizado no habilitado
No se pudo realizar la acción porque la instancia no tiene habilitada la integración de objetos personalizados.
1027
Límite máximo de tipo de actividad alcanzado
La suscripción ha alcanzado el número máximo de tipos de actividades personalizadas disponibles.
1028
Límite máximo de campos alcanzado
Las actividades personalizadas tienen un máximo de 20 atributos secundarios.
1029
  • Demasiados trabajos en cola
  • Exportación de cuota diaria excedida
  • Las suscripciones pueden tener un máximo de 10 trabajos de extracción masiva en cola en un momento dado.
  • De forma predeterminada, los trabajos de extracción están limitados a 500 MB por día (se restablece diariamente a las 12:00 CST).
1035
Tipo de filtro no compatible
En algunas suscripciones no se admiten los siguientes tipos de filtros de extracción masiva de posibles clientes: updatedAt, smartListId, smartListName.
1036
Objeto duplicado encontrado en la entrada
Se realizó una llamada para actualizar dos o más registros con la misma clave externa. Por ejemplo, una llamada de empresas de sincronización que utiliza el mismo externalCompanyId para más de una empresa.
1037
Se omitió el posible cliente
Se omitió el posible cliente porque ya está en este estado o más allá de él.
1042
Fecha runAt no válida
La fecha runAt especificada para Schedule Campaign era demasiado lejana en el futuro (el máximo es de 2 años).
1048
Error al descartar el borrador del objeto personalizado
Se realizó una llamada para descartar la versión de borrador de un objeto personalizado.
1049
Error al crear la actividad
Matriz de atributos demasiado larga. La matriz de atributos pasada al registro superó la longitud máxima de 65536 bytes
1076
La llamada de Combinar posibles clientes con el indicador mergeInCRM es 4.
Está creando un registro duplicado. Se recomienda utilizar un registro existente en su lugar. Este es el mensaje de error que Marketo recibe al combinar en Salesforce.
1077
Error en la llamada de combinación de posibles clientes debido a la longitud del campo SFDC
Error en una llamada a MergeLeads con mergeInCRM establecido en true debido a que SFDC Field superaba el límite de caracteres permitidos. Para corregirlo, reduzca la longitud de SFDC Field o establezca mergeInCRM en false.
1078
Error en la llamada de combinación de posibles clientes debido a una entidad eliminada, no es un posible cliente/contacto o los criterios de filtro de campo no coinciden.
Error de combinación, no se puede realizar la operación de combinación en CRM sincronizado de forma nativa Este es el mensaje de error que Marketo recibe al combinar en Salesforce.
recommendation-more-help
bb269a6d-047a-4bf7-9acd-23ad9a63dc59