Module: Selligent::Client::Data

Included in:
Selligent::Client
Defined in:
lib/selligent/client/data.rb

Overview

Implements the data endpoints

/organizations/:organization/lists/data/*

Instance Method Summary collapse

Instance Method Details

#delete_data(api_name, data, params = {}) ⇒ Object

Deletes data from the list with the given api-name in the given organization

Parameters:

  • api_name (String)

    The api name

  • data (Array<Array>)

    The data

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

    Additional options

Options Hash (params):

  • :keyFields (String)

    Comma-separated list of the key fields to delete records

  • :fields (String)

    Comma-separated list of the fields in data records

  • :mode (String)

    Data transfer mode (Sync or Stream)

  • :errorHandling (String)

    Error handling options



18
19
20
21
22
# File 'lib/selligent/client/data.rb', line 18

def delete_data(api_name, data, params = {})
  delete("#{base_url}/lists/#{api_name}/data", params) do |req|
    req.body = data.to_json
  end
end

#delete_data_from_segment(api_name, segment_api_name, data, params = {}) ⇒ Object

Deletes data via json from the segment with the given segment-api-name in the list with the given api-name in the given organization

Parameters:

  • api_name (String)

    The api name

  • segment_api_name (String)

    API name of the segment

  • data (Array<Array>)

    The data

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

    Additional options

Options Hash (params):

  • :keyFields (String)

    Comma-separated list of the key fields to delete records

  • :fields (String)

    Comma-separated list of the fields in data records

  • :mode (String)

    Data transfer mode (Sync or Stream)

  • :errorHandling (String)

    Error handling options



86
87
88
89
90
# File 'lib/selligent/client/data.rb', line 86

def delete_data_from_segment(api_name, segment_api_name, data, params = {})
  delete("#{base_url}/lists/#{api_name}/segments/#{segment_api_name}/data", params) do |req|
    req.body = data.to_json
  end
end

#load_data(api_name, data, params = {}) ⇒ Object

Loads data into the list with the given api-name in the given organization

Parameters:

  • api_name (String)

    The api name

  • data (Array<Array>)

    The data

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

    Additional options

Options Hash (params):

  • :keyFields (String)

    Comma-separated list of the key fields to delete records

  • :fields (String)

    Comma-separated list of the fields in data records

  • :mode (String)

    Data transfer mode (Sync or Stream)

  • :deduplication (String)

    De-duplication option during an import data

  • :data_import_option (String)

    Data import option during an import data

  • :create_segment_name (String)

    Segment name at the time of creation

  • :create_segment_api_name (String)

    Segment api name at the time of creation

  • :errorHandling (String)

    Error handling options



37
38
39
40
41
# File 'lib/selligent/client/data.rb', line 37

def load_data(api_name, data, params = {})
  post("#{base_url}/lists/#{api_name}/data/load", data) do |req|
    req.params.merge!(params)
  end
end

#load_data_into_segment(api_name, segment_api_name, data, params = {}) ⇒ Object

Loads data into the segment with the given segment-api-name in the list with the given api-name in the given organization

Parameters:

  • api_name (String)

    The api name

  • segment_api_name (String)

    API name of the segment

  • data (Array<Array>)

    The data

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

    Additional options

Options Hash (params):

  • :fields (String)

    Comma-separated list of the fields in data records

  • :mode (String)

    Data transfer mode (Sync or Stream)

  • :deduplication (String)

    De-duplication option during an import data

  • :errorHandling (String)

    Error handling options



103
104
105
106
107
# File 'lib/selligent/client/data.rb', line 103

def load_data_into_segment(api_name, segment_api_name, data, params = {})
  post("#{base_url}/lists/#{api_name}/segments/#{segment_api_name}/data/load", data) do |req|
    req.params.merge!(params)
  end
end

#search_data(api_name, request, params = {}) ⇒ Object

Method to search for data records in a specific table

The request has the following shape:

{

"fields": [
  "FIELD1",
  "FIELD2"
],
"filters": [
  {
    "field_name": "FIELD1",
    "operator": "EqualTo",
    "field_value": "VALUE"
  }
],
"skip": 20,
"take": 20,
"order_by": "FIELD2",
"order_by_direction": "ASC"

}

Parameters:

  • api_name (String)

    The api name

  • request (Hash)

    Details on the data that should be searched

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

    Additional options

Options Hash (params):

  • :mode (String)

    Data transfer mode (Sync or Stream)



69
70
71
72
73
# File 'lib/selligent/client/data.rb', line 69

def search_data(api_name, request, params = {})
  post("#{base_url}/lists/#{api_name}/data/search", request) do |req|
    req.params.merge!(params)
  end
end

#search_data_within_segment(api_name, segment_api_name, request, params = {}) ⇒ Object

Method to search for data records within a segment of specific table

The request has the following shape:

{

"fields": [
  "FIELD1",
  "FIELD2"
],
"filters": [
  {
    "field_name": "FIELD1",
    "operator": "EqualTo",
    "field_value": "VALUE"
  }
],
"skip": 20,
"take": 20,
"order_by": "FIELD2",
"order_by_direction": "ASC"

}

Parameters:

  • api_name (String)

    The api name

  • segment_api_name (String)

    API name of the segment

  • request (Hash)

    details on the data that should be searched

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

    Additional options

Options Hash (params):

  • :mode (String)

    Data transfer mode (Sync or Stream)



135
136
137
138
139
140
141
142
# File 'lib/selligent/client/data.rb', line 135

def search_data_within_segment(api_name, segment_api_name, request, params = {})
  post(
    "#{base_url}/lists/#{api_name}/segments/#{segment_api_name}/data/search",
    request
  ) do |req|
    req.params.merge!(params)
  end
end