Skip to content
A Ruby library for interacting with Landslide’s SOAP-based API
Branch: master
Clone or download
j4y upgrade dependency versions
    * upgrade minitest from 5.8.1 to 5.8.4
Latest commit c3c2a26 Jan 25, 2016
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib doc Dec 16, 2011
tasks doc rake task in readme May 20, 2011
test fix travis CI Build Oct 10, 2015
.gitignore ignore yard May 11, 2011
.travis.yml fix travis CI Build Oct 10, 2015
.yardopts revert yardopts May 22, 2011
Gemfile fix travis CI Build Oct 10, 2015
Gemfile.lock upgrade dependency versions Jan 25, 2016
HISTORY.md doc May 22, 2011
LICENSE initial import Apr 22, 2011
README.md clean hard tabs Oct 10, 2015
Rakefile include yard rake tasks May 25, 2011
VERSION.yml Version bump to 0.5.28 Dec 15, 2011
init.rb initial import Apr 22, 2011
landslider.gemspec remove rcov Dec 14, 2013

README.md

Landslider

Build Status

A Ruby library for interacting with Landslide’s SOAP-based API

Introduction

This gem can be used to communicate with Landslide's SOAP-based API using ruby code.

WSDL endpoint url: https://instance_name.api.landslide.com/webservices/SoapService?wsdl

If you already have a landslide account, contact support to enable the API. You can also start a 30-day trial account here.

Dependencies

$ gem install jeweler curb handsoap

Installation

$ gem install landslider

Documentation

Read the ruby doc.

Configuration

There is a rake task to generate the configuration settings.

$ rake landslider:gen_config

Example config:

LS_INSTANCE_NAME = 'jaytest'
LS_API_USERNAME = 'jaytest@example.com'
LS_API_KEY = '53308ccbdcb7f23fbd81a0b2ebcf12a4'

The API key is simply an md5 hash of the password associated with the username used for the api concatenated with the instance name. "#{Digest::MD5.hexdigest(api_password + instance_name)}"

Usage

This is calling login to get a session id which is then used to get a list of accounts.

require 'landslider'
response = Landslider.login('LOGINTOKEN=' + LS_INSTANCE_NAME)
response = Landslider.get_accounts(response[:session_id])
response[:accounts].each do |account| 
    puts "id: #{account[:account_id]} name: #{account[:account_name]}"
end

Testing

The default rake task is set to run the tests.

$ rake

Tests are needed here because the API uses a specific XML structure for requests and responses.

Contributing

  1. Fork it.
  2. Create a branch (git checkout -b my_markup)
  3. Commit your changes (git commit -am "Added Snarkdown")
  4. Push to the branch (git push origin my_markup)
  5. Create an [Issue][1] with a link to your branch
  6. Enjoy a refreshing Diet Coke and wait

API methods

Here is a list of API methods that have been added:
  • addTask
  • login
  • getApiVersion
  • getAccounts
  • getAccountById
  • getAccountCustomFields
  • getAccountContacts
  • getAccountNotes
  • getAccountOpportunities
  • getAccountTypes
  • getContactById
  • getContacts
  • getContactCustomFields
  • getContactNotes
  • getInstanceInformation
  • getLeads
  • getLeadCustomFields
  • getLeadNotes
  • getOpportunities
  • getOpportunityCustomFields
  • getOpportunityNotes
  • getTasks
  • getUserInformation
  • getUserInformationById
  • runMyListbyId

TODO

  • Modify configuration to be rails 3 friendly. The configuation was needed before the environment finished loading. See landslide-rails
  • add more API calls
  • use HTTP cookies to maintain session state
  • eliminate slow inefficient XPath queries
  • eliminate test data dependency on the jaytest instance
You can’t perform that action at this time.