Overview

Skill Level: Intermediate

Step-by-step

  1. Syntax of the request and response XML for SelectRecipientData

    If your database has a key other than Email, you must include all unique key columns with their corresponding name/value pairs.

    If your database has no Unique Identifier defined, one or more columns must be specified in order to look up the contact.

    Operation <SelectRecipientData>
    Elements LIST_ID ID of the database to which the contact belongs. If a Contact List is specified instead of a database, the system will determine whether the contact is in the Contact List. If the contact is found, their database columns will be returned.
      EMAIL The contact email address to look up. Note: If using a regular email key database, a node must exist for the Email column.
      RETURN_CONTACT_LISTS Optional Indicates whether to return all Contact Lists which the
    contact belongs to. Valid values are:

    • true
    • false
      COLUMN Optional Required if the database has a key other than Email or no Unique Identifier. XML nodes defining the column name
    and value used to look up a contact in a database. Ignored
    for regular email key databases. Note: Unique key columns
    must be part of the submission with column names and
    values. Note: If more than one contact is found matching
    the lookup columns, the oldest contact will be returned.
      Child Elements Name Specifies the field name of the unique key for the database.
        Value Specifies the field value for the field name of the unique key for the database.
    Example
    <Envelope>
    <Body>
    <SelectRecipientData>
    <LIST_ID>45654</LIST_ID>
    <EMAIL>someone@adomain.com</EMAIL>
    <COLUMN>
    <NAME>Customer Id</NAME>
    <VALUE>123-45-6789</VALUE>
    </COLUMN>
    </SelectRecipientData>
    </Body>
    </Envelope>
       
    Response <RESULT>    
    Elements SUCCESS True if successful.
      EMAIL Email address for the contact.
      Email Email address for the contact. Note: At the time of this writing, email is included twice in the response.
      RecipientId Internal unique ID for each contact.
      EmailType

    Value indicating the preferred email type for the selected contact.

    • 0 – HTML
    • 1 – Text
    • 2 – AOL
      LastModified Last time the contact record was modified.
      CreatedFrom

    Value indicating the way in which Watson Campaign Automation added the selected contact to the system.

    • 0 – Imported from a database
    • 1 – Manually added
    • 2 – Opted in
    • 3 – Created from tracking database
      OptedIn Contact’s opt‐in date, if applicable.
      OptedOut Contact’s opt‐out date, if applicable.
      ORGANIZATION_ID Identifies your Watson Campaign Automation Organization.
      CONTACT_LISTS If the RETURN_CONTACT_LISTS is ‘true’ in the request, this parent node will be included in the response. It will contain a child element for each Contact List the contact belongs to.
      Child Elements CONTACT_LIST_ID Id of a Contact List which the contact belongs to.
      COLUMNS XML nodes defining the user‐created column name and value.
    Child Elements COLUMN    
      Child Element Name Specifies the field name.
        Value Specifies the field value.
    Example

     

    <Envelope>
    <Body>
    <RESULT>
    <SUCCESS>TRUE</SUCCESS>
    <EMAIL>somebody@domain.com</EMAIL>
    <Email>somebody@domain.com</Email>
    <RecipientId>33439394</RecipientId>
    <EmailType>0</EmailType>
    <LastModified>6/25/04 3:29 PM</LastModified>
    <CreatedFrom>1</CreatedFrom>
    <OptedIn>6/25/04 3:29 PM</OptedIn>
    <OptedOut/>
    <COLUMNS>
    <COLUMN>
    <NAME>Fname</NAME>
    <VALUE>Somebody</VALUE>
    </COLUMN>
    <COLUMN>
    <NAME>Lname</NAME>
    <VALUE>Special</VALUE>
    </COLUMN>
    </COLUMNS>
    </RESULT>
    </Body>
    </Envelope>
       

3 comments on"Select Contact Details"

  1. Is there any way to select recipient data that joins on or includes relational table data? I am hoping to have the API return the data from a keyed database and a corresponding relational table for the recipient.

  2. Is there any way to find which databases a contact is in by searching with their email address? I am trying to do an update on a contact (using their email as their identifier) regardless of the databases they are in, I just want to update their profile information across all databases. Is this possible without attempting to select the contact from every possible database?

    • Hello Eric,
      Currently we don’t have any single API to find a contact across all databases. You would have to do a combination of GetLists to get the Database Ids you want to target, and then SelectRecipientData to find if there’s a match or not.

      Thank you
      Jeri

Join The Discussion

Your email address will not be published. Required fields are marked *