Lead

Riferimento endpoint lead

L’API del lead di Marketo offre un’ampia serie di funzionalità per semplici applicazioni CRUD rispetto ai record dei lead, nonché la possibilità di modificare l’appartenenza di un lead a elenchi e programmi statici e di avviare l’elaborazione di campagne intelligenti per i lead.

Descrivere

Una delle funzionalità chiave dell’API Leads è il metodo Describe. Utilizza Descrivi lead per recuperare un elenco completo dei campi disponibili per l’interazione tramite API REST e API SOAP, nonché metadati per ciascuno di essi:

  • Tipo di dati
  • Nomi API REST e SOAP
  • Lunghezza (se applicabile)
  • Sola lettura
  • Etichetta intuitiva

Descrivi è la principale fonte di verità per stabilire se i campi sono disponibili per l’uso e i metadati su di essi.

Richiesta

GET /rest/v1/leads/describe.json

Risposta

{
   "requestId":"37ca#1475b74e276",
   "success":true,
   "result":[
      {
         "id":2,
         "displayName":"Company Name",
         "dataType":"string",
         "length":255,
         "rest":{
            "name":"company",
            "readOnly":false
         },
         "soap":{
            "name":"Company",
            "readOnly":false
         }
      }
}

Normalmente, le risposte includono un set molto più ampio di campi nell’array dei risultati, ma vengono omesse a scopo dimostrativo. Ogni elemento nella matrice dei risultati corrisponde a un campo disponibile nel record del lead e avrà almeno un ID, un displayName e un tipo di dati. Gli altri oggetti secondari soap e REST possono essere presenti o meno per un determinato campo e la loro presenza indicherà se il campo è valido per l’utilizzo nelle API REST o SOAP. Il readOnly indica se il campo è di sola lettura tramite l’API corrispondente (REST o SOAP). La proprietà length indica la lunghezza massima del campo, se presente. La proprietà dataType indica il tipo di dati del campo.

Query

Esistono due metodi principali per il recupero dei lead: il metodo Get Lead per ID e il metodo Get Lead per tipo di filtro. Ottieni lead per ID considera un singolo ID lead come parametro di percorso e restituisce un singolo record lead.

Facoltativamente, puoi trasmettere un parametro di campi contenente un elenco separato da virgole di nomi di campi da restituire. Se il parametro fields non è incluso in questa richiesta, vengono restituiti i seguenti campi predefiniti: email, updatedAt, createdAt, lastName, firstName, e id. Quando si richiede un elenco di campi, se un particolare campo viene richiesto ma non restituito, il valore deve essere nullo.

Richiesta

GET /rest/v1/lead/{id}.json

Risposta

{
   "requestId": "10226#14d3049e51b",
   "success": true,
   "result": [
      {
         "id": 318581,
         "updatedAt":"2015-05-07T11:47:30-08:00"
         "lastName": "Doe",
         "email": "jdoe@marketo.com",
         "createdAt": "2015-05-01T16:47:30-08:00",
         "firstName": "John"
      }
   ]
}

Per questo metodo, ci sarà sempre un singolo record nella prima posizione della matrice dei risultati.

Ottieni lead per tipo di filtro restituirà lo stesso tipo di record, ma può restituire fino a 300 per pagina. Richiede il filterType e filterValues parametri di query.

filterType accetta qualsiasi campo personalizzato o la maggior parte dei campi di uso comune. Chiama il Describe2 per ottenere un elenco completo dei campi ricercabili consentiti per l’utilizzo in filterType. Durante la ricerca per campo personalizzato, sono supportati solo i seguenti tipi di dati: string, email, integer. È possibile ottenere i dettagli del campo (descrizione, tipo, ecc.) utilizzando il metodo Describe sopra indicato.

filterValues accetta fino a 300 valori in formato separato da virgole. La chiamata cerca i record in cui il campo del lead corrisponde a uno dei filterValues. Se il numero di lead che corrispondono al filtro lead è maggiore di 1.000, viene restituito un errore: "1003, Troppi risultati corrispondono al filtro".

Se la lunghezza totale della richiesta GET supera gli 8 KB, viene restituito un errore HTTP: "414, URI troppo lungo" (per RFC 7231). Come soluzione alternativa, è possibile modificare il GET in POST, aggiungere il parametro _method=GET e inserire una stringa di query nel corpo della richiesta.

Richiesta

GET /rest/v1/leads.json?filterType=id&filterValues=318581,318592

Risposta

{
    "requestId": "12951#15699db5c97",
    "result": [
        {
            "id": 318581,
            "updatedAt": "2016-05-17T22:11:45Z",
            "lastName": "Lincoln",
            "email": "abe@usa.gov",
            "createdAt": "2015-03-17T00:18:40Z",
            "firstName": "Abraham"
        },
        {
            "id": 318592,
            "updatedAt": "2016-05-17T22:20:51Z",
            "lastName": "Washington",
            "email": "george@usa.gov",
            "createdAt": "2015-04-06T16:29:21Z",
            "firstName": "George"
        }
    ],
    "success": true
}

Questa chiamata cerca i record che corrispondono agli ID inclusi in filterValuese restituisce tutti i record corrispondenti.

Se non viene trovato alcun record, la risposta indica che l’operazione è riuscita, ma l’array dei risultati sarà vuoto.

Risposta

{
"requestId": "177a1#1578b643357",
"result": [],
"success": true
}

Sia il metodo Get Lead by Id che Get Leads by Filter Type accettano anche un parametro di query fields, che accetta un elenco separato da virgole di campi API. Se è incluso, ogni record nella risposta includerà i campi elencati. Se viene omesso, verrà restituito un set predefinito di campi: id, email, updatedAt, createdAt, firstName, e lastName.

ADOBE ECID

Quando la funzione Condivisione pubblico di Adobe Experience Cloud è abilitata, si verifica un processo di sincronizzazione dei cookie che associa Adobe Experience Cloud ID (ECID) ai lead di Marketo. I metodi di recupero dei lead sopra menzionati possono essere utilizzati per recuperare i valori ECID associati. A tale scopo, specifica "ecid" nel parametro fields. Ad esempio, "&fields=email,firstName,lastName,ecids".

Crea e aggiorna

Oltre a recuperare i dati dei lead, puoi creare, aggiornare ed eliminare i record dei lead tramite l’API. La creazione e l’aggiornamento dei lead condividono lo stesso endpoint con il tipo di operazione definito nella richiesta ed è possibile creare o aggiornare contemporaneamente fino a 300 record.

Richiesta

POST /rest/v1/leads.json

Corpo

{
   "action":"createOnly",
   "lookupField":"email",
   "input":[
      {
         "email":"kjashaedd-1@klooblept.com",
         "firstName":"Kataldar-1",
         "postalCode":"04828"
      },
      {
         "email":"kjashaedd-2@klooblept.com",
         "firstName":"Kataldar-2",
         "postalCode":"04828"
      },
      {
         "email":"kjashaedd-3@klooblept.com",
         "firstName":"Kataldar-3",
         "postalCode":"04828"
      }
   ]
}

Risposta

{
   "requestId":"e42b#14272d07d78",
   "success":true,
   "result":[
      {
         "id":50,
         "status":"created"
      },
      {
         "id":51,
         "status":"created"
      },
      {
         "id":52,
         "status":"created"
      }
   ]
}

In questa richiesta sono presenti due campi importanti: action e lookupField. action specifica il tipo di operazione della richiesta e può essere createOrUpdate, createOnly, updateOnly, o createDuplicate. Se viene omesso, l’azione utilizza per impostazione predefinita createOrUpdate. Il lookupField parametro specifica la chiave da utilizzare quando l'azione è createOrUpdate o updateOnly. Se lookupField viene omesso, il tasto predefinito è email.

Per impostazione predefinita, viene utilizzata la partizione predefinita. Facoltativamente, è possibile specificare partitionName , che funziona solo se l'azione è createOnly o createOrUpdate. Per partitionName per funzionare come criteri di deduplicazione aggiuntivi, deve far parte del tipo di origine nelle regole di deduplicazione personalizzate. Durante un'operazione di aggiornamento, se nella partizione specificata non esiste un lead, viene restituito un errore. Se l’utente solo API non dispone dell’autorizzazione per accedere alla partizione specificata, viene restituito un errore.

Il id può essere incluso solo come parametro quando si utilizza updateOnly azione, come id è una chiave univoca gestita dal sistema.

La richiesta deve inoltre avere input , che è un array di record di lead. Ogni record lead è un oggetto JSON con un numero qualsiasi di campi lead. Le chiavi incluse in un record devono essere univoche per tale record e tutte le stringhe JSON devono avere la codifica UTF-8. Il externalCompanyId può essere utilizzato per collegare il record del lead a un record dell’azienda. Il externalSalesPersonId può essere utilizzato per collegare il record lead a un record venditore.

Nota: quando si eseguono richieste lead upsert simultaneamente o in rapida successione, è possibile che si verifichino record duplicati quando si eseguono più richieste con lo stesso valore chiave se viene effettuata una chiamata successiva con lo stesso valore prima della prima. Questo può essere evitato utilizzando createOnly, o updateOnly se appropriato, oppure accodando le chiamate e aspettando che la chiamata venga restituita prima di effettuare chiamate upsert successive con la stessa chiave.

Campi

L’oggetto lead contiene campi standard e, facoltativamente, campi personalizzati. I campi standard sono presenti in ogni abbonamento al Marketo Engage, mentre i campi personalizzati vengono creati dall’utente in base alle esigenze. Ogni definizione di campo è composta da un insieme di attributi che descrivono il campo. Esempi di attributi sono nome visualizzato, nome API e dataType. Questi attributi sono noti collettivamente come metadati.

I seguenti endpoint consentono di eseguire query, creare e aggiornare campi sull'oggetto lead. Queste API richiedono che l’utente API proprietario abbia un ruolo con una o entrambe le autorizzazioni Campo standard schema di lettura-scrittura o Campo personalizzato schema di lettura-scrittura.

Campi query

La query dei campi lead è semplice. È possibile eseguire query su un singolo campo lead per nome API o sul set di tutti i campi lead. È possibile recuperare sia i campi standard che i campi personalizzati, a seconda delle autorizzazioni del ruolo utilizzate. Vengono recuperati anche i campi nascosti.

Per nome

L’endpoint "Get Lead Field by Name" recupera i metadati per un singolo campo sull’oggetto lead. Il parametro di percorso fieldApiName obbligatorio specifica il nome API del campo. La risposta è simile all’endpoint Descrivi lead, ma contiene metadati aggiuntivi, come l’attributo isCustom, che indica se il campo è un campo personalizzato.

Richiesta

GET /rest/v1/leads/schema/fields/{fieldApiName}.json

Risposta

{
    "requestId": "cd97#1793ee0fec4",
    "result": [
        {
            "displayName": "Email Address",
            "name": "email",
            "description": null,
            "dataType": "email",
            "length": 255,
            "isHidden": false,
            "isHtmlEncodingInEmail": true,
            "isSensitive": true,
            "isCustom": false
        }
    ],
    "success": true
}

Sfogliare

L’endpoint Get Lead Fields recupera i metadati per tutti i campi sull’oggetto lead, tra cui. Per impostazione predefinita, vengono restituiti al massimo 300 record. È possibile utilizzare batchSize parametro di query per ridurre questo numero. Se il moreResult è true, il che significa che sono disponibili più risultati. Continua a chiamare questo endpoint fino a quando moreResult l’attributo restituisce false, il che significa che non sono disponibili risultati. Il nextPageToken restituiti da questa API devono sempre essere riutilizzati per la successiva iterazione di questa chiamata.

Richiesta

GET /rest/v1/leads/schema/fields.json

Risposta (troncata)

{
    "requestId": "142c3#1793eb976d8",
    "result": [
        {
            "displayName": "Salutation",
            "name": "salutation",
            "description": null,
            "dataType": "string",
            "length": 255,
            "isHidden": false,
            "isHtmlEncodingInEmail": true,
            "isSensitive": true,
            "isCustom": false
        },
        {
            "displayName": "First Name",
            "name": "firstName",
            "description": null,
            "dataType": "string",
            "length": 255,
            "isHidden": false,
            "isHtmlEncodingInEmail": true,
            "isSensitive": true,
            "isCustom": false
        },
        {
            "displayName": "Middle Name",
            "name": "middleName",
            "description": null,
            "dataType": "string",
            "length": 255,
            "isHidden": false,
            "isHtmlEncodingInEmail": true,
            "isSensitive": true,
            "isCustom": false
        },
        {
            "displayName": "Last Name",
            "name": "lastName",
            "description": null,
            "dataType": "string",
            "length": 255,
            "isHidden": false,
            "isHtmlEncodingInEmail": true,
            "isSensitive": true,
            "isCustom": false
        },
        {
            "displayName": "Date of Birth",
            "name": "dateOfBirth",
            "description": null,
            "dataType": "date",
            "isHidden": false,
            "isHtmlEncodingInEmail": false,
            "isSensitive": true,
            "isCustom": false
        },
        {
            "displayName": "Email Address",
            "name": "email",
            "description": null,
            "dataType": "email",
            "length": 255,
            "isHidden": false,
            "isHtmlEncodingInEmail": true,
            "isSensitive": true,
            "isCustom": false
        },
        {
            "displayName": "Phone Number",
            "name": "phone",
            "description": null,
            "dataType": "phone",
            "length": 255,
            "isHidden": false,
            "isHtmlEncodingInEmail": true,
            "isSensitive": true,
            "isCustom": false
        },
        {
            "displayName": "Mobile Phone Number",
            "name": "mobilePhone",
            "description": null,
            "dataType": "phone",
            "length": 255,
            "isHidden": false,
            "isHtmlEncodingInEmail": true,
            "isSensitive": true,
            "isCustom": false
        },
        {
            "displayName": "Fax Number",
            "name": "fax",
            "description": null,
            "dataType": "phone",
            "length": 255,
            "isHidden": false,
            "isHtmlEncodingInEmail": true,
            "isSensitive": true,
            "isCustom": false
        },
        {
            "displayName": "Job Title",
            "name": "title",
            "description": null,
            "dataType": "string",
            "length": 255,
            "isHidden": false,
            "isHtmlEncodingInEmail": true,
            "isSensitive": true,
            "isCustom": false
        },
        {
            "displayName": "Unsubscribed",
            "name": "unsubscribed",
            "description": null,
            "dataType": "boolean",
            "isHidden": false,
            "isHtmlEncodingInEmail": false,
            "isSensitive": true,
            "isCustom": false
        },
        ...
    ],
    "success": true,
    "moreResult": false
}

Crea campi

L'endpoint Create Lead Fields crea uno o più campi personalizzati sull'oggetto lead. Questo endpoint fornisce funzionalità paragonabili a quelle disponibili nell’interfaccia utente del Marketo Engage. Puoi creare un massimo di 100 campi personalizzati utilizzando questo endpoint.
Considera attentamente ogni campo creato nell’istanza di produzione del Marketo Engage utilizzando l’API. Una volta creato un campo, non è possibile eliminarlo (è possibile solo nasconderlo). La proliferazione di campi inutilizzati è una pratica scorretta che aggiunge confusione all’istanza.

Il parametro di input richiesto è un array di oggetti campo lead. Ogni oggetto contiene uno o più attributi. Gli attributi richiesti sono displayName, name, e dataType che corrispondono rispettivamente al nome visualizzato dell’interfaccia utente del campo, al nome API del campo e al tipo di campo. Facoltativamente puoi specificare description, isHidden, isHtmlEncodingInEmail, e isSensitive.

Esistono alcune regole associate a nome e displayName denominazione. L'attributo name deve essere univoco, iniziare con una lettera e contenere solo lettere, numeri o trattini bassi. Il displayName deve essere univoco e non può contenere caratteri speciali. Una convenzione di denominazione comune è quella di applicare la notazione Camel a displayName per generare il nome. Ad esempio, un displayName di "My Custom Field" produrrebbe il nome "myCustomField".

Richiesta

POST /rest/v1/leads/schema/fields.json

Corpo

{
  "input": [
      {
        "displayName": "Acme Access Code",
        "name": "acmeAccessCode",
        "description": "Acme Direct Mail Integration",
        "dataType": "string"
      },
      {
        "displayName": "Acme Mail Date",
        "name": "acmeMailDate",
        "description": "Acme Direct Mail Integration",
        "dataType": "string"
      }
  ]
}

Risposta

{
    "requestId": "d9f1#17943666811",
    "result": [
        {
            "name": "acmeAccessCode",
            "status": "created"
        },
        {
            "name": "acmeMailDate",
            "status": "created"
        }
    ],
    "success": true
}

Aggiorna campo

L’endpoint Update Lead Field aggiorna un singolo campo personalizzato sull’oggetto lead. Nella maggior parte dei casi, le operazioni di aggiornamento dei campi eseguite utilizzando l’interfaccia utente del Marketo Engage sono ottenibili utilizzando l’API. Nella tabella seguente sono riepilogate alcune differenze.

Attributo
Campo standard
Campo personalizzato
Aggiornabile tramite API?
Aggiornabile dall’interfaccia utente?
Aggiornabile tramite API?
Aggiornabile dall’interfaccia utente?
dataType
no
no
no
descrizione
displayName
no
no
isCustom
no
no
no
no
isHidden
no
yes (se creato dall’API)
isHtmlEncodingInEmail
isSensitive
length
no
no
no
no
name
no
no
no
no

Il valore richiesto fieldApiName Il parametro path specifica il nome API del campo da aggiornare. Il parametro di input richiesto è un array che contiene un singolo oggetto campo lead. L'oggetto field contiene uno o più attributi.

Richiesta

POST /rest/v1/leads/schema/fields/{fieldApiName}.json

Corpo

{
  "input": [
      {
        "displayName": "Acme Access Code",
        "description": "Acme Direct Mail Integration",
        "isHtmlEncodingInEmail": true
      }
  ]
}

Risposta

{
    "requestId": "9f57#1794324f44c",
    "result": [
        {
            "name": "acmeAccessCode",
            "status": "updated"
        }
    ],
    "success": true
}

Invia lead a Marketo

Il lead push è un’alternativa per la sincronizzazione dei lead con Marketo, progettata principalmente per consentire un livello maggiore di attivabilità rispetto ai lead di sincronizzazione standard (simile nell’utilizzo a un modulo Marketo). Oltre alla sincronizzazione dei campi lead, questo endpoint consente l’associazione dei lead in base ai valori dei cookie, che vengono passati all’endpoint. Questo viene fatto passando il mkt_tok valore generato facendo clic su un’e-mail di Marketo o trasmettendo il nome di un programma nella chiamata. Questo endpoint crea anche una singola attività attivabile, associata a un programma e/o a una campagna in Marketo. Questo consente di attivare su eventi di acquisizione lead attribuiti a una campagna o a un programma specifico per avviare i flussi di lavoro associati dall’interno di Marketo.

L’interfaccia del lead push è molto simile a quella dei lead di sincronizzazione. Tutte le stesse chiavi primarie sono valide e per i campi vengono utilizzati gli stessi nomi API (non esiste alcun parametro di azione, perché si tratta sempre di un’operazione upsert). Il programName e i parametri di input necessari e il lookupField, source, e reason I parametri sono facoltativi. Il parametro di input è un array di oggetti lead. L’attività risultante è attribuita al programma denominato corrispondente. Il source e reason I parametri sono campi stringa arbitrari che possono essere aggiunti alla richiesta per incorporare tali valori nelle attività risultanti. Questi possono essere utilizzati come vincoli nei trigger corrispondenti (il lead viene inviato a Marketo) e nei filtri (il lead viene inviato a Marketo).

Nota relativa alle attività anonime. Se desideri associare precedenti attività anonime al lead appena creato, non specificare l’attributo dei cookie nell’oggetto lead e chiama Associa lead dopo il lead push. Se desideri creare un nuovo lead senza cronologia attività, specifica semplicemente l’attributo cookies nell’oggetto lead.

Richiesta

POST /rest/v1/leads/push.json

Corpo

{
    "programName": "Big Blue Thing Product Launch",
    "source": "Cool Sales Site",
    "reason": "Downloaded pricing sheet",
    "lookupField": "email",
    "input": [
        {
             "email": "Theresa.May@westminister.gov.uk",
             "country": "united kingdom",
             "firstName": "Theresa",
             "website": "www.brexit.com",
             "leadScore": 45,
             "marketoSocialFacebookProfileURL": "http://www.facebook.com/id/23434456",
             "jobTitle": "Prime Minister"
         },
         {
             "email": "Justin.Trudeau@ottowa.gov.ca",
             "country": "canada",
             "firstName": "Justin",
             "website": "www.take-off-eh.com",
             "leadScore": 92,
             "marketoSocialFacebookProfileURL": "http://www.facebook.com/id/42434",
             "jobTitle": "Sonny"
         }
     ]
}

Risposta

{
    "requestId": "939079529805",
    "success": true,
    "warnings": [],
    "result": [
       {
           "id": 483894,
           "status": "created"
       },
       {
           "id": 1087425,
           "status": "updated"
       },
       {
           "id": 3525,
           "reasons": [
                    {
                        "code": "501",
                        "message": "Bad stuff happened"
                    }
           ]
       }
    ]
}

Per superare il mkt_tok , assegnare il valore al membro marketToken all'interno di un record lead nel parametro di input come indicato di seguito.

Corpo

{
  "programName": "Big Blue Thing Product Launch",
  "source": "Cool Sales Site",
  "reason": "Downloaded pricing sheet",
  "lookupField": "mktToken",
  "input" : [
     {
       "mktToken" : "<tokenValue>",
       "firstName" : "Thelma"
     },
     {
       "mktToken" : "<tokenValue>",
       "firstName" : "Louise"
     }
   ]
}

Invia modulo

Invia modulo è un’alternativa per la sincronizzazione dei lead con Marketo ed è progettato per fornire funzionalità equivalenti all’invio di un Marketo Form. Questo consente di attivare su eventi di acquisizione lead attribuiti a una campagna o a un programma specifico per avviare i flussi di lavoro associati dall’interno di Marketo.

L’endpoint "Invia modulo" supporta le seguenti funzionalità:

  • Aggiorna un record cliente potenziale utilizzando il campo e-mail come chiave primaria
  • Crea un'attività "Compila modulo" associata a un programma e/o a una campagna
  • Consente l’associazione del lead in base al valore del cookie
  • Esegue la convalida del campo modulo

L'invio di un modulo segue il modello di database lead standard. Un singolo record di oggetto viene passato nel membro di input richiesto del corpo JSON di una richiesta POST. Il valore richiesto formId il membro contiene l'ID del modulo Marketo di destinazione.

L'opzione programId può essere utilizzato per specificare il programma a cui aggiungere il lead e/o il programma a cui aggiungere i campi personalizzati dei membri del programma. Se programId Se viene fornito, il lead viene aggiunto al programma e vengono aggiunti anche tutti i campi dei membri del programma presenti nel modulo. Si noti che il programma specificato deve trovarsi nella stessa area di lavoro del modulo. Se il modulo non contiene campi personalizzati per i membri del programma e programId non viene fornito, il lead non viene aggiunto a un programma. Se il modulo risiede in un programma e programId non viene fornito, il programma viene utilizzato quando uno o più campi personalizzati del membro del programma sono presenti nel modulo.

Nel record di input, il leadFormFields l'oggetto è obbligatorio. Questo oggetto contiene una o più coppie nome/valore corrispondenti ai campi modulo da compilare. Tutti i campi specificati devono essere definiti all'interno del modulo specificato. Il nome è il nome REST API per il campo. Tieni presente che email è obbligatorio.

Il visitorData l'oggetto membro è facoltativo e contiene coppie nome/valore corrispondenti ai dati di visita della pagina, tra cui pageURL, queryString, leadClientIpAddress, e userAgentString. Può essere utilizzato per compilare campi di attività aggiuntivi a scopo di filtro e di attivazione.

La stringa del membro del cookie è facoltativa e consente di associare un cookie Munchkin a un record persona in Marketo. Quando viene creato un nuovo lead, tutte le precedenti attività anonime vengono associate a quel lead, a meno che il valore del cookie non sia stato precedentemente associato a un altro record noto. Se il valore del cookie è stato associato in precedenza, vengono tracciate le nuove attività rispetto al record, ma le attività precedenti non verranno migrate dal record noto esistente. Per creare un nuovo lead senza cronologia attività, ometti semplicemente il membro cookie.

I nuovi lead vengono creati nella partizione primaria dell'area di lavoro in cui si trova il modulo.

Richiesta

POST /rest/v1/leads/submitForm.json

Intestazione

Content-Type: application/json

Corpo

{
  "formId": 1029,
  "input": [
    {
      "leadFormFields": {
        "firstName": "Marge",
        "lastName": "Simpson",
        "email": "marge.simpson@fox.com",
        "pMCFField": "PMCF value"
      },
      "visitorData": {
        "pageURL": "https://na-sjst.marketo.com/lp/063-GJP-217/UnsubscribePage.html",
        "queryString": "Unsubscribed=yes",
        "leadClientIpAddress": "192.150.22.5",
        "userAgentString": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36"
      },
      "cookie": "id:063-GJP-217&token:_mch-marketo.com-1594662481190-60776"
    }
  ]
}

Risposta

{
  "requestId": "10667#173bc585ca5",
  "result": [
    {
      "id": 319174,
      "status": "updated"
    }
  ],
  "success": true
}

Qui possiamo vedere i corrispondenti dettagli dell’attività "Compila modulo" dall’interfaccia utente del Marketo Engage:

Compila interfaccia utente modulo

Unisci

A volte è necessario unire i record duplicati e Marketo lo facilita tramite l’API Unisci lead. L’unione dei lead combina i registri di attività, il programma, le iscrizioni alle campagne, le informazioni di gestione delle relazioni con i clienti e unisce tutti i valori dei campi in un unico record. Unisci lead assume un ID lead come parametro di percorso e un singolo leadId come parametro di query o un elenco di id separati da virgole nel leadIds parametro.

Richiesta

POST /rest/v1/leads/{id}/merge.json?leadId=1324

Risposta

{
   "requestId":"e42b#14272d07d78",
   "success":true
}

Il lead specificato nel parametro path è il lead vincente, quindi se ci sono campi in conflitto tra i record da unire, verrà preso il valore del vincitore, a meno che il campo nel record vincente sia vuoto e il campo corrispondente nel record perdente non lo sia. I lead specificati in leadId o leadIds sono i lead perdenti.

Se disponi di una sottoscrizione abilitata per la sincronizzazione SFDC, puoi utilizzare anche mergeInCRM nella richiesta. Se è impostato su true, verrà eseguita anche l’unione corrispondente nel CRM. Se entrambi i lead sono in SFDC e uno è un lead CRM e l'altro è un contatto CRM, il vincitore è il contatto CRM (indipendentemente dal lead specificato come vincitore). Se uno dei lead si trova in SFDC e l'altro è solo Marketo, il vincitore è il lead SFDC (indipendentemente dal lead specificato come vincitore).

Associa attività web

Tramite il tracciamento dei lead (Munchkin), Marketo registra l’attività web dei visitatori del sito web e delle pagine di destinazione di Marketo. Queste attività, Visite e Clic, sono registrate con una chiave che corrisponde a un cookie "_mkto_trk" impostato nel browser del lead e Marketo lo utilizza per tenere traccia delle attività della stessa persona. In genere, l’associazione ai record dei lead si verifica quando un lead passa da un’e-mail di Marketo o compila un modulo di Marketo, ma a volte un’associazione può essere attivata da un tipo di evento diverso ed è possibile utilizzare l’endpoint Associa lead per farlo. L’endpoint considera l’ID del record lead noto come parametro di percorso e il valore del cookie "_mkto_trk" nel parametro di query del cookie.

Richiesta

POST /rest/v1/leads/{id}/associate.json?cookie=id:287-GTJ-838%26token:_mch-marketo.com-1396310362214-46169

Risposta

{
   "requestId":"e42b#14272d07d78",
   "success":true
}

Se un cookie è già associato a un record lead noto, l’utilizzo di questa API su un record lead diverso fa sì che la nuova attività web venga registrata su tale record, ma non sposterà alcuna attività web esistente nel nuovo record.
Iscrizione

È inoltre possibile recuperare i record dei lead in base all'appartenenza a un elenco statico o a un programma. Inoltre, puoi recuperare tutti gli elenchi statici, i programmi o le campagne intelligenti di cui è membro un lead.

La struttura di risposta e i parametri facoltativi sono identici a quelli di Get Leads per Filter Type, anche se filterType e filterValues non possono essere utilizzati con questa API.
Per accedere all’ID elenco tramite l’interfaccia utente di Marketo, passa all’elenco. L'elenco id si trova nell’URL dell’elenco statico, https://app-**&#x200B;**.marketo.com/#ST1001A1. In questo esempio, 1001 è il valore id per l'elenco.

Richiesta

GET /rest/v1/list/{listId}/leads.json?batchSize=3

Risposta

{
   "requestId":"e42b#14272d07d78",
   "success":true,
   "nextPageToken":
"PS5VL5WD4UOWGOUCJR6VY7JQO2KUXL7BGBYXL4XH4BYZVPYSFBAONP4V4KQKN4SSBS55U4LEMAKE6===",
    "result":[
       {
            "id":50,
            "email":"kjashaedd@klooblept.com",
            "firstName":"Kataldar",
             "postalCode":"04828"
       },
       {
           "id":2343,
           "email":"kjashaedd@klooblept.com",
           "firstName":"Kataldar",
           "postalCode":"04828"
       },
      {
           "id":88498,
           "email":"kjashaedd@klooblept.com",
           "firstName":"Kataldar",
         "postalCode":"04828"
         }
    ]
}

L’endpoint "Get Lists by Lead Id" accetta un record di lead id parametro path e restituisce tutti i record dell'elenco statico di cui il lead è membro.

Richiesta

GET /rest/v1/leads/{id}/listMembership.json?batchSize=3

Risposta

{
    "requestId": "1184b#1706f0ec23f",
    "result": [
        {
            "listId": 3379,
            "createdAt": "2016-05-17T19:32:44Z",
            "updatedAt": "2016-05-17T19:32:44Z"
        },
        {
            "listId": 2792,
            "createdAt": "2009-05-19T18:29:15Z",
            "updatedAt": "2009-05-19T18:29:15Z"
        },
        {
            "listId": 42,
            "createdAt": "2009-04-22T19:24:22Z",
            "updatedAt": "2009-04-22T19:24:22Z"
        }
    ],
    "success": true,
    "nextPageToken": "BFRV7OMVSNJWDVKVTUFS3XHT4E======",
    "moreResult": true
}

Programmi

L’iscrizione al programma può essere recuperata in modo simile agli elenchi. Gli stessi parametri di richiesta facoltativi sono disponibili quando si chiama l’endpoint "Get Leads by Program Id" e si passa programId parametro di percorso.

Facoltativamente, puoi trasmettere un parametro di campi contenente un elenco separato da virgole di nomi di campi da restituire. Se il parametro fields non è incluso in questa richiesta, verranno restituiti i seguenti campi predefiniti: email, updatedAt, createdAt, lastName, firstName, membership, e id. Quando si richiede un elenco di campi, se un particolare campo viene richiesto ma non restituito, il valore deve essere nullo.

La struttura di risposta è molto simile, in quanto ogni elemento nell’array dei risultati è un lead, con la differenza che ogni record ha anche un oggetto figlio denominato "appartenenza". Questo oggetto di appartenenza include dati sulla relazione del lead con il programma indicato nella chiamata, mostrando sempre i relativi progressionStatus, acquiredBy, reachedSuccess, e membershipDate. Se il programma principale è anche un programma di coinvolgimento, i membri saranno stream, nurtureCadence, e isExhausted per indicare la sua posizione e attività nel programma di coinvolgimento.

Richiesta

GET /rest/v1/leads/programs/{programId}.json?batchSize=3

Risposta

{
    "requestId": "13ad4#1727b748a17",
    "result": [
        {
            "id": 319141,
            "firstName": "Meera",
            "lastName": "Reed",
            "email": "mree@housestark.com",
            "updatedAt": "2020-04-21T16:27:14Z",
            "createdAt": "2020-04-21T16:27:14Z",
            "membership": {
                "id": 1127,
                "progressionStatus": "Visited",
                "progressionStatusType": "Visited",
                "isExhausted": false,
                "acquiredBy": true,
                "reachedSuccess": false,
                "membershipDate": "2020-04-21T16:27:16Z",
                "updatedAt": "2020-04-21T16:27:16Z"
            }
        },
        {
            "id": 319142,
            "firstName": "Jon",
            "lastName": "Umber",
            "email": "jumb@housestark.com",
            "updatedAt": "2020-04-21T16:27:14Z",
            "createdAt": "2020-04-21T16:27:14Z",
            "membership": {
                "id": 1127,
                "progressionStatus": "Visited",
                "progressionStatusType": "Visited",
                "isExhausted": false,
                "acquiredBy": true,
                "reachedSuccess": false,
                "membershipDate": "2020-04-21T16:27:16Z",
                "updatedAt": "2020-04-21T16:27:16Z"
            }
        },
        {
            "id": 319143,
            "firstName": "Lyanna",
            "lastName": "Mormont",
            "email": "lmor@housestark.com",
            "updatedAt": "2020-04-21T16:27:14Z",
            "createdAt": "2020-04-21T16:27:14Z",
            "membership": {
                "id": 1127,
                "progressionStatus": "Visited",
                "progressionStatusType": "Visited",
                "isExhausted": false,
                "acquiredBy": true,
                "reachedSuccess": false,
                "membershipDate": "2020-04-21T16:27:16Z",
                "updatedAt": "2020-04-21T16:27:16Z"
            }
        }
    ],
    "success": true,
    "nextPageToken": "SW3PTMBVFCNHSHJGZ7LQH3ZWNUOHKADJZ3MOQ2LOZZVNO3WEIUPDKPRTTHBSMW756KOCWURTOF2XS==="
}

L'endpoint Get Programs by Lead Id accetta un parametro di percorso dell'ID del record del lead e restituisce tutti i record del programma di cui il lead è membro. L'opzione filterType e filterValues I parametri ti consentono di filtrare in base all’ID del programma.

Richiesta

GET /rest/v1/leads/{id}/programMembership.json

Risposta

{
    "requestId": "12e84#1706f13a379",
    "result": [
        {
            "id": 1044,
            "progressionStatus": "Sent",
            "isExhausted": false,
            "acquiredBy": false,
            "reachedSuccess": false,
            "membershipDate": "2016-05-27T19:50:29Z",
            "updatedAt": "2016-05-27T19:50:29Z"
        }
    ],
    "success": true,
    "moreResult": false
}

Campagne avanzate

L’endpoint "Get Smart Campaigns by Lead Id" accetta un parametro di percorso ID record lead e restituisce tutti i record smart campaign di cui il lead è membro.

Richiesta

GET /rest/v1/leads/{id}/smartCampaignMembership.json?batchSize=3

Risposta

{
    "requestId": "e7b0#1706f163632",
    "result": [
        {
            "smartCampaignId": 3746,
            "createdAt": "2018-06-01T18:00:04Z",
            "updatedAt": "2018-06-01T18:00:06Z"
        },
        {
            "smartCampaignId": 3678,
            "createdAt": "2015-04-06T18:37:30Z",
            "updatedAt": "2015-04-06T18:37:41Z"
        },
        {
            "smartCampaignId": 3680,
            "createdAt": "2015-04-06T18:37:30Z",
            "updatedAt": "2015-04-06T18:37:40Z"
        }
    ],
    "success": true,
    "nextPageToken": "TNGAH3NKDUFDHNXUVGTNBXJCQM======",
    "moreResult": true
}

Elimina

La rimozione dei lead è semplice utilizzando l’endpoint Elimina lead. Specifica gli ID lead da eliminare utilizzando gli attributi ID nel corpo. Il massimo è di 300 lead per richiesta. Utilizza Content-Type: intestazione application/json.

Richiesta

POST /rest/v1/leads/delete.json

Corpo

{
   "input":[
      {
         "id": 235
      },
      {
         "id":766
      }
   ]
}

Risposta

{
  "requestId":"3608#16664333670",
  "result":[
    {
      "id":235,
      "status":"deleted"
    },
    {
      "id":766,
      "status":"deleted"
    }
  ],
  "success":true
}

Relazioni

  • Aziende tramite il campo externalCompanyId sul record del lead
  • Campo SalesPersons tramite externalSalesPersonId nel record del lead
  • Programmi tramite iscrizione al programma
  • Elenchi tramite appartenenza a elenco
  • Attività tramite il campo leadId nell’attività
  • Segmentazione attraverso singoli campi segmento nel record del lead
  • Partizioni tramite leadPartitionId nel record del lead

Timeout

Gli endpoint lead hanno un timeout di 30 secondi, a meno che non sia indicato di seguito:

  • Lead di sincronizzazione: 90s
  • Associa lead: anni 60
  • Unisci lead: anni 180
  • Aggiorna partizione lead: 60s
  • Invia lead a Marketo: anni 90
  • Ottieni lead per tipo di filtro: 60s
  • Ottieni lead per ID elenco: 60s
recommendation-more-help
bb269a6d-047a-4bf7-9acd-23ad9a63dc59