Importazione lead in blocco

Riferimento endpoint importazione lead bulk

Utilizza l’API bulk per importare un numero elevato di record di lead in modo asincrono. Fornisci i record in un file flat delimitato da virgole, tabulazioni o punti e virgola di dimensioni inferiori a 10 MB.

L’importazione di lead in blocco supporta solo l’operazione di inserimento o aggiornamento dei record.

Limiti di elaborazione

Ogni richiesta di importazione in blocco viene aggiunta come processo a una coda FIFO (First-In, First-Out). Si applicano i seguenti limiti:

  • È possibile elaborare contemporaneamente un massimo di due processi.
  • Nella coda possono essere presenti al massimo 10 processi, inclusi i due in fase di elaborazione.

Se si supera il massimo di 10 processi, l’API restituisce un errore 1016, Too many imports.

Importa file

La prima riga del file deve essere un’intestazione che elenca i campi REST API a cui corrispondono i valori in ogni riga. Un file tipico segue questo schema:

email,firstName,lastName
test@example.com,John,Doe

Utilizzare externalCompanyId per collegare un record lead a un record società. Utilizzare externalSalesPersonId per collegare un record lead a un record venditore.

Invia la richiesta utilizzando il tipo di contenuto multipart/form-data. Utilizza un’implementazione di libreria esistente per creare la richiesta multipart.

Creazione di un processo

Per creare un processo di importazione in blocco, impostare il tipo di contenuto su multipart/form-data e includere i seguenti parametri:

  • file: contenuto del file di importazione.
  • format: formato del file. I valori validi sono csv, tsv e ssv.
POST /bulk/v1/leads.json?format=csv
Content-Type: multipart/form-data; boundary=------WebKitFormBoundaryBQACkJZyaiIAXogC
Content-Length: 311
Host: <munchkinId>.mktorest.com
------WebKitFormBoundaryBQACkJZyaiIAXogC
Content-Disposition: form-data; name="file"; filename="leads.csv"
Content-Type: text/csv

firstName,lastName,email,company
Able,Baker,ablebaker@marketo.com,Marketo
Charlie,Dog,charliedog@marketo.com,Marketo
Easy,Fox,easyfox@marketo.com,Marketo
------WebKitFormBoundaryBQACkJZyaiIAXogC--
{
    "requestId": "d01f#15d672f8560",
    "result": [
        {
            "batchId": 3404,
            "importId": "3404",
            "status": "Queued"
        }
    ],
    "success": true
}

Questo endpoint utilizza dati multipart/modulo come tipo di contenuto. Utilizza una libreria di supporto HTTP per la lingua preferita per creare correttamente la richiesta. Nell’esempio seguente viene utilizzato cURL dalla riga di comando:

curl -i -F format=csv -F file=@lead_data.csv -F access_token=<Access Token> <REST API Endpoint Base URL>/bulk/v1/leads.json

In questo esempio, il file di importazione lead_data.csv contiene i dati seguenti:

firstName,lastName,email,company
Able,Baker,ablebaker@marketo.com,Marketo
Charlie,Dog,charliedog@marketo.com,Marketo
Easy,Fox,easyfox@marketo.com,Marketo

È inoltre possibile includere i seguenti parametri facoltativi:

  • lookupField: seleziona il campo utilizzato per la deduplicazione e imposta il valore predefinito su email. Specificare id per eseguire un’operazione di solo aggiornamento.
  • listId: seleziona un elenco statico. I lead importati diventano membri di questo elenco, oltre a tutti i record creati o aggiornati dall’importazione.
  • partitionName: seleziona la partizione in cui importare. Per ulteriori informazioni, consulta la sezione Workspace e partizioni.

Poiché l’API è asincrona, la risposta contiene batchId e status campi anziché singoli errori e operazioni riuscite. Lo stato può essere Queued, Importing o Failed.

Mantieni batchId per controllare lo stato del processo e recuperare gli errori o gli avvisi dopo il completamento. batchId rimane valido per sette giorni.

Stato processo di polling

Utilizza l’API Get Import Lead Status per eseguire il polling del processo ogni 5-30 secondi, a seconda dei requisiti di latenza e delle limitazioni di chiamata API.

GET /bulk/v1/leads/batch/{id}.json
{
   "requestId":"8136#146daebc2ed",
   "success":true,
   "result":[
      {
         "batchId":1022,
         "status":"Complete",
         "numOfLeadsProcessed":2,
         "numOfRowsFailed":1,
         "numOfRowsWithWarning":0,
         "message":"Import completed with errors, 2 records imported (2 members), 1 failed"
      }
   ]
}

Questa risposta mostra un’importazione completata. Lo stato può corrispondere a uno dei seguenti valori:

  • Completa
  • In coda
  • Importazione
  • Operazione non riuscita

Al termine del processo, la risposta elenca il numero di righe elaborate, non riuscite ed elaborate con avvertenze. Il parametro message può anche fornire un messaggio di errore quando lo stato è Failed.

Errori

L’attributo numOfRowsFailed nella risposta Get Import Lead Status indica il numero di righe non riuscite. Un valore maggiore di zero indica che si sono verificati errori.

Per recuperare i record non riusciti e le relative cause, richiedere il file di errore:

GET /bulk/v1/leads/batch/{id}/failures.json

L’API restituisce un file che identifica ogni riga con errori e spiega perché il record non è riuscito. Il file utilizza il formato specificato dal parametro format durante la creazione del processo. Un campo aggiuntivo in ciascun record descrive l’errore.

Avvisi

L’attributo numOfRowsWithWarning nella risposta Ottieni stato lead importazione indica il numero di righe con avvisi. Un valore maggiore di zero indica che si sono verificate delle avvertenze.

Per recuperare i record interessati e le relative cause, richiedere il file di avviso:

GET /bulk/v1/leads/batch/{id}/warnings.json

L’API restituisce un file che identifica ogni riga con un avviso e spiega perché si è verificato l’avviso. Il file utilizza il formato specificato dal parametro format durante la creazione del processo. Un campo aggiuntivo in ciascun record descrive l’avviso.

recommendation-more-help
marketo-developer-help