Skip to content

catawiki/selligent-rb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Selligent Ruby API client

Install

Install via Rubygems

gem install selligent

... or add to your Gemfile

gem 'selligent', '~> 0.1'

Access the library in Ruby:

require 'selligent'

Configure

Selligent.configure do |c|
  c.host = 'www.selligent.com'
  c.api_key = 'key'
  c.api_secret = 'secret'
  c.organization = 'catawiki'
end

API Documentation

To generate API documentation, use yard:

yard

Documentation can be found in /path/to/selligent/doc/index.html

Endpoints

Organization

# Get an overview of all organizations
Selligent.organizations

# Get details on the current organization
Selligent.organization

Content

# Create simple (HTML only) single language email message content
Selligent.create_email(model, params = {})

# Create mobile push message content
Selligent.create_push_message(model, params = {})

# Create simple page content
Selligent.create_page(model, params = {})

# Create SMS content
Selligent.create_sms(model, params = {})

Journey

# Get an overview of all journeys
Selligent.journeys

Single Batch

# Get all journeys of type Single Batch
Selligent.single_batches

# Create a Single Batch journey
Selligent.create_single_batch(model)

# Get information on a Single Batch journey
Selligent.single_batch(name)

# Cancel launching of a single batch
Selligent.cancel_single_batch(name)

# Launch a single batch
Selligent.launch_single_batch(name, request)

# Trigger execution of a single batch journey
Selligent.trigger_single_batch(name, model)

# Send single batch with email message
Selligent.send_single_batch_email(model)

# Send single batch mobile push message
Selligent.send_single_batch_push(model)

# Send single batch sms
Selligent.send_single_batch_sms(model)

Transactional

# List all transactional journeys
Selligent.transactionals

# Returns information on the transactional journey with the given name
Selligent.transactional(name)

# Sends transactional messages to the journey with the given name. See rdoc for model
# definition.
Selligent.send_transactional(name, model)

# Create or update a user profile and trigger a transactional message. See rdoc for model
# definition.
Selligent.update_profile_and_send_transactional(api_name, model)

# Get a list of status objects for the given message ids
Selligent.transactionals_status(ids)

# Get the status of a given message
Selligent.transactional_status(id)

Transactional Bulk

# Trigger a bulk journey in a transactional way
Selligent.send_transactional_bulk(name)

Lists

# Get an overview of all of the lists
Selligent.lists(options = {})

# Create a new list
Selligent.create_list(model)

# Delete a list
Selligent.delete_list(list_name, options = {})

# Get details for the list with the given name
Selligent.list(list_name)

# Update a list
Selligent.update_list(list_name, model)

# Get list fields for the given list
Selligent.fields(list_name)

# Create list fields
Selligent.create_fields(list_name, model)

# Delete a list field
Selligent.delete_field(list_name, field_name)

# Update a list field
Selligent.update_field(list_name, field_name, model)

# Get the number of records for the given list
Selligent.records_count(list_name)

# Delete a single record by id
Selligent.delete_record(list_name, record_id)

# Get all relations associated with a list
Selligent.relations(list_name)

# Create a relation between two lists
Selligent.create_relation(list_name, model)

# Delete a relation between two lists
Selligent.delete_relation(list_name, scope)

# Get relation details based on the list name and the relation scope name
Selligent.relation(list_name, scope)

# Update an existing relation
Selligent.update_relation(list_name, scope, model)

# Get an overview of the segments defined on the given list
Selligent.segments(list_name, options = {})

# Get segment details based on list API name and segment API name
Selligent.segment(list_name, segment_name)

Data

# Delete data from the list with the given api-name
Selligent.delete_data(api_name, data, params = {})

# Load data into the list with the given api-name
Selligent.load_data(api_name, data, params = {})

# Search for data records in a specific table
Selligent.search_data(api_name, request, params = {})

# Delete data from the segment with the given segment-api-name
Selligent.delete_data_from_segment(api_name, segment_api_name, data, params = {})

# Load data into the segment using given segment-api-name
Selligent.load_data_into_segment(api_name, segment_api_name, data, params = {})

# Search for data records within a segment of specific table
Selligent.search_data_within_segment(api_name, segment_api_name, request, params = {})

Stored Procedure

# Get list of stored procedures
Selligent.stored_procedures(options = {})

# Get details of stored procedure by name
Selligent.stored_procedure(name)

Task

# Get collection of tasks
Selligent.tasks(options = {})

# Get task details
Selligent.task(task_name)

# Get actions of task
Selligent.task_actions(task_name)

# Disable a task
Selligent.disable_task(task_name)

# Enable a task
Selligent.enable_task(task_name)

# Run a task
Selligent.run_task(task_name)

Cumulio

# Get datasets
Selligent.cumulio_datasets

# Run a cumulio query
Selligent.cumulio_query(model)

Custom journey

# Trigger custom journey. Reffer to the docs from CRM team for input.
Selligent.trigger_custom_journey(api_name, entrypoint_name, input)

Status

# Get the Selligent status
Selligent.status

Develop

Please take a look at #9 and use it as a blueprint for adding other endpoints. Don't forget to update the readme as well.