getLead
Diese Funktion ruft einen einzelnen Lead-Datensatz aus Marketo mit allen Feldwerten für die integrierten und benutzerdefinierten Felder für einen Lead ab, der durch den bereitgestellten Schlüssel (LeadKey) identifiziert wird. Wenn der Lead basierend auf den Eingabeparametern vorhanden ist, werden die Attribute für den Lead-Datensatz im Ergebnis zurückgegeben.
HINWEIS: Lead-Attribute vom Datentyp „Zeichenfolge“, die leer sind, werden nicht als Teil der Antwort zurückgegeben.
Anfrage
Feldname
Erforderlich/Optional
Beschreibung
leadKey->keyType
Erforderlich
Mit keyType können Sie das Feld angeben, nach dem Sie den Lead abfragen möchten. Mögliche Werte sind:
IDNUM
, COOKIE
, EMAIL
, SFDCLEADID
, LEADOWNEREMAIL
, SFDCACCOUNTID
, SFDCCONTACTID
, SFDCLEADID
, SFDCLEADOWNERID
, SFDCOPPTYID
leadKey->keyValue
Erforderlich
keyValue ist der Wert, nach dem Sie den Lead abfragen möchten.
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>bigcorp1_461839624B16E06BA2D663</mktowsUserId>
<requestSignature>ffbff4d4bef354807481e66dc7540f7890523a87</requestSignature>
<requestTimestamp>2013-07-30T14:15:06-07:00</requestTimestamp>
</ns1:AuthenticationHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:paramsGetLead>
<leadKey>
<keyType>EMAIL</keyType>
<keyValue>rufus@marketo.com</keyValue>
</leadKey>
</ns1:paramsGetLead>
</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:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://www.marketo.com/mktows/">
<SOAP-ENV:Body>
<ns1:successGetLead>
<result>
<!-- The number of lead records matching keyValue criteria -->
<count>1</count>
<leadRecordList>
<leadRecord>
<!-- Marketo ID -->
<Id>1089965</Id>
<!-- Email address associated with the lead -->
<Email>rufus@marketo.com</Email>
<!-- Unique person identifier generated by system outside of Marketo -->
<ForeignSysPersonId xsi:nil="true" />
<!-- Foreign system type: CUSTOM, SFDC, NETSUITE -->
<ForeignSysType xsi:nil="true" />
<leadAttributeList>
<attribute>
<attrName>AnonymousIP</attrName>
<attrType>string</attrType>
<attrValue>172.249.34.240</attrValue>
</attribute>
<attribute>
<attrName>Company</attrName>
<attrType>string</attrType>
<attrValue>Marketo</attrValue>
</attribute>
<attribute>
<attrName>FirstName</attrName>
<attrType>string</attrType>
<attrValue>Travis</attrValue>
</attribute>
<attribute>
<attrName>InferredCompany</attrName>
<attrType>string</attrType>
<attrValue>Time Warner Cable</attrValue>
</attribute>
<attribute>
<attrName>InferredCountry</attrName>
<attrType>string</attrType>
<attrValue>United States</attrValue>
</attribute>
<attribute>
<attrName>LastName</attrName>
<attrType>string</attrType>
<attrValue>Kaufman</attrValue>
</attribute>
<attribute>
<attrName>LeadScore</attrName>
<attrType>integer</attrType>
<attrValue>62</attrValue>
</attribute>
<attribute>
<attrName>Website</attrName>
<attrType>url</attrType>
<attrValue>gmail.com</attrValue>
</attribute>
</leadAttributeList>
</leadRecord>
</leadRecordList>
</result>
</ns1:successGetLead>
</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
$leadKey = array("keyType" => "EMAIL", "keyValue" => "rufus@marketo.com");
$leadKeyParams = array("leadKey" => $leadKey);
$params = array("paramsGetLead" => $leadKeyParams);
$soapClient = new SoapClient($marketoSoapEndPoint ."?WSDL", $options);
try {
$lead = $soapClient->__soapCall('getLead', $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($lead);
?>
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.Marshaller;
public class GetLead {
public static void main(String[] args) {
System.out.println("Executing Get Lead");
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
ParamsGetLead request = new ParamsGetLead();
LeadKey key = new LeadKey();
key.setKeyType(LeadKeyRef.EMAIL);
key.setKeyValue("t@t.com");
request.setLeadKey(key);
SuccessGetLead result = port.getLead(request, header);
JAXBContext context = JAXBContext.newInstance(SuccessGetLead.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 = {
:lead_key => {
:key_type => "EMAIL",
:key_value => "rufus@marketo.com"
}
}
response = client.call(:get_lead, message: request)
puts response
recommendation-more-help
bb269a6d-047a-4bf7-9acd-23ad9a63dc59