Codici errore

Di seguito sono riportati gli elenchi dei codici di errore REST API e una spiegazione di come gli errori vengono restituiti alle applicazioni.

Gestione e registrazione delle eccezioni

Durante lo sviluppo per Marketo, è importante che le richieste e le risposte vengano registrate quando si verifica un’eccezione imprevista. Mentre alcuni tipi di eccezioni, ad esempio l’autenticazione scaduta, possono essere gestiti in modo sicuro tramite la riautenticazione, altri possono richiedere interazioni di supporto e in questo caso le richieste e le risposte verranno sempre richieste.

Tipi di errore

L’API REST di Marketo può restituire tre diversi tipi di errori in condizioni operative normali:

  • Livello HTTP: questi errori sono indicati da un codice 4xx.
  • Response-Level: questi errori sono inclusi nell’array "errors" della risposta JSON.
  • Record-Level: questi errori sono inclusi nell’array "result" della risposta JSON e sono indicati su base record individuale con il campo "status" e l’array "reason".

Per i tipi di errore a livello di risposta e di record, viene restituito il codice di stato HTTP 200. Per tutti i tipi di errore, la frase relativa al motivo HTTP non deve essere valutata in quanto è facoltativa e soggetta a modifiche.

Errori a livello HTTP

In circostanze operative normali, Marketo dovrebbe restituire solo due errori del codice di stato HTTP, 413 Request Entity Too Large e 414 Request URI Too Long. Entrambi possono essere recuperati recuperando l’errore, modificando la richiesta e riprovando, ma con le pratiche di codifica intelligente non dovresti mai incontrarli in modo selvaggio.

Marketo restituirà 413 se il payload della richiesta supera 1 MB, o 10 MB in caso di lead di importazione. Nella maggior parte degli scenari è improbabile che questi limiti vengano raggiunti, ma l’aggiunta di un controllo alle dimensioni della richiesta e lo spostamento di eventuali record, che causano il superamento del limite a una nuova richiesta, dovrebbe evitare qualsiasi circostanza che porti alla restituzione di questo errore da parte di qualsiasi endpoint.

414 verrà restituito quando l’URI di una richiesta GET supera gli 8 KB. Per evitarlo, confrontalo con la lunghezza della stringa di query per vedere se supera questo limite. Se la richiesta viene modificata in un metodo POST, immettere la stringa di query come corpo della richiesta con il parametro aggiuntivo _method=GET. In questo modo viene superata la limitazione sugli URI. È raro che questo limite venga raggiunto nella maggior parte dei casi, ma è piuttosto comune quando si recuperano grandi batch di record con valori di filtro singoli lunghi, ad esempio un GUID.
L'endpoint Identity può restituire un errore 401 Unauthorized. Ciò è in genere dovuto a un ID client non valido o a un segreto client non valido. Codici di errore a livello HTTP

Codice di risposta
Descrizione
Commento
413
Entità richiesta troppo grande
Il payload ha superato il limite di 1 MB.
414
URI richiesta troppo lungo
L’URI della richiesta ha superato gli 8k. La richiesta deve essere ritentata come POST con il parametro `_method=GET` nell’URL e il resto della stringa di query nel corpo della richiesta.

Errori a livello di risposta

Gli errori a livello di risposta sono presenti quando il parametro success della risposta è impostato su false e sono strutturati nel modo seguente:

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

Ogni oggetto nell'array "errors" ha due membri, code, che è un numero intero tra 601 e 799 e un message che fornisce il motivo plaintext dell'errore. I codici 6xx indicano sempre che una richiesta non è riuscita completamente e non è stata eseguita. Un esempio è un 601, "Token di accesso non valido", che è recuperabile autenticando nuovamente e passando il nuovo token di accesso con la richiesta. Gli errori 7xx indicano che la richiesta non è riuscita perché non sono stati restituiti dati o perché la richiesta non era parametrizzata correttamente, ad esempio includendo una data non valida o mancando un parametro obbligatorio.

Codici di errore a livello di risposta

Una chiamata API che restituisce questo codice di risposta non viene conteggiata rispetto alla quota giornaliera o al limite di tariffa.

Codice di risposta
Descrizione
Commento
502
Gateway non valido
Errore restituito dal server remoto. Probabile timeout. La richiesta deve essere ritentata con un backoff esponenziale.
601*
Token di accesso non valido
Nella richiesta è stato incluso un parametro Token di accesso, ma il valore non era un token di accesso valido.
602*
Token di accesso scaduto
Il token di accesso incluso nella chiamata non è più valido a causa della scadenza.
603
Accesso negato
L’autenticazione è riuscita, ma l’utente non dispone di autorizzazioni sufficienti per chiamare questa API. [Autorizzazioni aggiuntive](custom-services.md) potrebbero dover essere assegnate al ruolo utente, oppure il Inserisco nell'elenco Consentiti per l'accesso API basato su IP potrebbe essere abilitato.
604*
Timeout della richiesta
La richiesta era in esecuzione da troppo tempo (ad esempio, si sono verificati conflitti nel database) o superava il periodo di timeout specificato nell’intestazione della chiamata.
605*
Metodo HTTP non supportato
GET non è supportato per l’endpoint di sincronizzazione dei lead. È necessario utilizzare POST.
606
Limite di velocità massimo "%s"; superato con in "%s" sec
Il numero di chiamate negli ultimi 20 secondi è stato superiore a 100
607
Quota giornaliera raggiunta
Il numero di chiamate di oggi ha superato la quota dell’abbonamento (viene ripristinato ogni giorno alle 00:00 CST).>La quota si trova nel menu Admin->Web Services. Puoi aumentare la tua quota tramite il tuo account manager.
608*
API temporaneamente non disponibile
609
JSON non valido
Il corpo incluso nella richiesta non è un JSON valido.
610
Risorsa richiesta non trovata
L’URI nella chiamata non corrisponde a un tipo di risorsa API REST. Ciò è spesso dovuto a un URI di richiesta scritto in modo errato o formattato in modo errato
611*
Errore di sistema
Tutte le eccezioni non gestite
612
Tipo di contenuto non valido
Se visualizzi questo errore, aggiungi alla richiesta un’intestazione di tipo di contenuto che specifica il formato JSON. Ad esempio, prova a utilizzare "content type: application/json". Per ulteriori dettagli, vedere la domanda StackOverflow.
613
Richiesta multipart non valida
Il contenuto multipart del POST non è stato formattato correttamente
614
Sottoscrizione non valida
Impossibile trovare la sottoscrizione di destinazione oppure la sottoscrizione non è raggiungibile. Questo in genere indica un’inaccessibilità temporanea.
615
Limite di accesso simultaneo raggiunto
Al massimo, le richieste vengono elaborate da qualsiasi abbonamento 10 alla volta. Viene restituito se sono già presenti 10 richieste in corso.
616
Tipo di sottoscrizione non valido
Per accedere all’API dei metadati dell’oggetto personalizzato è necessario il tipo di abbonamento Marketo appropriato. Per informazioni, consulta il tuo CSM.
701
%s non può essere vuoto
Il campo segnalato nella richiesta non può essere vuoto
702
Nessun dato trovato per un dato scenario di ricerca
Nessun record corrisponde ai parametri di ricerca specificati. Nota: molte operazioni di ricerca non riuscite restituiscono "success = true" e nessun errore e impostano una stringa informativa di avvisi.
703
La funzione non è abilitata per la sottoscrizione
Funzione beta non abilitata in nell’abbonamento di un utente
704
Formato data non valido
  • È stata specificata una data con formato non corretto
  • È stato specificato un ID di contenuto dinamico non valido
709
Violazione di una regola business

La chiamata non può essere soddisfatta perché viola il requisito di creare o aggiornare una risorsa, ad esempio se si tenta di creare un messaggio e-mail senza un modello. È inoltre possibile ricevere questo errore quando si tenta di:

  • Recupera il contenuto per le pagine di destinazione che contengono contenuti social.
  • Clona un programma che contiene alcuni tipi di risorse (vedi Clone programma per ulteriori informazioni).
  • Approva una risorsa senza bozza (cioè che è già stata approvata).
710
Cartella padre non trovata
Impossibile trovare la cartella principale specificata
711
Tipo di cartella non compatibile
La cartella specificata non è del tipo corretto per soddisfare la richiesta
712
Operazione di unione a persona Account non valida
Chiamata Unisci lead non riuscita a causa di un tentativo di unione di lead che sono account persona Salesforce. Gli account persona Salesforce devono essere uniti in Salesforce.
713
Errore transitorio
Al momento della chiamata API una risorsa di sistema non era temporaneamente disponibile. Quando si verifica questo errore, si consiglia di attendere e riprovare la richiesta.
714
Impossibile trovare il tipo di record predefinito
Chiamata di unione lead non riuscita. Impossibile trovare un tipo di record predefinito.
718
ExternalSalesPersonID non trovato
È stata effettuata una chiamata Sync Opportunities con un valore "ExternalSalesPersonID" inesistente.
719
Eccezione di timeout di attesa del blocco
È stata effettuata una chiamata al programma Clone ed è stato eseguito il timeout in attesa di un blocco.

Record-Level record_level_errors

Gli errori a livello di record indicano che non è stato possibile completare un'operazione per un singolo record, ma la richiesta stessa era valida. Una risposta con errori a livello di record segue questo schema:

Risposta

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

I record inclusi nell’array di risultati delle chiamate vengono ordinati nello stesso modo dell’array di input di una richiesta.
Ogni record in una richiesta corretta può avere esito positivo o negativo su base individuale, indicato dal campo di stato di ogni record incluso nella matrice dei risultati di una risposta. Il campo "status" di questi record verrà "ignorato" ed è presente un array "reason". Ogni motivo contiene un membro "code" e un membro "message". Il codice è sempre 1xxx e il messaggio indica il motivo per cui il record è stato ignorato. Un esempio potrebbe essere un caso in cui una richiesta di sincronizzazione dei lead ha "action" impostato su "createOnly", ma esiste già un lead per una delle chiavi nei record inviati. Questo caso restituisce il codice 1005 e un messaggio di "Lead esiste già" come mostrato sopra.

Codici di errore a livello di record

Codice di risposta
Descrizione
Commento
1001
Valore '%s' non valido. Richiesto di tipo "%s"
Viene generato un errore ogni volta che un valore di parametro presenta un tipo non corrispondente. Ad esempio, il valore stringa specificato per un parametro intero.
1002
Valore mancante per il parametro obbligatorio '%s'
Viene generato un errore quando manca un parametro obbligatorio nella richiesta
1003
Dati non validi
Quando i dati inviati non sono un tipo valido per l’endpoint o la modalità specificati, ad esempio quando l’ID viene inviato per un lead con azione designata come createOnly o quando si utilizza Request Campaign su una campagna batch.
1004
Lead non trovato
Per syncLead, quando l'azione è "updateOnly" e se il lead non viene trovato
1005
Il lead esiste già
Per syncLead, quando action è "createOnly" e se un lead esiste già
1006
Campo '%s' non trovato
Un campo incluso nella chiamata non è valido.
1007
Più lead corrispondono ai criteri di ricerca
Più lead corrispondono ai criteri di ricerca. È possibile eseguire aggiornamenti solo quando la chiave corrisponde a un singolo record
1008
Accesso negato alla partizione '%s'
L'utente del servizio personalizzato non ha accesso a un'area di lavoro con la partizione in cui esiste il record.
1009
È necessario specificare il nome della partizione
1010
Aggiornamento della partizione non consentito
Il record specificato esiste già in una partizione lead separata.
1011
Campo '%s' non supportato
Quando il campo di ricerca o "filterType" è specificato con campi standard non supportati (ad esempio: firstName, lastName)
1012
Valore cookie '%s' non valido
Può verificarsi quando si chiama Associa lead con un valore non valido per il parametro 'cookie'. Ciò si verifica anche quando si chiamano Get Leads by Filter Type con "filterType=cookies" e un valore non valido per il parametro "filterValues".
1013
Oggetto non trovato
Ottieni oggetto (elenco, campagna) per ID restituisce questo codice di errore
1014
Impossibile creare l'oggetto
Impossibile creare l'oggetto (elenco)
1015
Lead non nell’elenco
Il lead designato non è un membro dell'elenco di destinazione
1016
Troppe importazioni
Troppe importazioni in coda. È consentito un massimo di 10
1017
L’oggetto esiste già
Creazione non riuscita perché il record esiste già
1018
CRM abilitato
Impossibile eseguire l'azione perché per l'istanza è abilitata un'integrazione CRM nativa.
1019
Importazione in corso
L’elenco di destinazione è già in fase di importazione in
1020
Troppi cloni da programmare
L’abbonamento ha raggiunto l’uso assegnato di "cloneToProgramName" nel programma di pianificazione della giornata
1021
Aggiornamento della società non consentito
Aggiornamento società non consentito durante syncLead
1022
Oggetto in uso
Eliminazione non consentita quando un oggetto è utilizzato da un altro oggetto
1025
Stato del programma non trovato
È stato specificato uno stato per cambiare lo stato del programma lead che non corrisponde a uno stato disponibile per il canale del programma.
1026
Oggetto personalizzato non abilitato
Impossibile eseguire l'azione perché per l'istanza non è abilitata l'integrazione di oggetti personalizzati.
1027
Limite massimo tipi di attività raggiunto
L’abbonamento ha raggiunto il numero massimo di tipi di attività personalizzati disponibili.
1028
È stato raggiunto il limite massimo di campi
Le attività personalizzate hanno un massimo di 20 attributi secondari.
1029
  • Troppi processi in coda
  • Esporta quota giornaliera superata
  • Le sottoscrizioni possono estrarre in blocco un massimo di 10 processi in coda in un determinato momento.
  • Per impostazione predefinita, i processi di estrazione sono limitati a 500 MB al giorno (ripristinati ogni giorno alle 00:00 CST).
1035
Tipo di filtro non supportato
In alcune sottoscrizioni, i seguenti tipi di filtro Estrazione lead bulk non sono supportati: updateAt, smartListId, smartListName.
1036
Oggetto duplicato trovato nell'input
È stata effettuata una chiamata per aggiornare due o più record utilizzando la stessa chiave esterna. Ad esempio, una chiamata Sync Companies che utilizza lo stesso externalCompanyId per più società.
1037
Il lead è stato saltato
Il lead è stato ignorato perché si trova già in o oltre questo stato.
1042
Data runAt non valida
La data runAt specificata per Schedule Campaign era troppo lontana nel futuro (il massimo è 2 anni).
1048
Eliminazione bozza oggetto personalizzato non riuscita
È stata effettuata una chiamata per scartare la versione bozza di un oggetto personalizzato.
1049
Impossibile creare l'attività
Matrice di attributi troppo lunga. La matrice di attributi passati al record supera la lunghezza massima di 65536 byte
1076
La chiamata Unisci lead con il flag mergeInCRM è 4.
Si sta creando un record duplicato. In alternativa, è consigliabile utilizzare un record esistente. Questo è il messaggio di errore che Marketo riceve durante l’unione in Salesforce.
1077
Chiamata Unisci lead non riuscita a causa della lunghezza del campo "SFDC"
Una chiamata di Merge Leads con mergeInCRM impostato su true non è riuscita perché "SFDC Field" ha superato il limite di caratteri consentiti. Per correggerlo, riduci la lunghezza di "SFDC Field" o imposta mergeInCRM su false.
1078
Chiamata Unisci lead non riuscita a causa di un'entità eliminata, non un lead/contatto o perché i criteri di filtro del campo non corrispondono.
Errore di unione. Impossibile eseguire l'operazione di unione in CRM sincronizzato in modo nativo Questo è il messaggio di errore che Marketo riceve durante l’unione in Salesforce.
recommendation-more-help
bb269a6d-047a-4bf7-9acd-23ad9a63dc59