Extrahera massaktivitet
Slutpunktsreferens för extrahering av gruppaktivitet
Uppsättningen REST API:er för Bulk Activity Extract utgör ett programmatiskt gränssnitt för att hämta stora mängder aktivitetsdata från Marketo. I de fall där det inte krävs låg fördröjning och där man måste överföra betydande volymer aktivitetsdata från Marketo, t.ex. CRM-integrering, ETL, datalagerhantering och dataarkivering.
Behörigheter
API:erna för extrahering av gruppaktivitet kräver att API-användaren har behörigheterna Skrivskyddad aktivitet eller Skrivskyddad aktivitet.
Filter
startAt
och endAt
. startAt
accepterar en datetime som representerar den låga vattenstämpeln och endAt
accepterar en datetime som representerar den övre vattenstämpeln. Intervallet måste vara högst 31 dagar. Jobb med den här filtertypen returnerar alla tillgängliga poster som har skapats inom datumintervallet. Datumtider ska vara i ISO-8601-format, utan millisekunder.activityTypeIds
. Värdet måste vara en array med heltal som motsvarar de önskade aktivitetstyperna. Aktiviteten Ta bort lead stöds inte (använd slutpunkten Hämta borttagna leads i stället). Hämta aktivitetstyp-ID:n med slutpunkten Hämta aktivitetstyper.primaryAttributeValueIds
. Värdet är en array med id:n som anger de primära attribut som ska filtreras. Högst 50 ID:n får anges. ID:n är den unika identifieraren för antingen ett lead-fält eller en resurs, och kan hämtas genom att anropa rätt REST API-slutpunkt. Om du till exempel vill filtrera ett specifikt formulär för aktiviteten Fyll i formulär skickar du formulärnamnet till slutpunkten Hämta formulär efter namn för att hämta formulär-ID:t. Här följer en lista över aktivitetstyper där filtrering av primära attribut stöds.primaryAttributeValues
. Värdet är en array med namn som anger de primära attribut som ska filtreras. Högst 50 namn får anges. Namnen är den unika identifieraren för antingen ett lead-fält eller en resurs och kan hämtas genom att anropa rätt REST API-slutpunkt. Om du till exempel vill filtrera ett specifikt formulär för aktiviteten Fyll i formulär skickar du formulär-ID:t till Hämta formulär med ID-slutpunkten för att hämta formulärnamnet. Här följer en lista över aktivitetstyper där filtrering av primära attribut stöds.Alternativ för primärAttributeValueIds primaryattributevalueids-options
När du använder primaryAttributeValueIds
måste filtret activityTypeIds
finnas och bara innehålla aktivitets-ID:n som matchar motsvarande resursgrupp. Om du till exempel filtrerar resurser i webbformulär tillåts bara aktivitetstypen "Fyll i formulär" i activityTypeIds
.
Exempeltext för begäran:
{
"filter": {
"createdAt": {
"startAt": "2021-07-01T23:59:59-00:00",
"endAt": "2021-07-02T23:59:59-00:00"
},
"activityTypeIds": [
2
],
"primaryAttributeValueIds": [
16,102,95,8
]
}
}
primaryAttributeValueIds
och primaryAttributeValues
kan inte användas tillsammans.
Alternativ för primärAttributvärden primaryattributevalues-options
Observera att du måste använda "<program>.<asset>" notation to specify the name for the following asset groups: Marketing Program, Static List, Web Form. Ett formulär med namnet"MPS Outbound" som finns under ett program med namnet"GL_OP_ALL_2021" skulle till exempel anges som"GL_OP_ALL_2021.MPS Outbound".
Exempeltext för begäran:
{
"filter": {
"createdAt": {
"startAt": "2021-07-01T23:59:59-00:00",
"endAt": "2021-07-02T23:59:59-00:00"
},
"activityTypeIds": [
2
],
"primaryAttributeValues": [
"GL_OP_ALL_2021.MPS Outbound"
]
}
}
När du använder primaryAttributeValues
måste filtret activityTypeIds
finnas och bara innehålla aktivitets-ID:n som matchar motsvarande resursgrupp. Om du till exempel filtrerar resurser i webbformulär tillåts bara aktivitetstypen "Fyll i formulär" i activityTypeIds
. primaryAttributeValues
och primaryAttributeValueIds
kan inte användas tillsammans.
Alternativ
createdAt
-filter måste inkluderas i arrayen. Ett valfritt activityTypeIds
-filter kan inkluderas. Filtren tillämpas på den tillgängliga aktivitetsuppsättningen och den resulterande uppsättningen aktiviteter returneras av exportjobbet.Valfri array med strängar som innehåller fältvärden. De listade fälten inkluderas i den exporterade filen. Som standard returneras följande fält:
marketoGUIDleadId
activityDate
activityTypeId
campaignId
primaryAttributeValueId
primaryAttributeValue
attributes
. Den här parametern kan användas för att minska antalet fält som returneras genom att ange en delmängd från listan ovan:"fields": ["leadId", "activityDate", "activityTypeId"]
. Ett ytterligare fält actionResult
kan anges för att inkludera aktivitetsåtgärden: ("succeeded", "skipped", or "failed")
.
Skapa ett jobb
Om du vill exportera poster måste du först definiera jobbet och den uppsättning poster som du vill hämta. Skapa jobbet med slutpunkten Skapa exportaktivitetsjobb. När du exporterar aktiviteter finns det två primära filter som kan användas: createdAt
, som alltid krävs, och activityTypeIds
, som är valfritt. Filtret createdAt
används för att definiera ett datumintervall i vilket aktiviteter skapades med parametrarna startAt
och endAt
som båda är datetime-fält och representerar det tidigaste tillåtna skapandedatumet respektive det senaste tillåtna skapandedatumet. Du kan även filtrera på vissa typer av aktiviteter med hjälp av filtret activityTypeIds
. Detta är användbart när du vill ta bort resultat som inte är relevanta för ditt användningsfall.
POST /bulk/v1/activities/export/create.json
{
"format": "CSV",
"filter": {
"createdAt": {
"startAt": "2017-07-01T23:59:59-00:00",
"endAt": "2017-07-31T23:59:59-00:00"
},
"activityTypeIds": [
1,
12,
13
]
}
}
{
"requestId": "e42b#14272d07d78",
"success": true,
"result": [
{
"exportId": "ce45a7a1-f19d-4ce2-882c-a3c795940a7d",
"status": "Created",
"createdAt": "2017-01-21T11:47:30-08:00",
"queuedAt": "2017-01-21T11:48:30-08:00",
"format": "CSV"
}
]
}
Jobbet har nu statusen"Skapat", men finns ännu inte i bearbetningskön. Om du vill placera den i kön så att den kan påbörja bearbetningen anropar du slutpunkten för Enqueue-exportaktivitetsjobbet med exportId från svaret på statusen när den skapades.
POST /bulk/v1/activities/export/{exportId}/enqueue.json
{
"requestId": "e42b#14272d07d78",
"success": true,
"result": [
{
"exportId": "ce45a7a1-f19d-4ce2-882c-a3c795940a7d",
"status": "Queued",
"createdAt": "2017-01-21T11:47:30-08:00",
"queuedAt": "2017-01-21T11:48:30-08:00",
"format": "CSV"
}
]
}
Nu rapporterar statusen att jobbet har placerats i kö. När en arbetare blir tillgänglig för det här jobbet ändras statusen till "Bearbetar" och jobbet börjar samla poster från Marketo.
Avsökningsjobbstatus
Jobbstatus kan bara hämtas för jobb som skapats av samma API-användare.
Marketo Bulk Activity Extract är en asynkron slutpunkt, så jobbstatusen måste avfrågas för att avgöra när jobbet är klart. Avsök med slutpunkten Get Export Activity Job Status enligt följande:
GET /bulk/v1/activities/export/{exportId}/status.json
{
"requestId": "e42b#14272d07d78",
"success": true,
"result": [
{
"exportId": "ce45a7a1-f19d-4ce2-882c-a3c795940a7d",
"status": "Completed",
"createdAt": "2017-01-21T11:47:30-08:00",
"queuedAt": "2017-01-21T11:48:30-08:00",
"startedAt": "2017-01-21T11:51:30-08:00",
"finishedAt": "2017-01-21T12:59:30-08:00",
"format": "CSV",
"numberOfRecords": 15423,
"fileSize": 12342,
"fileChecksum": "sha256:c16514c7e80fcac5ea055dacae9617fc3c29aff5365e3743071313ce0ed2a815"
}
]
}
Statusfältet kan svara med ett av följande värden:
- Skapad
- Köad
- Bearbetar
- Avbruten
- Slutförd
- Misslyckades
Hämtar data
När jobbet är klart hämtar du dina data med slutpunkten Hämta exportaktivitetsfil.
GET /bulk/v1/activities/export/{exportId}/file.json
Svaret innehåller en fil som är formaterad på det sätt som jobbet konfigurerades. Slutpunkten svarar med filens innehåll.
Om ett begärt lead-fält är tomt (innehåller inga data) placeras then null
i motsvarande fält i exportfilen. I exemplet nedan är fältet campaignId
för den returnerade aktiviteten tomt.
marketoGUID,leadId,activityDate,activityTypeId,campaignId,primaryAttributeValueId,primaryAttributeValue,attributes
783957693,5414087,2022-02-13T14:06:20Z,104,8497,1670,MembershipTest1,"{""Reason"":""Changed by Smart Campaign MembershipTestCampaignStepChoice.MembershipTestCampaignStepChoiceSetUp action Change Data Value"",""Program Member ID"":3240303,""Acquired By"":true,""Old Status"":""Not in Program"",""New Status ID"":21,""Success"":false,""New Status"":""On List"",""Old Status ID"":20}"
783958220,5414094,2022-02-13T14:08:50Z,104,17240,3569,SuccessWebCPS,"{""Program Member ID"":3240305,""Acquired By"":false,""Old Status"":""Not in Program"",""New Status ID"":6,""Success"":true,""New Status"":""Attended"",""Old Status ID"":1}"
783958306,5414094,2022-02-13T14:09:16Z,104,17240,3569,SuccessWebCPS,"{""Program Member ID"":3240305,""Acquired By"":false,""Old Status"":""Attended"",""New Status ID"":6,""Success"":false,""New Status"":""Attended"",""Old Status ID"":6}"
783961924,5316669,2022-02-13T14:27:21Z,104,11614,2333,Nurture Automation,"{""Program Member ID"":3240306,""Acquired By"":false,""Old Status"":""Not in Program"",""New Status ID"":27,""Success"":false,""New Status"":""Member"",""Old Status ID"":26}"
Om du vill ha stöd för delvis och återanvändningsvänlig hämtning av extraherade data, kan filslutpunkten (om det behövs) ha stöd för HTTP-huvudet Range
av typen bytes
. Om rubriken inte är inställd returneras hela innehållet. Du kan läsa mer om hur du använder intervallhuvudet med Marketo Massextrahering.
Avbryta ett jobb
Om ett jobb konfigurerades felaktigt eller blir onödigt kan det enkelt avbrytas med slutpunkten Avbryt exportaktivitetsjobb :
POST /bulk/v1/activities/export/{exportId}/cancel.json
{
"requestId": "e42b#14272d07d78",
"success": true,
"result": [
{
"exportId": "ce45a7a1-f19d-4ce2-882c-a3c795940a7d",
"status": "Cancelled",
"createdAt": "2017-01-21T11:47:30-08:00",
"format": "CSV"
}
]
}
Svaret har en status som anger att jobbet har avbrutits.