2017-11-21 2 views
1

Ich muss die Marketo Leads, die Änderungen auf "ProgressionStatus" Feld (innerhalb der Mitgliedschaft) mit der API haben. Ich kann alle Leads bezogen auf ein Programm (mit Get Leads von ProgramID API) ohne Probleme erhalten, aber meine Notwendigkeit ist, diese Leads mit Änderungen in der Spalte "progressionStatus" zu bekommen. Ich dachte daran, die CreatedAt/UpdatedAt-Felder des Programms zu verwenden, um dann alle Leads für diese Programme zu erhalten. Aber ich habe nicht die genauen Ergebnisse erhalten, die ich möchte. Ich habe auch versucht, die GET Lead Changes API zu verwenden und den Parameter "fields" für "progressionstatus" zu verwenden, aber dieses Feld existiert nicht.Marketo Leads - So finden Sie die aktualisierten Werte von progressionStatus Feld

Es ist möglich, dies zu lösen? Vielen Dank im Voraus.

+0

Welche API verwenden Sie? REST oder SOAP? Und welche Programmiersprache? – dferenc

+0

Hallo, ich benutze Get Leads von Programm REST API mit TaskFactory Komponente in SSIS. Vielen Dank. –

Antwort

0

Sie können die Liste der Leads mit Progressionsstatus ändern, indem Sie den Endpunkt Get Lead Activities abfragen.

Der Endpunkt Get Lead Changes könnte als guter Kandidat klingen, aber dieser Endpunkt gibt nur Änderungen an den Führungsfeldern zurück. Die Änderung des Fortschrittsstatus wird nicht direkt auf dem Lead gespeichert. Am Ende wird das nicht funktionieren. Auf der anderen Seite gibt der Endpunkt - unter anderem - den tatsächlichen Wert progressionStatus (Programmstatus des Leads im übergeordneten Programm), aber nicht "change" selbst zurück, so dass Sie die Ergebnismenge davon nicht verarbeiten können.

Die gute Nachricht ist, dass die Progression Statusänderung ist eine Leistungsart und zum Glück haben wir das oben Get Lead-Aktivitäten Endpunkt erwähnen zur Verfügung (die auch als Query in der API-Dokumentation erwähnt wird), genau das fragen. Dieser Endpunkt ermöglicht auch das Filtern nach activityTypeIds, um die Ergebnismenge auf einen einzelnen Aktivitätstyp einzugrenzen.

Grundsätzlich müssen Sie den GET /rest/v1/activities.json enpoint aufrufen und die Werte activityTypeIds und nextPageToken als Abfrageparameter übergeben (natürlich neben dem Zugriffstoken). Also, zuerst müssen Sie die interne ID des Aktivitätstyps namens "Change Status in Progression" abrufen. Sie können das tun, indem Sie den GET /rest/v1/activities/types.json Endpunkt abfragen und nach einem Datensatz mit dem Namen suchen. (Ich weiß nicht, ob sich diese Id von Instanz zu Instanz ändert, aber bei uns ist es die # 104). Um eine nextPageToken zu erhalten, müssen Sie auch einen Anruf an GET /rest/v1/activities/pagingtoken.json tätigen, wo Sie das früheste Datum angeben müssen, von dem die Aktivitäten abgerufen werden sollen. Sehen Sie mehr über .

Sobald Sie alle diese Bits zur Hand haben, können Sie Ihre Anfrage so machen:

GET https://<INSTANCE_ID>.mktorest.com/rest/v1/activities.json?activityTypeIds=<TYPE_ID>&nextPageToken=<NEXTPAGE_TOKEN>&access_token=<ACCESS_TOKEN> 

Das Ergebnis gibt es ein Array mit Elementen wie unten, die weiter leicht zu verarbeiten ist.

{ 
    "id":712630, 
    "marketoGUID":"712630", 
    "leadId":824864, 
    "activityDate":"2017-12-01T08:51:13Z", 
    "activityTypeId":104, 
    "primaryAttributeValueId":1104, 
    "primaryAttributeValue":"PROGRAM_NAME", 
    "attributes":[ 
     {"name":"Acquired By","value":true}, 
     {"name":"New Status ID","value":33}, 
     {"name":"Old Status ID","value":32}, 
     {"name":"Reason","value":"Filled out form"}, 
     {"name":"Success","value":false}, 
     {"name":"New Status","value":"Filled-out Form"}, 
     {"name":"Old Status","value":"Not in Program"} 
    ] 
} 

Die Kenntnis der leadId s in Frage, können Sie eine weitere Anfrage stellen noch die eigentlichen Blei Aufzeichnungen zu holen.

+0

Vielen Dank @ dferenc! Auf diese Weise werde ich eine Liste aller Leads mit Änderungen in der Spalte Progressionsstatus haben.Dann werde ich die zugehörigen Programme zu diesen Leads finden, und dann werde ich Get Leads von Program API aufrufen, um die Progressionsstatus-Spalte zu bekommen, ich habe recht? Oder gibt es eine einfachere Möglichkeit, die Spalte "Fortschrittsstatus" abzurufen? –

+0

Wie Sie in der Beispielantwort sehen können, haben Sie die internen IDs sowohl für den "alten" als auch den "neuen" Status (z. B. 32 und 33 in der Antwort). Wenn Sie nun die IDs verwenden, müssen Sie möglicherweise keine weiteren Abfragen durchführen. Da in dieser Antwort jedoch keine Lead-Details vorhanden sind, müssen Sie möglicherweise danach fragen. Ich habe das oben in php getestet. Falls Sie es brauchen, kann ich das zu meiner Antwort hinzufügen. – dferenc

+0

Verstanden. Danke vielmals! –

Verwandte Themen