listOperation
Diese Methode wird verwendet, um Vorgänge für eine statische Liste auszuführen, die in der Marketo-Lead-Datenbank definiert ist. Um Mitglieder einer in einem Programm definierten statischen Liste hinzuzufügen oder zu entfernen, verwenden Sie importToList. Jeder Aufruf an diesen Endpunkt ist auf 1.000 Leads pro Aufruf beschränkt.
Zu den Vorgangstypen gehören:
- Zu Liste hinzufügen
- Aus Liste entfernen
- Mitgliedschaft in Liste prüfen
Anfrage
Feldname
Erforderlich/Optional
Beschreibung
listOperation
Erforderlich
Der Typ des Vorgangs, der für die angegebene Liste ausgeführt werden soll. Mögliche Operationen:
ADDTOLIST
, ISMEMBEROFLIST
, REMOVEFROMLIST
listKey->keyType
Erforderlich
Der Listentyp, mit dem Sie arbeiten möchten. Mögliche Werte:
MKTOLISTNAME
, MKTOSALESUSERID
, SFDCLEADOWNERID
listKey->keyValue
Erforderlich
Name der Liste, mit der Sie arbeiten möchten.
listMemberList->leadKey->keyType
Erforderlich
keyType
können Sie die ID angeben, nach der Sie auf den Lead verweisen möchten. Mögliche Werte: IDNUM
listMemberList->leadKey->keyValue
Erforderlich
keyValue
ist der Wert, für den die Liste verwendet werden sollstreng
Optional
Der strikte Modus schlägt für den gesamten Vorgang fehl, wenn eine Teilmenge des Aufrufs fehlschlägt. Der Nicht-strikte Modus vervollständigt alles, was möglich ist, und gibt Fehler für alles zurück, was fehlgeschlagen ist.
Anfrage-XML
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.marketo.com/mktows/">
<SOAP-ENV:Header>
<ns1:AuthenticationHeader>
<mktowsUserId>demo17_1_809934544BFABAE58E5D27</mktowsUserId>
<requestSignature>9890d974aa58ccb96d7a0a3166573f6436c883dd</requestSignature>
<requestTimestamp>2013-08-05T16:34:19-07:00</requestTimestamp>
</ns1:AuthenticationHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:paramsListOperation>
<listOperation>ISMEMBEROFLIST</listOperation>
<listKey>
<keyType>MKTOLISTNAME</keyType>
<keyValue>Trav-Test-List</keyValue>
</listKey>
<listMemberList>
<leadKey>
<keyType>IDNUM</keyType>
<keyValue>87710</keyValue>
</leadKey>
<leadKey>
<keyType>IDNUM</keyType>
<keyValue>1089946</keyValue>
</leadKey>
</listMemberList>
<strict>false</strict>
</ns1:paramsListOperation>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Antwort-XML
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.marketo.com/mktows/">
<SOAP-ENV:Body>
<ns1:successListOperation>
<result>
<success>false</success>
<statusList>
<leadStatus>
<leadKey>
<keyType>IDNUM</keyType>
<keyValue>87710</keyValue>
</leadKey>
<status>false</status>
</leadStatus>
<leadStatus>
<leadKey>
<keyType>IDNUM</keyType>
<keyValue>1089946</keyValue>
</leadKey>
<status>true</status>
</leadStatus>
</statusList>
</result>
</ns1:successListOperation>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Beispielcode - PHP
<?php
$debug = true;
$marketoSoapEndPoint = ""; // CHANGE ME
$marketoUserId = ""; // CHANGE ME
$marketoSecretKey = ""; // CHANGE ME
$marketoNameSpace = "http://www.marketo.com/mktows/";
// Create Signature
$dtzObj = new DateTimeZone("America/Los_Angeles");
$dtObj = new DateTime('now', $dtzObj);
$timeStamp = $dtObj->format(DATE_W3C);
$encryptString = $timeStamp . $marketoUserId;
$signature = hash_hmac('sha1', $encryptString, $marketoSecretKey);
// Create SOAP Header
$attrs = new stdClass();
$attrs->mktowsUserId = $marketoUserId;
$attrs->requestSignature = $signature;
$attrs->requestTimestamp = $timeStamp;
$authHdr = new SoapHeader($marketoNameSpace, 'AuthenticationHeader', $attrs);
$options = array("connection_timeout" => 20, "location" => $marketoSoapEndPoint);
if ($debug) {
$options["trace"] = true;
}
// Create Request
$request = new stdClass();
$request->listOperation = "ISMEMBEROFLIST"; // ADDTOLIST, ISMEMBEROFLIST, REMOVEFROMLIST
$listKey = new stdClass();
$listKey->keyType = "MKTOLISTNAME"; // MKTOLISTNAME, MKTOSALESUSERID, SFDCLEADOWNERID
$listKey->keyValue = "Trav-Test-List";
$request->listKey = $listKey;
$leadKey = array("keyType" => "IDNUM", "keyValue" => "87710");
$leadKey2 = array("keyType" => "IDNUM", "keyValue" => "1089946");
$leadList = new stdClass();
$leadList->leadKey = array($leadKey, $leadKey2);
$request->listMemberList = $leadList;
$request->strict = false;
$params = array("paramsListOperation" => $request);
$soapClient = new SoapClient($marketoSoapEndPoint ."?WSDL", $options);
try {
$response = $soapClient->__soapCall('listOperation', $params, $options, $authHdr);
}
catch(Exception $ex) {
var_dump($ex);
}
if ($debug) {
print "RAW request:\n" .$soapClient->__getLastRequest() ."\n";
print "RAW response:\n" .$soapClient->__getLastResponse() ."\n";
}
print_r($response);
?>
Beispielcode - Java
import com.marketo.mktows.*;
import java.net.URL;
import javax.xml.namespace.QName;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import org.apache.commons.codec.binary.Hex;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.Marshaller;
public class ListOperation {
public static void main(String[] args) {
System.out.println("Executing List Operation");
try {
URL marketoSoapEndPoint = new URL("CHANGE ME" + "?WSDL");
String marketoUserId = "CHANGE ME";
String marketoSecretKey = "CHANGE ME";
QName serviceName = new QName("http://www.marketo.com/mktows/", "MktMktowsApiService");
MktMktowsApiService service = new MktMktowsApiService(marketoSoapEndPoint, serviceName);
MktowsPort port = service.getMktowsApiSoapPort();
// Create Signature
DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
String text = df.format(new Date());
String requestTimestamp = text.substring(0, 22) + ":" + text.substring(22);
String encryptString = requestTimestamp + marketoUserId ;
SecretKeySpec secretKey = new SecretKeySpec(marketoSecretKey.getBytes(), "HmacSHA1");
Mac mac = Mac.getInstance("HmacSHA1");
mac.init(secretKey);
byte[] rawHmac = mac.doFinal(encryptString.getBytes());
char[] hexChars = Hex.encodeHex(rawHmac);
String signature = new String(hexChars);
// Set Authentication Header
AuthenticationHeader header = new AuthenticationHeader();
header.setMktowsUserId(marketoUserId);
header.setRequestTimestamp(requestTimestamp);
header.setRequestSignature(signature);
// Create Request
ParamsListOperation request = new ParamsListOperation();
request.setListOperation(ListOperationType.ISMEMBEROFLIST);
ListKey listKey = new ListKey();
listKey.setKeyType(ListKeyType.MKTOLISTNAME);
listKey.setKeyValue("Trav-Test-List");
request.setListKey(listKey);
LeadKey key = new LeadKey();
key.setKeyType(LeadKeyRef.IDNUM);
key.setKeyValue("87710");
LeadKey key2 = new LeadKey();
key2.setKeyType(LeadKeyRef.IDNUM);
key2.setKeyValue("1089946");
ArrayOfLeadKey leadKeys = new ArrayOfLeadKey();
leadKeys.getLeadKeies().add(key);
leadKeys.getLeadKeies().add(key2);
request.setListMemberList(leadKeys);
JAXBElement<Boolean> strict = new ObjectFactory().createParamsListOperationStrict(false);
request.setStrict(strict);
SuccessListOperation result = port.listOperation(request, header);
JAXBContext context = JAXBContext.newInstance(SuccessListOperation.class);
Marshaller m = context.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
m.marshal(result, System.out);
}
catch(Exception e) {
e.printStackTrace();
}
}
}
Beispielcode - Ruby
require 'savon' # Use version 2.0 Savon gem
require 'date'
mktowsUserId = "" # CHANGE ME
marketoSecretKey = "" # CHANGE ME
marketoSoapEndPoint = "" # CHANGE ME
marketoNameSpace = "http://www.marketo.com/mktows/"
#Create Signature
Timestamp = DateTime.now
requestTimestamp = Timestamp.to_s
encryptString = requestTimestamp + mktowsUserId
digest = OpenSSL::Digest.new('sha1')
hashedsignature = OpenSSL::HMAC.hexdigest(digest, marketoSecretKey, encryptString)
requestSignature = hashedsignature.to_s
#Create SOAP Header
headers = {
'ns1:AuthenticationHeader' => { "mktowsUserId" => mktowsUserId, "requestSignature" => requestSignature,
"requestTimestamp" => requestTimestamp
}
}
client = Savon.client(wsdl: 'http://app.marketo.com/soap/mktows/2_3?WSDL', soap_header: headers, endpoint: marketoSoapEndPoint, open_timeout: 90, read_timeout: 90, namespace_identifier: :ns1, env_namespace: 'SOAP-ENV')
#Create Request
request = {
:list_operation => "ISMEMBEROFLIST",
:list_key => {
:key_type => "MKTOLISTNAME",
:key_value => "Trav-Test-List" },
:list_member_list => {
:lead_key => {
:key_type => "IDNUM",
:key_value => "87710" },
:lead_key! => {
:key_type => "IDNUM",
:key_value => "1089946" }
},
:strict => "false"
}
response = client.call(:list_operation, message: request)
puts response
recommendation-more-help
bb269a6d-047a-4bf7-9acd-23ad9a63dc59