Codici errore
Le API REST di Marketo restituiscono errori a livello HTTP, di risposta o di record. In questa pagina vengono illustrati i tipi di errore e i codici di errore associati.
Gestione e registrazione delle eccezioni
Registra le richieste e le risposte quando l’integrazione rileva un’eccezione imprevista. Alcune eccezioni, ad esempio l’autenticazione scaduta, possono essere gestite effettuando di nuovo l’autenticazione. Altre eccezioni possono richiedere l’assistenza del Supporto tecnico, che richiederà i dettagli di richiesta e risposta associati.
Tipi di errore
L’API REST di Marketo può restituire tre tipi di errori durante il normale funzionamento:
- HTTP-Level: Indicato da un codice
4xx. - Livello di risposta: incluso nell’array “errors” della risposta JSON.
- Livello record: incluso nell’array “result” della risposta JSON e indicato per ogni record dal campo “status” e dall’array “reason”.
Gli errori a livello di risposta e di record restituiscono il codice di stato HTTP 200. Per tutti i tipi di errore, non valutare la frase del motivo HTTP perché è facoltativa e soggetta a modifiche.
Errori a livello HTTP
Durante il normale funzionamento, Marketo restituisce due errori del codice di stato HTTP: 413 Request Entity Too Large e 414 Request URI Too Long. Per risolvere uno di questi errori, modifica la richiesta e riprova. Per evitare questi errori, controlla le dimensioni delle richieste prima dell’invio.
Marketo restituisce 413 quando il payload della richiesta supera 1 MB o 10 MB per l’importazione di lead. Controlla le dimensioni della richiesta prima dell’invio. Se i record causano il superamento del limite della richiesta, sposta tali record in un’altra richiesta.
Marketo restituisce 414 quando l’URI di una richiesta GET supera gli 8 KB. Controlla la lunghezza della stringa di query prima dell’invio. Se supera il limite, modifica il metodo di richiesta in POST, inserisci la stringa di query nel corpo della richiesta e aggiungi il parametro _method=GET. Gli URI lunghi sono più comuni quando si recuperano batch di record di grandi dimensioni con valori di filtro lunghi, ad esempio un GUID.
L’endpoint Identity può restituire un errore 401 Unauthorized, in genere perché l’ID client o il segreto client non è valido. Nella tabella seguente sono elencati i codici di errore a livello HTTP.
Errori a livello di risposta
Gli errori a livello di risposta si verificano quando la risposta imposta il parametro success su false. Utilizzano la seguente struttura:
{
"requestId": "e42b#14272d07d78",
"success": false,
"errors": [
{
"code": "601",
"message": "Unauthorized"
}
]
}
Ogni oggetto nella matrice “errors” contiene due membri:
code: numero intero tra virgolette compreso tra 601 e 799.message: motivo in formato testo normale dell’errore.
Un codice 6xx indica che l’intera richiesta non è riuscita e non è stata eseguita. Ad esempio, recupera da un errore 601 “Token di accesso non valido” autenticando di nuovo e passando il nuovo token di accesso con la richiesta.
Un codice 7xx indica che la richiesta non è riuscita perché non sono stati restituiti dati o i parametri della richiesta non sono validi. Le cause includono una data non valida o un parametro obbligatorio mancante.
Codici di errore a livello di risposta
- È stata specificata una data con formato non corretto
- È stato specificato un ID di contenuto dinamico non valido
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).
Record-Level record_level_errors
Gli errori a livello di record indicano che la richiesta era valida, ma non è stato possibile completare l’operazione per un singolo record. Una risposta con errori a livello di record segue il seguente 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 nella matrice dei risultati vengono visualizzati nello stesso ordine dei record nella matrice di input della richiesta. Ogni record può avere esito positivo o negativo in modo indipendente, come indicato dal relativo campo di stato.
Per un record non riuscito, il campo “status” è “skipped” e il record include un array “reason”. Ogni motivo contiene un membro “code” e un membro “message”. Il codice è sempre 1xxx e il messaggio spiega perché il record è stato ignorato.
Ad esempio, se una richiesta di sincronizzazione dei lead imposta “action” su “createOnly” ed esiste già un lead per una delle chiavi inviate, la risposta restituisce il codice 1005 e il messaggio “Lead exists,” come mostrato sopra.
Codici di errore a livello di record
| 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 | ||
|---|---|---|
| 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 |
|
|
| 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, un lead/contatto o criteri di filtro del campo non corrispondenti. | 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. |
| 1079 | Chiamata Unisci lead non riuscita a causa di un conflitto di URL personalizzati in record duplicati | Una chiamata di unione di lead ha specificato molti lead con lo stesso URL personalizzato. Per risolvere, utilizzare l'interfaccia utente di Marketo Engage per unire questi record. |