Module: SilverPop::Client::RelationalTable

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

Instance Method Summary collapse

Instance Method Details

#insert_update_relational_table(table_id, rows) ⇒ Mash

InsertUpdateRelationalTable - This interface inserts or updates relational data.

Examples:

Insert into table 86767 a row with one column

s = SilverPop.new access_token: 'abc123', url: 'https://api1.silverpop.com'
s.insert_update_relational_table '86767', [{'Record Id' => 'GHbjh73643hsdiy'}]

Parameters:

  • table_id (String)

    Required parameter to specify the ID of the Relational Table you are interacting with. Either TABLE_NAME or TABLE_ID is required.

  • rows (Array)

Returns:

  • (Mash)

    Mashify body from the API call



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/client/relational_table.rb', line 12

def insert_update_relational_table table_id, rows
  builder = Builder::XmlMarkup.new

  xml = builder.Envelope {
    builder.Body {
      builder.InsertUpdateRelationalTable {
        builder.TABLE_ID table_id
        builder.ROWS {
          rows.each do |row|
            builder.ROW {
              row.each do |key, value|
                builder.COLUMN(name: key) {
                  builder.cdata!(value)
                }
              end
            }
          end
        }
      }
    }
  }

  post(xml)
end