API för datainmatning
API:t för datainmatning är en tjänst med hög volym, låg latens och hög tillgänglighet som är utformad för att hantera stora mängder personrelaterade data effektivt och med minimal fördröjning.
Data hämtas genom att begäranden som körs asynkront skickas. Status för begäran kan hämtas genom att prenumerera på händelser från Marketo-dataströmmen för observabilitet.
Gränssnitt erbjuds för två objekttyper: Personer, Egna objekt. Poståtgärden är bara"infoga eller uppdatera".
Autentisering
API:t för datainmatning använder samma OAuth 2.0-autentiseringsmetod som Marketo REST API för att generera en åtkomsttoken, men åtkomsttoken måste skickas via HTTP-huvudet X-Mkto-User-Token
. Du kan inte skicka åtkomsttoken via en frågeparameter.
Exempel på åtkomsttoken via rubrik:
X-Mkto-User-Token: 11606815-aa7a-405a-80a1-f9683efa528b:ab
Behörigheter
Datainmatning använder samma behörighetsmodell som Marketo REST API och kräver inga ytterligare specialbehörigheter att använda, men specifika behörigheter krävs för varje slutpunkt.
Sidhuvuden
Datainmatning använder följande anpassade HTTP-rubriker.
Begäran
Svar
Begäranden
Använd HTTP POST-metoden för att skicka data till servern.
Datarepresentationen är inkluderad i begärandetexten som application/json.
Domännamnet är: mkto-ingestion-api.adobe.io
Sökvägen börjar med /subscriptions/MunchkinId
där MunchkinId är specifik för din Marketo-instans. Du hittar ditt Munchkin-ID i Marketo Engage-gränssnittet under Admin > Mitt konto > Supportinformation. Resten av sökvägen används för att ange den givna resursen.
Exempel-URL för personer:
https://mkto-ingestion-api.adobe.io/subscriptions/556-RJS-213/persons
Exempel-URL för anpassade objekt:
https://mkto-ingestion-api.adobe.io/subscriptions/556-RJS-213/customobjects/purchases
Svar
Alla svar returnerar ett unikt begärande-ID via huvudet X-Request-Id
.
Exempel på begärande-ID via rubrik:
X-Request-Id: WOUBf3fHJNU6sTmJqLL281lOmAEpMZFw
Lyckades
När ett anrop lyckas returneras status 202. Ingen svarstext returneras.
Exempel på lyckat svar:
HTTP/1.1 202 Accepted
X-Request-Id: e3d92152-0fb1-444a-8f8f-29d5a2338598
Content-Length: 0
Date: Wed, 18 Oct 2023 18:56:49 GMT
Fel
När ett anrop genererar ett fel returneras en status som inte är 202 tillsammans med ett svarstext med ytterligare felinformation. Svarstexten är application/json och innehåller ett enda objekt med medlemserror_code och message.
Nedan visas återanvända felkoder från Adobe Developer Gateway.
Nedan visas felkoder som är unika för API:t för datainmatning och som består av tre segment. De första tre siffrorna är statusen (returneras av Adobe Developer Gateway), följt av noll"0", följt av tre siffror.
Försök igen
När ett tillfälligt fel upptäcks försöker tjänsten utföra åtgärden igen tre gånger. Det första återförsöket görs efter en 5 minuter lång vänteperiod, det andra efter 30 minuter till och slutligen det tredje efter 30 minuter till. Försök görs på nytt av olika anledningar, i första hand när en beroende tjänst inte är tillgänglig eller inte är tillgänglig för tillfället.
Slutpunkter
Slutpunkter för inmatning är tillgängliga för Personer och Anpassade objekt.
Personer
Slutpunkt som används för att infoga personposter.
Sidhuvuden
Begärandetext
Två attribut används i en AND-åtgärd. Om till exempel både
email
och firstName
anges används båda för att leta upp en person med AND-åtgärden.Attribut som stöds är:
id
, email
, sfdcAccountId
, sfdcContactId
, sfdcLeadId
sfdcLeadOwnerId
, anpassade attribut ("string" och"integer"), email
Behörigheter som krävs är Read-Write Lead
.
Exempel på personer
Begäran
POST /subscriptions/{munchkinId}/persons
Sidhuvuden
Content-Type: application/json
X-Mkto-User-Token: {accessToken}
Brödtext
{
"priority": "high",
"partitionName": "EMEA",
"dedupeFields": {
"field1": "email",
"field2": "firstName"
},
"persons":[
{
"email": "brooklyn.parker@karnv.com",
"firstName": "Brooklyn",
"lastName": "Parker"
},
{
"email": "johnny.neal@yvu30.com",
"firstName": "Johnny",
"lastName": "Neal"
}
]
}
Svar
HTTP/1.1 202
X-Request-ID: WOUBf3fHJNU6sTmJqLL281lOmAEpMZFw
Anpassade objekt
Slutpunkt som används för att skicka anpassade objektposter
/subscriptions/{munchkinId}/customobjects/{customObjectAPIName}
Sidhuvuden
Begärandetext
Nödvändiga behörigheter är Read-Write Custom Object
.
Om ett länkfält till en person anges i begäran och den personen inte finns, görs flera försök. Om den personen läggs till under återförsöksfönstret (65 minuter) slutförs uppdateringen. Om t.ex. länkfältet är e-post för person och personen inte finns, görs ett nytt försök.
Exempel på anpassade objekt
Begäran
POST /subscriptions/{munchkinId}/customobjects/{customObjectAPIName}
Sidhuvuden
Content-Type: application/json
X-Mkto-User-Token: {accessToken}
Brödtext
{
"dedupeBy": "dedupeFields",
"priority": "high",
"customObjects": [
{
"email": "brooklyn.parker@karnv.com",
"vin": "20UYA31581L000000",
"make": "BMW",
"model": "3-Series 330i",
"year": 2003
},
{
"email": "johnny.neal@yvu30.com",
"vin": "19UYA31581L000000",
"make": "BMW",
"model": "3-Series 325i",
"year": 1989
}
]
}
Svar
HTTP/1.1 202
X-Request-ID: WOUBf3fHJNU6sTmJqLL281lOmAEpMZFw
Gränser
Här följer en lista över användning av skyddsräcken:
- Maximal storlek för begäran: 1 MB
- Maximalt antal objekt per begäran per objekttyp: 1 000
- Maximalt antal begäranden per sekund per klient-ID: 5 000
- Maximalt antal objekt per dag: 10 000 000
API för datainmatning jämfört med REST API
Här är en lista över skillnader mellan API:t för datainmatning och andra Marketo REST-API
- Det här är inte ett fullständigt CRUD-gränssnitt, det stöder bara upsert
- Om du vill autentisera måste du skicka åtkomsttoken med hjälp av huvudet
X-Mkto-User-Token
- URL-domännamnet är
mkto-ingestion-api.adobe.io
- URL-sökvägen börjar med
/subscriptions/MunchkinId
- Det finns inga frågeparametrar
- Om anropet lyckas returneras status 202 och svarstexten är tom
- Om anropet misslyckas returneras en status som inte är 202 och svarstexten innehåller
{ "error_code" : "Error Code", "message" : "Message" }
- Begärande-ID returneras via rubriken
X-Request-Id