Welcome to the Quick Start Guide for integrating with Informz. We look forward to partnering with you to help build a successful integration. Much of this information is also found in our Complete Guide, which contains the full swath of abilities, calls, etc. The purpose of this guide is to distill that information down to the core elements necessary to create an effective and fully functioning integration with Informz.
Setup
Here are the steps you must complete to set up your environment to work with Informz.
- Ensure that your firewall allows a connection to Informz’s web service.
- Provide Informz with a list or range of IP addresses that your API requests originate from. We'll add those to a list of allowed IP addresses during the account creation process.
- Provide us with the email address, username, and password you wish to have associated with the API user for the account.
- Decide whether to employ encryption.
- If no, then a username and password will be established in the account.
- If yes, Informz provides you with an encryption key once connectivity with the webservice has been established.
Informz furnishes the following information to be used with your setup/calls (characters in bold are examples only):
- <Password>password</Password>
- <Brand id="1234">My Brand</Brand>
- <User>informz</User>
- URL for logging in to partnertest
Test Environment
You can test your work via our publicly available interface, https://partnertest.informz.net/aapi/InformzService.svc. In addition, upon request, Informz can furnish a stand-alone application that allows you to feed XML calls directly into your parntertest account as a way of testing your calls independent of the web service and other development work.
Moving to Production
Once development and testing are complete, the final step is to move the work to production. Here are the steps you must perform:
- Change the endpoint URL to point to:
- For the US: https://partner.informz.net/aapi/InformzService.svc (rather than partnertest)
- For Canada: https://partner.informz.ca/aapi/InformzService.svc
- Create a user account in Informz, if this is different than what was used during development. This can be done either by a single Informz account used for all calls, or existing user credentials can be passed in to support auditing of the messages.
Schema and WSDL Locations
The Informz XSD can be found at http://partner.informz.net/aapi/schema/InformzService.xsd.
The WSDL can be found at https://partner.informz.net/aapi/InformzService.svc?WSDL.
API Method
There is a single method in the Informz API. This is:
PostInformzMessage (string)
The input string parameter should be a fully formed XML document.
Basic Outline for Integration
The following outline provides the basic steps necessary to integrate with Informz.
- To push list and personalization data into Informz:
- Use the BulkUpload ActionRequest.
- Supply the list of Interest name(s) you wish the list of subscribers to be included in.
- Specify if you want to add, remove, or replace the current list of subscribers in the interest:
- AddOrUpdateSubscribers
- ReplaceAllSubscribers
- RemoveSubscribers
- In your subscriber list include:
- Email address (first in the list)
- Remote ID (primary key from your database)
- Any personalizations you wish to have associated with this record (e.g., FirstName, Status, etc.)
You will receive a successful response with an UploadID indicating that we have received your request.
- To determine when the Upload is completed, use these criteria:
- If you have used (<StatusEmailRecipients><Email>Test@test.com</Email></StatusEmailRecipients>) in your call, an email is sent to that address when the Upload has been completed.
- Use that UploadID to make a GridRequest using the upload_history context, which tells you when the Upload has been processed:
- Supply the upload_id
- Return the status
- To see which mailings were sent on a specific day or range of days:
- Use the mailing_instance context.
- Supply the date value(s) as conditions using the mailing_date field.
- Return the list of mailing_instance_id(s) for usage below.
- To see mailing activities from specific mailings:
- Use the values from Step 2 above.
- Query the mailing_activity_subscriber_actions context or subscriber_mailing_history context. This gives you:
- Clicked (Y/N)
- Delivered (Y/N)
- Opened (Y/N)
- To see who unsubscribed from a specific mailing:
- Use the values from Step 2 above.
- Query the subscriber context with:
- cancellation_mailing_instance_id
- cancellation_date for desired range
- is_unsubscriber
- To see who has opted out of Informz Interests managed from an Informz subscription form (this does not require a mailing_instance_id):
- Use the Subscriber Removed From Interests GridRequest context.
- Include the list of Interest Name(s) you wish to be pulling back data from. Make sure the name list matches exactly for Case, etc.
- Use the deleted_from_interest_date field to supply a data that includes everyone since the last time you pulled. (If you run this once a day, then you just need the data from the previous day).
Bulk Upload
This document is used to transfer larger (>1,000) subscriber lists to Informz for processing. Processing options are:
- AddOrUpdateSubscribers (adds and updates the list)
- ReplaceAllSubscribers (swaps out all the subscribers in the list)
- RemoveSubscribers (removes subscribers from the list)
The BulkUpload is asynchronous. This means that there is a delay of a few minutes between when the call is received and acknowledged, and when it is full uploaded. Upon the completion of the upload process, an email notification is sent to any email addresses listed in the StatusEmailRecipients node.
The <UploadID>###</UploadID> returned in the response gives the upload ID and can be used to query the success/failure of that upload.
Request
<ActionRequest xmlns="http://partner.informz.net/aapi/2009/08/"> <Brand id="9999">Test Brand</Brand> <User>testuser</User> <Password>password</Password> <Actions> <BulkUpload> <UploadDetails> <InterestDetails> <InterestNames> <InterestName>Sample Interest 1</InterestName> <InterestName>Sample Interest 2</InterestName> <InterestName>Sample Interest 3</InterestName> </InterestNames> <InterestAction>AddOrUpdateSubscribers</InterestAction> </InterestDetails> <StatusEmailRecipients> <Email>johndoe@example.com</Email> </StatusEmailRecipients> <ColumnDelimiter>,</ColumnDelimiter> <HasFieldsEnclosedInQuotes>1</HasFieldsEnclosedInQuotes> <RemovePersonalInfoIfBlank>0</RemovePersonalInfoIfBlank> </UploadDetails> <FieldDefinitions> <FieldDefinition> <Name>Email</Name> <DataType>string</DataType> <ColumnIndex>1</ColumnIndex> <FieldType>Email</FieldType> </FieldDefinition> <FieldDefinition> <Name>ID</Name> <DataType>integer</DataType> <ColumnIndex>2</ColumnIndex> <FieldType>ID</FieldType> </FieldDefinition> <FieldDefinition> <Name>FirstName</Name> <DataType>String</DataType> <ColumnIndex>3</ColumnIndex> </FieldDefinition> </FieldDefinitions> <Data> <![CDATA[ joe@example.com, 1374, Joe sally@example.com, 5463, Sally tom@example.com, 294, Tom alice@example.com, 99375, Alice ]]> </Data> </BulkUpload> </Actions> </ActionRequest>
Details
Node | Type | Req'd | Unique | Description |
---|---|---|---|---|
<UploadDetails> | String | True | NA | Details of the file format used in the BulkUpload |
<UploadDetails> |
String | True | The interest(s) that all of these subscribers will be assigned to or removed from depending upon the UploadAction used. You can use multiple InterestNames | |
<UploadDetails> <InterestDetails> <InterestAction> |
String | True | NA |
Choices: AddOrUpdateSubscribers, ReplaceAllSubscribers, RemoveSubscribers |
<UploadDetails> <StatusEmailRecipients> |
String | True | True | The email(s) addresses to send the status message regarding the bulk upload once it is complete. Use <Email/> if you wish to leave it blank |
<UploadDetails> <ColumnDelimiter> |
String | True | NA | The column delimiter character used in the file |
<UploadDetails> <HasFieldsEnclosedInQuotes> |
Bit | True | NA | Are values enclosed in quotation marks? This can be applied to any or all incoming columns. Quotations are not required even if element is set to True. |
<UploadDetails> <RemovePersonalInfoIfBlank> |
Bit | False | NA | Should existing personalization values inside Informz be blanked out for personalization values included in this upload. Assumes False or NO will NOT |
<UploadDetails> <ColumnIndex> |
Integer | False | True | The column where the unique record identifier from the partner application resides |
<FieldDefinitions> | NA | True | NA | Details of each field in the incoming file. Not all columns in the incoming file have to be used by Informz. Columns are ignored if they are not identified in the FieldDefinitions. |
<FieldDefinitions> <Name> |
String | True | True | The corresponding personalization field in Informz. If field does not exist it is created. The name ‘Email’ is reserved to indicate the column that contains the email address. Only one column can be defined as ‘Email’. |
<FieldDefinition> <DataType> |
String | True | False | Choices: String, Integer, Float, Date |
<FieldDefinition> <DefaultValue> |
String | True | False | A default value to use if the column is blank |
<FieldDefinition> <ColumnIndex> |
Integer | True | False | Which column contains the defined value. First column is column 1. |
<FieldDefinition> <FieldType> |
String | True | NA | If left blank, the default value is PersonalInfo, other possible values are Email, ID, Source, and NewsFormat |
Notes
- When using ReplaceAll, if no replacement subscribers are included, all subscribers are removed from the interest.
- It is presumed that there will not be a header row in the file.
- Data in the <Data> tag needs to be "XML-safe." This can be done either by using CDATA sections as shown in the example above or by HTML encoding the text.
- Leading and trailing blanks are trimmed from the field.
- Field definitions are ignored when using the RemoveSubscribers Interest Action.
- The only fields updated are those defined in FieldDefinitions.
- If the ColumnDelimiter tag isn't included, the delimiter defaults to a Tab.
- Incoming email addresses are converted to all lowercase.
- To explicitly include a Tab column delimiter use the format below:
<ColumnDelimiter><![CDATA[ ]]></ColumnDelimiter>
Response
The response to a BulkUpload indicates the success or failure of the action.
<?xml version="1.0" encoding="utf-16"?> <ActionResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://partner.informz.net/aapi/2009/08/"> <Brand id="9999">Test Brand</Brand> <User>testuser</User> <Responses> <BulkUpload> <UploadID>1426</UploadID> <ActionStatus> <Status>success</Status> <Message xsi:type="xsd:string">Data submitted.</Message> </ActionStatus> </BulkUpload> </Responses> </ActionResponse>
Grid Request Overview
A GridRequest is used to retrieve data from Informz. Retrieved data can be analyzed, reported on, and included within your application. Selecting the appropriate GridRequest is dependent upon your data needs. For example, summarized data from the publishing of one mailing is available in the MailingActivity document. If detailed mailing activity was needed on a subscriber (email) basis, then using Subscriber_Mailing_History would be appropriate. Here are some other important things to understand about how Informz data is organized.
- Each entity returned is contained within its own Record element.
- There is a maximum of 1,000 rows that can be returned in one request.
Details (Part 1)
Node | Type | Req'd | Description |
---|---|---|---|
<DataElement> | String | True | At least one return field is required in a GridRequest. Pass the descriptive name of the data element you wish to retrieve. |
<DataElement>MailingInstanceID | String | True | The "key value" of the pair. In this case, a mailing instance ID. |
<DataValue>##### | String | True | The associated value of the DataElement. |
<NumberOfRows>### | Int | False | The number of rows to be returned per request. |
<ReturnFields> | N/A | Available fields that can be returned. | |
<SetOperator>IN | String | False | Choices: IN (in range), EQ (equals), GT (greater than), GTE (greater than or equal to), LT (less than), LTE (less than or equal to), NE (not equal) If a range of values is desired, use "IN" as the SetOperator and provide two data values to indicate the lower and upper ranges. |
<SortField order="asc"> <DataElement> |
String | False | Choices: asc (Ascending) or desc (descending) The DataElement is the field to be sorted. |
<StartRow> | Int | N/A | The ordinal placement of the first row in the return set. |
Note that the Conditions Collection accommodates multiple Condition criteria.
Details (Part 2)
Node | Type | Description |
---|---|---|
<Field element="abc">#### | Int | Element = "abc" the previously requested data element with its value. The data type for code is always Int and for description it’s always String. |
<Record row="#"> | Int | A unique row #. |
The maximum number of rows returned is dependent upon the value of <NumberOfRows> in the request.
Conditions
The conditions block is the way in which data can be specified for the GridRequest. By using the appropriate combination of comparators and operators, the conditions block can be tailored to meet specific data needs.
Comparators and Operators
The comparators listed below are used within any conditions statement in a GridRequest document.
Description | Code |
---|---|
Equal To | EQ |
Not equal to |
NEQ |
Greater than | GT |
Less than | LT |
Less than or equal to | LTE |
Greater than or equal to | GTE |
Below is an example of searching for a specific mailing instance:
<Conditions> <Condition> <Single> <DataElement>MailingInstanceID</DataElement> <Comparator>EQ</Comparator> <DataValue>478922</DataValue> </Single> </Condition> <Condition> <Single> <DataElement>EmailAddress</DataElement> <Comparator>EQ</Comparator> <DataValue>gulliver@yahoo.com</DataValue> </Single> </Condition> </Conditions>
The operators listed below are used within a Condition Collection in a GridRequest document.
Description | Code |
---|---|
Equal To | EQ |
Not equal to |
NEQ |
In | IN |
Not In | NOT IN |
<Conditions> <Condition> <Collection> <DataElement>MailingID</DataElement> <DataValue>51223</DataValue> <DataValue>51238</DataValue> <SetOperator>IN</SetOperator> </Collection> </Condition> </Conditions>
Between
The following example creates a range for a request.
<Condition> <Between> <DataElement>mailing_date</DataElement> <DataValue>2008-04-28T04:40:00</DataValue> <DataValue>2008-04-28T04:41:00</DataValue> </Between> </Condition>
When creating a range for dates, make sure that the smaller (earlier) value is entered before (above) the larger (later).
DateTime with a Comparator
Time defaults to 00:00:00 UTC and is required when using EQ or IN. It is optional for all others.
Paging
It may be appropriate to use paging within the document to manage the data, which would occur in the client application. This is applicable for GridRequest documents only. If order is not specified, ascending is used. Use "desc" for descending. The GridResponse reflects the appropriate row numbers. The grid request would implement paging using SortField, StartRow and NumberOfRows like this:
<SortField order="asc">Mailing_Date</SortField> <StartRow>200</StartRow> <NumberOfRows>50</NumberOfRows>
Making the Call
Here is an example of a message that is encrypted, compressed, and encoded. The account, user, password, and encryption tags (if used) must be populated with the values supplied by Informz. When dealing with encryption and compression, white space counts. Start with this message:
<GridRequest xmlns="http://partner.informz.net/aapi/2009/08/"> <Password>password</Password> <Brand id="1234">My Brand</Brand> <User>informz</User> <Grids> <Grid type="mailing_instance"> <Conditions> <Condition> <Single> <DataElement>Mailing_Date</DataElement> <DataValue>2011-09-01</DataValue> <Comparator>GTE</Comparator> </Single> </Condition> <Condition> <Single> <DataElement>Mailing_Date</DataElement> <DataValue>2011-09-02</DataValue> <Comparator>LT</Comparator> </Single> </Condition> </Conditions> <ReturnFields> <DataElement>Count</DataElement> </ReturnFields> </Grid> </Grids> </GridRequest>
Here is the payload that must be gzip-compressed (just the Grid node from above, with white space removed for the example, with a length of 451):
<Grid type="mailing_instance" xmlns="http://partner.informz.net/aapi/2009/08/"><Conditions><Condition> <Single><DataElement>Mailing_Date</DataElement><DataValue>2011‑09‑01</DataValue> <Comparator>GTE</Comparator></Single></Condition><Condition><Single> <DataElement>Mailing_Date</DataElement><DataValue>2011‑09‑02</DataValue><Comparator>LT</Comparator> </Single></Condition></Conditions><ReturnFields><DataElement>Count</DataElement></ReturnFields></Grid>
Here is the result from the compression:
[0] 31 byte
[1] 139 byte
[2] 8 byte
[3] 0 byte
[4] 0 byte
[5] 0 byte
[6] 0 byte
[7] 0 byte
[8] 4 byte
[9] 0 byte
[10] 236 byte
etc.
[315] 60 byte
[316] 195 byte
[317] 1 byte
[318] 0 byte
[319] 0 byte
Additionally, a 4-byte header containing the length of the original string (451) needs to prefix the message:
[0] 195 byte
[1] 1 byte
[2] 0 byte
[3] 0 byte
(then continue with the compressed message from above)
[4] 31 byte
[5] 139 byte
[6] 8 byte
[7] 0 byte
[8] 0 byte
[9] 0 byte
[10] 0 byte
[11] 0 byte
[12] 4 byte
[13] 0 byte
[14] 236 byte
etc.
[319] 60 byte
[320] 195 byte
[321] 1 byte
[322] 0 byte
[323] 0 byte
Finally, that byte array is converted to a base-64 string (compression is finished at this point):
wwEAAB+LCAAAAAAABADsvQdgHEmWJSYvbcp7f0r1StfgdKEIgGATJNiQQBDswYjN5pLsHWlHIymrKoHKZVZlXWYWQMztnbz33nvvvffee++997o7nU4n99 //P1xmZAFs9s5K2smeIYCqyB8/fnwfPyIef14Xs7S9XuWffbTIirJYXvz+xbJps+U0/yh9tyiXzWcfzdt29eju3VVWt8u8HhfL86pe /GC8zNu7WbYq7u7t7Dy8u3Nw96OjxyfVcla0RbVsvN+PHr8muGV+9Php1manZb7Il+3RF9odfZY /vut/w81+MivX+dHezu7u9s7D7Z1daSKfEugFYZO1VX30+ZvTx3e9vx /fNZ3d9RD4RnHZG8Ll+ZtboOJ+Jxq9ytt1vXxW5OWsCVE6qdbLtoPL3bD5XUze0f8TAAD//9kAQzzDAQAA
If not using encryption, skip the next two steps.
Informz encrypts using this key: 1D432EBF6AF4022F603516F17902277A81AFC63CE8ABCDEF. (Your encryption key will be different and provided to you upon request)
[0] 1 byte
[1] 100 byte
[2] 179 byte
[3] 10 byte
[4] 52 byte
[5] 92 byte
[6] 103 byte
[7] 151 byte
[8] 202 byte
[9] 98 byte
[10] 137 byte
[11] 125 byte
[12] 12 byte
[13] 170 byte
[14] 51 byte
etc.
[435] 11 byte
[436] 96 byte
[437] 91 byte
[438] 177 byte
[439] 167 byte
Convert it to a base-64 string:
AWSzCjRcZ5fKYol9DKozQdVNpX4fxArYS6RjGch1fL4Koq+ez7bSRa9taldckOS3f4WCgqsTzoUGW0yb1hGrlYia /98SFF2q7Z23XemMTuZZ5I75Pe+7CQpx8teYevECwKQXRtehiFdzNZSb7k4rkurlSHjVLVqjlZWvUSOvO1ZOJ2UW+hIzji2SOetpVa17RH1Dphm5ETh30Lz9DY7xFNMJfW0XYso1F1zS9gJnYReXxTrg9036dC7L3mWn4gIP5PyRFH5 //a1Hxu3QqZmmzLFgXUZVXS/fMvm9eoZ2Umq4qW1LPyYLIEyo2VoxqgOOsR0 /jWJGIuEOPiNgh+SVqaH0FpW9mzpfwns9X6Ua+QdFBryzCKKJkAOF1BwCAKx6vqd71PL61q6KGBWoQhzaWH8BfLv0C60yVmv0yX0ySK /K8F/zPUDWR5urb84CUpJMm0PJD2G5ptoAyUtCkgW3VA4eO0CDklODlKycK0HU66q25pBWLfb8mkBO9ND8oTGda4 /NE1sNZYTtr7mljCOn1OEG37ioGVLUG2BG1D4DS/50sr4EINJQtfwCI35u7R7PcmSBC2Bbsac=
And replace the payload of the XML message:
Final Result Compression ONLY:
<GridRequest xmlns="http://partner.informz.net/aapi/2009/08/"> <Password>password</Password> <Brand id="1234">My Brand</Brand> <User>informz</User> <Grids>wwEAAB+LCAAAAAAABADsvQdgHEmWJSYvbcp7f0r1StfgdKEIgGATJNiQQBDswYjN5pLsHWlHIymrKoHKZVZlXWYWQMztnbz33nvvvffee++997o7nU4n99 //P1xmZAFs9s5K2smeIYCqyB8/fnwfPyIef14Xs7S9XuWffbTIirJYXvz+xbJps+U0/yh9tyiXzWcfzdt29eju3VVWt8u8HhfL86pe /GC8zNu7WbYq7u7t7Dy8u3Nw96OjxyfVcla0RbVsvN+PHr8muGV+9Php1manZb7Il+3RF9odfZY/vut/w81+MivX+dHezu7u9s7D7Z1daSKfEugFYZO1VX30+ZvTx3e9vx /fNZ3d9RD4RnHZG8Ll+ZtboOJ+Jxq9ytt1vXxW5OWsCVE6qdbLtoPL3bD5XUze0f8TAAD//9kAQzzDAQAA</Grids> </GridRequest>
Final Result Compression AND Encryption:
<GridRequest xmlns="http://partner.informz.net/aapi/2009/08/"> <Password>password</Password> <Brand id="1234">My Brand</Brand> <User>informz</User> <Grids>AWSzCjRcZ5fKYol9DKozQdVNpX4fxArYS6RjGch1fL4Koq+ez7bSRa9taldckOS3f4WCgqsTzoUGW0yb1hGrlYia /98SFF2q7Z23XemMTuZZ5I75Pe+7CQpx8teYevECwKQXRtehiFdzNZSb7k4rkurlSHjVLVqjlZWvUSOvO1ZOJ2UW+hIzji2SOetpVa17RH1Dphm5ETh30Lz9DY7xFNMJfW0XYso1F1zS9gJnYReXxTrg9036dC7L3mWn4gIP5PyRFH5 //a1Hxu3QqZmmzLFgXUZVXS/fMvm9eoZ2Umq4qW1LPyYLIEyo2VoxqgOOsR0 /jWJGIuEOPiNgh+SVqaH0FpW9mzpfwns9X6Ua+QdFBryzCKKJkAOF1BwCAKx6vqd71PL61q6KGBWoQhzaWH8BfLv0C60yVmv0yX0ySK/K8F /zPUDWR5urb84CUpJMm0PJD2G5ptoAyUtCkgW3VA4eO0CDklODlKycK0HU66q25pBWLfb8mkBO9ND8oTGda4/NE1sNZYTtr7mljCOn1OEG37ioGVLUG2BG1D4DS /50sr4EINJQtfwCI35u7R7PcmSBC2Bbsac=</Grids> </GridRequest>
Pulling Data
Below are examples of calls that you must make to pull a list of unsubscribes or mailing activity for a single day.
- Informz recommends writing your call to pull unsubscribes daily using the previous day’s data.
- For mailing activity, Informz recommends doing a single pull for all activity from mailings sent five days earlier.
Request 1 below is the sample code for pulling all the mailing instances sent on a single day. Use the results from that query to pull all activity related to specific mailings. A mailing subscriber actions example is shown at the end of this article.
Mailing Instances from a Single Day
Below is the syntax for the call to find the specific mailing instance(s) you wish to pull activity for. Most of your calls for information that you want to pull begin here.
Request 1: Get List of Mailing Instances from a Single Day
<GridRequest xmlns="http://partner.informz.net/aapi/2009/08/"> <Brand id="9999">Test Brand</Brand> <User>testuser</User> <Grids> <Grid type="mailing_instance"> <Conditions> <Condition> <Single> <DataElement>Mailing_Date</DataElement> <DataValue>2014-06-01</DataValue> <Comparator>GTE</Comparator> </Single> </Condition> <Condition> <Single> <DataElement>Mailing_Date</DataElement> <DataValue>2014-06-02</DataValue> <Comparator>LT</Comparator> </Single> </Condition> </Conditions> <ReturnFields> <DataElement>Mailing_ID</DataElement> <DataElement>Mailing_Instance_ID</DataElement> <DataElement>Mailing_Date</DataElement> <DataElement>Mailing_Subject</DataElement> </ReturnFields> <SortField order="asc">Mailing_Date</SortField> </Grid> </Grids> </GridRequest>
Reponse 1: Get List of Mailing Instances from a Single Day
<?xml version="1.0" encoding="utf-16"?> <GridResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://partner.informz.net/aapi/2009/08/"> <Brand id="9999">Test Brand</Brand> <User>testuser</User> <Grids> <Grid type="mailing_instance"> <Record row="1"> <Fields> <Field element="mailing_id">134384</Field> <Field element="mailing_instance_id">1297889</Field> <Field element="mailing_date">2011-09-13T18:37:37.2630000Z</Field> <Field element="mailing_subject">Mailing one</Field> </Fields> </Record> <Record row="2"> <Fields> <Field element="mailing_id">134385</Field> <Field element="mailing_instance_id">1297891</Field> <Field element="mailing_date">2011-09-13T18:38:21.3700000Z</Field> <Field element="mailing_subject">Mailing two</Field> </Fields> </Record> </Grid> </Grids> </GridResponse>
Unsubscribes from a Single Day
Request 2: Get List of Unsubscribes from a Single Day
<GridRequest xmlns="http://partner.informz.net/aapi/2009/08/"> <Brand id="9999">Test Brand</Brand> <User>testuser</User> <Grids> <Grid type="mailing_instance"> <Conditions> <Condition> <Single> <DataElement>Mailing_Date</DataElement> <DataValue>2014-06-01</DataValue> <Comparator>GTE</Comparator> </Single> </Condition> <Condition> <Single> <DataElement>Mailing_Date</DataElement> <DataValue>2014-06-02</DataValue> <Comparator>LT</Comparator> </Single> </Condition> </Conditions> <ReturnFields> <DataElement>Count</DataElement> </ReturnFields> </Grid> </Grids> </GridRequest>
Response 2: Get List of Unsubscribes from a Single Day
<?xml version="1.0" encoding="utf-16"?> <GridResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://partner.informz.net/aapi/2009/08/"> <Brand id="9999">Test Brand</Brand> <User>testuser</User> <Grids> <Grid type="mailing_instance"> <Record row="0"> <Fields> <Field element="count">6</Field> </Fields> </Record> </Grid> </Grids> </GridResponse>
Mailing Activity Subscriber Actions
For mailings less than 90 days old:
Element List
Data Element | Type | Length | Conditional | Description |
---|---|---|---|---|
Count | Bit | True | Number of matches based on criteria used | |
was_clicked | Bit | True | Clicked counts | |
was_delivered | Bit | True | Delivered counts | |
String | 100 | True | Email address | |
mailing_instance_id | Int | True | Unique mailing instance ID | |
was_opened | Bit | True | Opened counts | |
user_id | Int | True | Informz user ID |
Request
<GridRequest xmlns="http://partner.informz.net/aapi/2009/08/"> <Password>password</Password> <Brand id="9999">Test Brand</Brand> <User>testuser</User> <Grids> <Grid type="mailing_activity_subscriber_actions"> <ReturnFields> <DataElement>was_clicked</DataElement> <DataElement>was_delivered</DataElement> <DataElement>email</DataElement> <DataElement>mailing_instance_id</DataElement> <DataElement>was_opened</DataElement> <DataElement>user_id</DataElement> </ReturnFields> </Grid> </Grids> </GridRequest>