module SilverPop::Client::RelationalTable

Public Instance Methods

insert_update_relational_table(table_id, rows) click to toggle source

InsertUpdateRelationalTable - This interface inserts or updates relational data.

@param 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. @param rows [Array] @return [Mash] Mashify body from the API call @example 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'}]
# 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