SOLVED

Is there anything I can do to speed the getMultipleLeads API call?

Go to solution
Anonymous
Not applicable

Re: Is there anything I can do to speed the getMultipleLeads API call?

That would be groovtacular, but the WSDL marked "2_0" does not appear to offer such a filter.  Here's the XML for that method's parameters struct:

<xs:complexType name="ParamsGetMultipleLeads">
<xs:sequence>
<xs:element name="leadSelector" type="tns:LeadSelector" minOccurs="0" maxOccurs="1" nillable="false"/>
<xs:element name="lastUpdatedAt" type="xs:dateTime" minOccurs="0" maxOccurs="1" nillable="false"/>
<xs:element name="streamPosition" type="xs:string" minOccurs="0" maxOccurs="1" nillable="true"/>
<xs:element name="batchSize" type="xs:int" minOccurs="0" maxOccurs="1" nillable="true"/>
<xs:element name="includeAttributes" type="tns:ArrayOfString" minOccurs="0" maxOccurs="1" nillable="false"/>
</xs:sequence>
</xs:complexType>

Being able to filter both start and end dates, and by date created or by date modified, would be very useful.
 
Anonymous
Not applicable

Re: Is there anything I can do to speed the getMultipleLeads API call?

You have to put it in the leadSelector object:

<xs:extension base="tns:LeadSelector">
<xs:sequence>
<xs:element name="latestUpdatedAt" type="xs:dateTime" minOccurs="0" maxOccurs="1" nillable="true"/>
<xs:element name="oldestUpdatedAt" type="xs:dateTime" minOccurs="1" maxOccurs="1" nillable="false"/>
</xs:sequence>
</xs:extension>

We support the non-LeadSelector option so the old API calls still work against the new endpoint.
Anonymous
Not applicable

Re: Is there anything I can do to speed the getMultipleLeads API call?

I did look at LeadSelector, however it's an abstract class, not instantiable.  However, the LastUpdateAtSelector is usable, and it exposes latestUpdatedAt and oldestUpdatedAt fields.  Very promising, I will test this!
Anonymous
Not applicable

Re: Is there anything I can do to speed the getMultipleLeads API call?

Hi Jon, were you able to make any headway into speeding up your use of the Eloqua API?  What did you end up doing?  We're also trying to monitor all updated data fields and are also trying to find ways to cope with the slow API performance.  Thanks in advance for any wisdom you can impart.
Anonymous
Not applicable

Re: Is there anything I can do to speed the getMultipleLeads API call?

I'm not familiar with Eloqua.  Are you sure you're in the right forum?
Anonymous
Not applicable

Re: Is there anything I can do to speed the getMultipleLeads API call?

D'oh.  I meant Marketo.
Anonymous
Not applicable

Re: Is there anything I can do to speed the getMultipleLeads API call?

We're able to keep up with our volume in near-real time by running these queries twice an hour:
  1. Get new leads (with a time horizon of 1.05 hours), max 10K records.  This uses the getMultipleLeads() API method, using a LastUpdateAtSelector.
  2. Get recent activities (with a time horizon of 1.05 hours), max 10K records.  This uses the getLeaChanges() method and a limited set of activity types.
  3. Get activities by lead, max 500 records.  This uses getLeadActivity(), and checks specific lead IDs on a rotating basis.