LimdeskApi
Installation
Add this line to your application's Gemfile:
gem 'limdesk_api'
And then execute:
$ bundle
Or install it yourself as:
$ gem install limdesk_api
Usage
This gem will allow you to interact with Limdesk API. Limdesk.com is a lightweight, multichannel customer support solution.
API is available to free and premium users. You can generate your APIKEY in Settings/Integration/API section.
This gem wrappes Limdesk API into OpenStruct (RecursiveOpenStruct) objects. For more information about API check the official docs. Current API covers basic, most common actions. More advanced version is currenty under development.
Connecting to API
LimdeskApi.configure do |lim|
lim.key = '<YOUR API KEY>'
lim.version = 1
end
Tickets
tickets = LimdeskApi::Ticket.all
tickets.count
63
closed_tickets = LimdeskApi::Ticket.all(:closed)
new_tickets = LimdeskApi::Ticket.all(:new)
= LimdeskApi::Ticket.all(:new_messages)
open_ticktes = LimdeskApi::Ticket.all(:open)
tickets.first.title
"Hello World"
ticket = LimdeskApi::Ticket.get(44)
ticket.title
"Hello"
ticket.client.name
"John Smith"
ticket.answer content: 'this is a private comment', answer_type: :priv
ticket.answer content: 'dear customer, it is solved', answer_type: :pub
ticket.close content: 'its solved', type: :resolved
ticket.reopen
ticket.close content: 'spam', type: :rejected
ticket2 = LimdeskApi::Ticket.create :title => "problem",
:content => "clients probem",
:reported_by => :mail,
:client_id => -1
# reported_by can be :mail, :phone, :other, :chat
# client_id => -1 means "new anonymous clinet"
ticket2.title
"sample ticket 2"
Activities
acts = LimdeskApi::Activity.all
act = LimdeskApi::Activity.create content: "client has logged into website",
client_id: 55
Clients
cls = LimdeskApi::Client.all
cls.first.name
"John Smith"
client = LimdeskApi::Client.create name: "John Smith",
nippesel: "15012406496",
phone: "223111789",
email: "[email protected]",
address: "Plain Street 149 85-058 Warsaw"
client.delete!
true
client2 = LimdeskApi::Client.get(55)
client2.contacts.first
client2.update name: "John Smith 2",
nippesel: "123",
phone: "11111",
email: "[email protected]",
address: "Plain Street 149 85-058 Warsaw"
true
client3 = LimdeskApi::Client.get_by_email('[email protected]')
client4 = LimdeskApi::Client.get_by_phone('+48897228989')
client4 = LimdeskApi::Client.get_by_outside_client_id('1234')
client5 = LimdeskApi::Client.get_by_nippesel('7393792360')
Sales
sales=LimdeskApi::Sale.all
sale = sales.first
sale.name
"Hosting service 1yr"
sale.delete!
true
sale2 = LimdeskApi::Sale.create client_id: 65464,
name: "Shoes",
price: 99.99,
amount: 1,
sold: "2014-10-20 20:00:00"
create_ticket: true
sale2.client.name
"John Smith"
Contact Persons
cp=LimdeskApi::Contactperson.create client_id: 338425,
name: "Mr Smith",
email: "[email protected]",
phone: "123456789"
cp.update email: "[email protected]"
cp.refresh!
cp.delete!
TODO
- tests
- lazy loading
Contributing
- Fork it ( https://github.com/limtel/limdesk/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request