Module: SilverPop::Client::User

Included in:
SilverPop::Client
Defined in:
lib/client/user.rb

Instance Method Summary collapse

Instance Method Details

#export_list(list_id, export_type, export_format, options = {}, export_columns = []) ⇒ Mash

ExportList - This interface exports contact data from a database, query, or contact list. Engage exports the results to a CSV file, then adds that file to the FTP account associated with the current session.

Examples:

Export list 12345 for 1/1/2014 to 1/2/2014

s = SilverPop.new({access_token: "abc123", url: "https://api1.silverpop.com"})
s.export_list('12345', 'ALL', 'CSV", {DATE_START: "1/1/2014", DATE_END:"1/2/2014"})

Parameters:

  • list_id (String)

    Unique identifier for the database, query, or contact list Engage is exporting.

  • export_type (String)

    Specifies which contacts to export.

  • export_format (String)

    Specifies the format (file type) for the exported data.

  • options (Hash) (defaults to: {})

    Optional parameters to send

  • export_colums (Array)

    XML node used to request specific custom database columns to export for each contact.

Returns:

  • (Mash)

    Mashify body from the API call



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/client/user.rb', line 16

def export_list(list_id, export_type, export_format, options={}, export_columns=[])
  builder = Builder::XmlMarkup.new
  xml = builder.Envelope {
    builder.Body {
      builder.ExportList {
        builder.LIST_ID list_id
        builder.EXPORT_TYPE export_type
        builder.EXPORT_FORMAT export_format
        unless options.empty?
          options.each do |o|
              builder.tag! o[0], o[1]
          end
        end
        unless export_columns.empty?
          builder.EXPORT_COLUMNS {
            export_columns.each do |e|
              builder.COLUMN e
            end
          }
        end
        }
      }
    }
  post(xml)
end