0

ExactTarget の SOAP API を使用しています。メールで購読者を取得できますが、年齢や性別など、取得したいカスタム属性があります。複雑なフィルターを試しましたが、うまくいきませんでした。

ここに私が欲しいものがありますが、PHP で: http://help.exacttarget.com/en/technical_library/web_service_guide/technical_articles/creating_a_filterdefinition_object/

4

1 に答える 1

0

FilterDefinitions は、SFMC アプリケーションで更新可能なセグメントを定義するためのものです。確かにそれらを作成して SOAP API で実行することはできますが、通常、API を介して一連のサブスクライバーを返す方法は推奨されません。これを行うには、複雑なフィルターを使用して、 Subscriber オブジェクトを取得するだけです。

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>

また、SFMC に関する質問をsalesforce.stackexchange.comに投稿することをお勧めします。ここで、SFMC に関する質問の大半が回答されます。

于 2015-01-30T15:41:42.573 に答える