我正在使用ExactTarget的SOAP API。我可以通过电子邮件检索订阅者,但我有自己想要的自定义属性,例如年龄或性别。我尝试过复合滤波器,但没有运气。
这是我想要的,但在PHP中: http://help.exacttarget.com/en/technical_library/web_service_guide/technical_articles/creating_a_filterdefinition_object/
答案 0 :(得分:0)
FilterDefinitions用于在SFMC应用程序中定义可刷新的段。您当然可以创建它们并使用SOAP API执行它们,但它通常不是通过API返回一组订阅者的首选方法。为此,您只需使用复杂的过滤器在Subscriber object上进行检索即可。
这是一个示例SOAP信封:
<?xml version="1.0" encoding="UTF-8"?>
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<s:Header>
<a:Action s:mustUnderstand="1">Retrieve</a:Action>
<a:MessageID>urn:uuid:db7625ad-b909-48f7-a9e6-9819f5bd3ddb</a:MessageID>
<a:ReplyTo>
<a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address>
</a:ReplyTo>
<a:To s:mustUnderstand="1">https://webservice.exacttarget.com/Service.asmx</a:To>
<o:Security xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" s:mustUnderstand="1">
<u:Timestamp u:Id="_0">
<u:Created>2015-01-30T15:33:23.689Z</u:Created>
<u:Expires>2015-01-30T15:38:23.689Z</u:Expires>
</u:Timestamp>
<o:UsernameToken u:Id="uuid-85bdf3e7-075c-46a6-bbb1-37e7e48ad3d6-5">
<o:Username><!-- Removed--></o:Username>
<o:Password><!-- Removed--></o:Password>
</o:UsernameToken>
</o:Security>
</s:Header>
<s:Body xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RetrieveRequestMsg xmlns="http://exacttarget.com/wsdl/partnerAPI">
<RetrieveRequest>
<ClientIDs>
<ClientID>12345678</ClientID>
</ClientIDs>
<ObjectType>Subscriber</ObjectType>
<Properties>Client.ID</Properties>
<Properties>Client.PartnerClientKey</Properties>
<Properties>CreatedDate</Properties>
<Properties>EmailAddress</Properties>
<Properties>EmailTypePreference</Properties>
<Properties>ID</Properties>
<Properties>PartnerKey</Properties>
<Properties>Status</Properties>
<Properties>SubscriberKey</Properties>
<Properties>UnsubscribedDate</Properties>
<Filter xsi:type="ComplexFilterPart">
<LeftOperand xsi:type="SimpleFilterPart">
<Property>EmailAddress</Property>
<SimpleOperator>equals</SimpleOperator>
<Value>aspriggs@degdigital.com</Value>
</LeftOperand>
<LogicalOperator>AND</LogicalOperator>
<RightOperand xsi:type="SimpleFilterPart">
<Property>Client.ID</Property>
<SimpleOperator>equals</SimpleOperator>
<Value>12345678</Value>
</RightOperand>
<AdditionalOperands />
</Filter>
<QueryAllAccounts>true</QueryAllAccounts>
<Retrieves />
<Options>
<SaveOptions />
<IncludeObjects>true</IncludeObjects>
</Options>
</RetrieveRequest>
</RetrieveRequestMsg>
</s:Body>
</s:Envelope>
我还建议在salesforce.stackexchange.com发布SFMC问题。这就是大部分SFMC问题得到解答的地方。