Códigos de erro

Abaixo estão listas de códigos de erro da API REST e uma explicação de como os erros são retornados aos aplicativos.

Tratando e Registrando Exceções

Ao desenvolver para o Marketo, é importante que as solicitações e respostas sejam registradas quando uma exceção inesperada for encontrada. Embora certos tipos de exceções, como autenticação expirada, possam ser manipulados com segurança por meio da reautenticação, outros podem exigir interações de suporte, e as solicitações e respostas sempre serão solicitadas nesse cenário.

Tipos de erro

A API REST do Marketo pode retornar três tipos diferentes de erros em operação normal:

  • Nível de HTTP: esses erros são indicados por um código 4xx.
  • Nível de resposta: esses erros são incluídos na matriz "erros" da resposta JSON.
  • Nível de registro: esses erros são incluídos na matriz "resultado" da resposta JSON e são indicados em uma base de registro individual com o campo "status" e a matriz "motivos".

Para os tipos de erro de Nível de resposta e Nível de registro, um código de status HTTP 200 é retornado. Para todos os tipos de erro, a frase de motivo HTTP não deve ser avaliada, pois é opcional e está sujeita a alterações.

Erros de nível de HTTP

Em circunstâncias normais de operação, o Marketo só deve retornar dois erros de código de status HTTP, 413 Request Entity Too Large e 414 Request URI Too Long. Ambos são recuperáveis ao capturar o erro, modificar a solicitação e tentar novamente, mas com práticas de codificação inteligente, você nunca deve encontrá-los na natureza.

O Marketo retornará 413 se a Carga da solicitação exceder 1 MB, ou 10 MB no caso de Lead de importação. Na maioria dos cenários, é improvável atingir esses limites, mas adicionar uma verificação ao tamanho da solicitação e mover quaisquer registros, o que faz com que o limite seja excedido para uma nova solicitação, deve evitar quaisquer circunstâncias, que levam a esse erro ser retornado por quaisquer pontos de extremidade.

414 serão retornados quando o URI de uma solicitação GET exceder 8KB. Para evitá-lo, verifique o comprimento da sua cadeia de caracteres de consulta para ver se ela excede esse limite. Se ele fizer com que sua solicitação seja alterada para um método POST, insira sua cadeia de caracteres de consulta como o corpo da solicitação com o parâmetro adicional _method=GET. Isso abre mão da limitação nos URIs. É raro atingir esse limite na maioria dos casos, mas é um pouco comum ao recuperar grandes lotes de registros com valores de filtro individuais longos, como uma GUID.
O ponto de extremidade Identidade pode retornar um erro 401 Não Autorizado. Normalmente, isso se deve a uma ID de cliente inválida ou a um Segredo do cliente inválido. Códigos de erro de nível HTTP

Código de resposta
Descrição
Comentário
413
Entidade de Solicitação Muito Grande
A carga excedeu o limite de 1 MB.
414
URI de solicitação muito longo
O URI da solicitação excedeu 8k. A solicitação deve ser repetida como um POST com o parâmetro `_method=GET` no URL e o restante da sequência de consulta no corpo da solicitação.

Erros de nível de resposta

Erros de nível de resposta estão presentes quando o parâmetro success da resposta é definido como false, e são estruturados como:

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

Cada objeto na matriz "errors" tem dois membros, code, que é um inteiro entre aspas de 601 a 799 e um message que fornece a razão do texto sem formatação para o erro. Os códigos 6xx sempre indicam que uma solicitação falhou completamente e não foi executada. Um exemplo é um 601, "Token de acesso inválido", que pode ser recuperado através da reautenticação e transmissão do novo token de acesso com a solicitação. Os erros 7xx indicam que a solicitação falhou, seja porque nenhum dado foi retornado ou porque a solicitação foi parametrizada incorretamente, como a inclusão de uma data inválida ou a ausência de um parâmetro obrigatório.

Códigos de erro de nível de resposta

Uma chamada de API que retorna esse código de resposta não é contabilizada em relação à sua cota diária ou ao seu limite de taxa.

Código de resposta
Descrição
Comentário
502
Gateway inválido
O servidor remoto retornou um erro. Provavelmente, um tempo limite. A solicitação deve ser repetida com o retrocesso exponencial.
601*
Token de acesso inválido
Um parâmetro de token de acesso foi incluído na solicitação, mas o valor não era um token de acesso válido.
602*
Token de acesso expirado
O token de acesso incluído na chamada não é mais válido devido à expiração.
603
Acesso negado
A autenticação foi bem-sucedida, mas o usuário não tem permissão suficiente para chamar essa API. Talvez seja necessário atribuir [permissões adicionais](custom-services.md) à função de usuário ou habilitar o Incluir na lista de permissões Acesso à API Baseada em IP.
604*
Tempo limite da solicitação
A solicitação estava em execução por muito tempo (por exemplo, encontrou contenção de banco de dados) ou excedeu o período de tempo limite especificado no cabeçalho da chamada.
605*
Método HTTP não suportado
Não há suporte para GET para o ponto de extremidade Sync Leads. POST deve ser usado.
606
Limite máximo de taxa `%s`; excedido com em `%s` segundos
O número de chamadas nos últimos 20 segundos foi maior que 100
607
Cota diária atingida
O número de chamadas hoje excedeu a cota da assinatura (é redefinido diariamente às 12h00 CST).>Sua cota pode ser encontrada no menu Admin->Serviços da Web. Você pode aumentar sua cota por meio do gerente da conta.
608*
API temporariamente indisponível
609
JSON inválido
O corpo incluído na solicitação não é um JSON válido.
610
Recurso solicitado não encontrado
O URI na chamada não correspondia a um tipo de recurso da API REST. Geralmente, isso se deve a um URI de solicitação com ortografia ou formatação incorreta
611 *
Erro do sistema
Todas as exceções não tratadas
612
Tipo de conteúdo inválido
Se você vir esse erro, adicione um cabeçalho de tipo de conteúdo especificando o formato JSON à solicitação. Por exemplo, tente usar "content type: application/json". Consulte esta pergunta sobre StackOverflow para obter mais detalhes.
613
Solicitação de várias partes inválida
O conteúdo multiparte do POST não foi formatado corretamente
614
Assinatura inválida
A assinatura de destino não pode ser encontrada ou está inacessível. Isso geralmente indica inacessibilidade temporária.
615
Limite de acesso simultâneo atingido
No máximo, as solicitações são processadas por qualquer assinatura 10 de cada vez. Isso é retornado se já houver 10 solicitações em andamento.
616
Tipo de assinatura inválido
O tipo apropriado de assinatura do Marketo é necessário para acessar a API de metadados de objeto personalizado. Consulte seu CSM para obter detalhes.
701
%s não pode ficar em branco
O campo relatado não deve estar vazio na solicitação
702
Nenhum dado encontrado para um determinado cenário de pesquisa
Nenhum registro correspondeu aos parâmetros de pesquisa fornecidos. Observação: muitas operações de pesquisa com falha retornam `success = true` e sem erros e definem uma cadeia informativa de avisos.
703
O recurso não está habilitado para a assinatura
Um recurso beta que não foi ativado na assinatura de um usuário
704
Formato de data inválido
  • Foi especificada uma data que não estava no formato correto
  • Uma ID de conteúdo dinâmico inválida foi especificada
709
Violação de Regra de Negócios

A chamada não pode ser atendida porque viola um requisito para criar ou atualizar um ativo, por exemplo, tentar criar um email sem um modelo. Também é possível obter esse erro ao tentar:

  • Recupere conteúdo para páginas de aterrissagem que contenham conteúdo social.
  • Clonar um programa que contenha determinados tipos de ativos (consulte Clonar programa para obter mais informações).
  • Aprovar um ativo que não tem rascunho (ou seja, já foi aprovado).
710
Pasta pai não encontrada
A pasta pai especificada não foi encontrada
711
Tipo de pasta incompatível
A pasta especificada não era do tipo correto para atender à solicitação
712
A operação de mesclagem para conta de pessoa é inválida
Uma chamada de Mesclagem de clientes potenciais falhou devido a uma tentativa de mesclar clientes potenciais que são Contas pessoais do Salesforce. As contas de pessoas do Salesforce devem ser mescladas no Salesforce.
713
Erro transitório
Um recurso do sistema estava temporariamente indisponível no momento da chamada à API. Quando esse erro é encontrado, é recomendável aguardar o tempo e tentar a solicitação novamente.
714
Não é possível localizar o tipo de registro padrão
Falha em uma chamada de Mesclagem de Clientes Potenciais porque não foi possível localizar um tipo de registro padrão.
718
ExternalSalesPersonID não encontrado
Uma chamada de Oportunidades de sincronização foi feita com um valor "ExternalSalesPersonID" inexistente.
719
Exceção de tempo limite de espera de bloqueio
Uma chamada de Programa de Clonagem foi feita e atingiu o tempo limite aguardando um bloqueio.

Nível de registro record_level_errors

Os erros no nível do registro indicam que não foi possível concluir uma operação para um registro individual, mas a própria solicitação era válida. Uma resposta com erros de nível de registro segue este padrão:

Resposta

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

Os registros incluídos na matriz de resultados das chamadas são ordenados da mesma forma que a matriz de entrada de uma solicitação.
Cada registro em uma solicitação bem-sucedida pode ter êxito ou falha individualmente, o que é indicado pelo campo de status de cada registro incluído na matriz de resultados de uma resposta. O campo "status" desses registros será "ignorado" e uma matriz "reason" estará presente. Cada motivo contém um membro "código" e um membro "mensagem". O código é sempre 1xxx e a mensagem indica por que o registro foi ignorado. Um exemplo seria quando uma solicitação Sincronizar clientes em potencial tem "ação" definida como "createOnly", mas já existe um cliente em potencial para uma das chaves nos registros enviados. Esse caso retorna um código 1005 e uma mensagem de "Lead já existe" conforme exibido acima.

Códigos de erro de nível de registro

Código de resposta
Descrição
Comentário
1001
Valor inválido ‘%s’. Obrigatório do tipo ‘%s’
O erro é gerado sempre que um valor de parâmetro tem uma incompatibilidade de tipo. Por exemplo, o valor da string especificado para um parâmetro inteiro.
1002
Valor ausente para o parâmetro obrigatório ‘%s’
O erro é gerado quando um parâmetro obrigatório está ausente na solicitação
1003
Dados inválidos
Quando os dados enviados não são de um tipo válido para o endpoint ou modo especificado, como quando a ID é enviada para um cliente potencial com a ação designada como createOnly ou ao usar a Campanha de solicitação em uma campanha em lote.
1004
Lead não encontrado
Para syncLead, quando a ação for "updateOnly" e se o lead não for encontrado
1005
O cliente em potencial já existe
Para syncLead, quando a ação for "createOnly" e um lead já existir
1006
Campo ‘%s’ não encontrado
Um campo incluído na chamada não é válido.
1007
Vários leads correspondem aos critérios de pesquisa
Vários clientes em potencial correspondem aos critérios de pesquisa. As atualizações só podem ser executadas quando a chave corresponde a um único registro
1008
Acesso negado à partição ‘%s’
O usuário do serviço personalizado não tem acesso a um espaço de trabalho com a partição em que o registro existe.
1009
O nome da partição deve ser especificado
1010
Atualização de partição não permitida
O registro especificado já existe em uma partição de cliente potencial separada.
1011
O campo ‘%s’ não é suportado
Quando o campo de pesquisa ou "filterType" é especificado com campos padrão sem suporte (por exemplo: firstName, lastName)
1012
Valor de cookie inválido ‘%s’
Pode ocorrer ao chamar o Associar lead com um valor inválido para o parâmetro de cookie. Isso também ocorre ao chamar Obter Clientes Potenciais por Tipo de Filtro com filterType=cookies e valor válido inválido para o parâmetro filterValues.
1013
Objeto não encontrado
Obter objeto (lista, campanha) por id retorna este código de erro
1014
Falha ao criar objeto
Falha ao criar objeto (lista)
1015
Cliente em potencial não está na lista
O cliente em potencial designado não é um membro da lista de público alvo
1016
Muitas importações
Há muitas importações na fila. Um máximo de 10 é permitido
1017
O objeto já existe
Falha na criação porque o registro já existe
1018
CRM Habilitado
A ação não pôde ser executada porque a instância tem uma integração nativa do CRM habilitada.
1019
Importação em andamento
A lista de destino já está sendo importada para
1020
Muitos clones para o programa
A assinatura atingiu o uso alocado de "cloneToProgramName" no Programa de agendamento para o dia
1021
Atualização de empresa não permitida
Atualização da empresa não permitida durante syncLead
1022
Objeto em uso
A exclusão não é permitida quando um objeto está em uso por outro objeto
1025
Status do programa não encontrado
Foi especificado um status para Alterar o status do programa de cliente potencial que não corresponde a um status disponível para o canal do programa.
1026
Objeto personalizado não habilitado
A ação não pôde ser executada, pois a instância não tem a integração de objetos personalizados habilitada.
1027
Limite máximo de tipos de atividade atingido
A assinatura atingiu o número máximo de tipos de atividades personalizadas disponíveis.
1028
Limite máximo de campos atingido
As atividades personalizadas têm no máximo 20 atributos secundários.
1029
  • Muitos trabalhos na fila
  • Exportação de cota diária excedida
  • As assinaturas podem ter no máximo 10 trabalhos de extração em massa na fila em um determinado momento.
  • Por padrão, os trabalhos de extração são limitados a 500 MB por dia (é redefinido diariamente às 12h00 CST).
1035
Tipo de filtro incompatível
Em algumas assinaturas, os seguintes tipos de filtro de Extração de lead em massa não são compatíveis: updatedAt, smartListId, smartListName.
1036
Objeto duplicado encontrado na entrada
Foi feita uma chamada para atualizar dois ou mais registros usando a mesma chave estrangeira. Por exemplo, uma chamada de Empresas de sincronização usando a mesma externalCompanyId para mais de uma empresa.
1037
O lead foi ignorado
O cliente em potencial foi ignorado porque já está neste status ou já passou dele.
1042
Data runAt inválida
A data runAt especificada para o Schedule Campaign estava muito distante no futuro (o máximo é 2 anos).
1048
Falha ao descartar rascunho de objeto personalizado
Foi feita uma chamada para descartar a versão de rascunho de um objeto personalizado.
1049
Falha ao criar atividade
Matriz de atributos muito longa. A matriz de atributos passada para o registro excedeu o comprimento máximo de 65.536 bytes
1076
A chamada Mesclar clientes em potencial com o sinalizador mergeInCRM é 4.
Você está criando um registro duplicado. É recomendável usar um registro existente. Esta é a mensagem de erro que o Marketo recebe ao mesclar no Salesforce.
1077
A chamada Mesclar clientes em potencial falhou devido ao comprimento do 'Campo SFDC'
Uma chamada de Mesclagem de clientes em potencial com mergeInCRM definido como verdadeiro falhou porque o "Campo SFDC" excede o limite de caracteres permitidos. Para corrigir, reduza o comprimento de "SFDC Field" ou defina mergeInCRM como false.
1078
A chamada Mesclar clientes em potencial falhou devido à entidade excluída, não a um cliente potencial/contato ou a critérios de filtro de campo não correspondem.
Falha na mesclagem; não é possível executar a operação de mesclagem no CRM sincronizado nativamente Esta é a mensagem de erro que o Marketo recebe ao mesclar no Salesforce.
recommendation-more-help
bb269a6d-047a-4bf7-9acd-23ad9a63dc59