Class: Teamleader::Api
Instance Method Summary
collapse
#add_subscription, #delete_subscription, #get_invoices_by_subscription, #get_related_subscriptions_by_invoice, #get_subscription, #get_subscriptions, #get_subscriptions_by_contact_or_company, #get_subscriptions_by_deal, #update_subscription
Methods included from Calls
#add_callback, #get_call, #get_calls
Methods included from Projects
#add_project, #get_project, #get_projects, #get_projects_by_client, #update_project
Methods included from Files
#delete_file, #download_file, #get_file_info, #get_files, #upload_file
#add_custom_field_option, #get_custom_field_info, #get_custom_fields
Constructor Details
#initialize(group, secret) ⇒ Api
Returns a new instance of Api.
16
17
18
19
20
21
22
|
# File 'lib/teamleader/api.rb', line 16
def initialize(group, secret)
@api_group = group
@api_secret = secret
uri = URI.parse(API_BASE_URL)
@http = Net::HTTP.new(uri.host, uri.port)
@http.use_ssl = true
end
|
Instance Method Details
#add_company(params = {}) ⇒ Object
347
348
349
350
|
# File 'lib/teamleader/api.rb', line 347
def add_company(params={})
raise "name is required" if params[:name].nil?
request "/addCompany.php", params
end
|
Returns the ID of the contact
37
38
39
40
41
42
|
# File 'lib/teamleader/api.rb', line 37
def add_contact(params={})
raise "forename is required" if params[:forename].nil?
raise "surname is required" if params[:surname].nil?
raise "email is required" if params[:email].nil?
request "/addContact.php", params
end
|
#add_creditnote(params = {}) ⇒ Object
229
230
231
232
|
# File 'lib/teamleader/api.rb', line 229
def add_creditnote(params={})
raise "invoice_id is required" if params[:invoice_id].nil?
request "/addCreditnote.php", params
end
|
#add_deal(params = {}) ⇒ Object
85
86
87
88
89
90
91
|
# File 'lib/teamleader/api.rb', line 85
def add_deal(params={})
raise "contact_or_company is required" if params[:contact_or_company].nil?
raise "contact_or_company_id is required" if params[:contact_or_company_id].nil?
raise "title is required" if params[:title].nil?
raise "source is required" if params[:source].nil?
request "/addDeal.php", params
end
|
#add_invoice(params = {}) ⇒ Object
147
148
149
150
151
152
|
# File 'lib/teamleader/api.rb', line 147
def add_invoice(params={})
raise "contact_or_company is required" if params[:contact_or_company].nil?
raise "contact_or_company_id is required" if params[:contact_or_company_id].nil?
raise "sys_department_id is required" if params[:sys_department_id].nil?
request "/addInvoice.php", params
end
|
#add_note(params = {}) ⇒ Object
333
334
335
336
337
338
|
# File 'lib/teamleader/api.rb', line 333
def add_note(params={})
raise "object_type is required" if params[:object_type].nil?
raise "object_id is required" if params[:object_id].nil?
raise "note_title is required" if params[:note_title].nil?
request "/addNote.php", params
end
|
#add_product(params = {}) ⇒ Object
263
264
265
266
267
|
# File 'lib/teamleader/api.rb', line 263
def add_product(params={})
raise "name is required" if params[:name].nil?
raise "price is required" if params[:price].nil?
request "/addProduct.php", params
end
|
#add_ticket(params = {}) ⇒ Object
290
291
292
293
|
# File 'lib/teamleader/api.rb', line 290
def add_ticket(params={})
raise "subject is required" if params[:subject].nil?
request "/addTicket.php", params
end
|
#add_ticket_message(params = {}) ⇒ Object
300
301
302
303
304
|
# File 'lib/teamleader/api.rb', line 300
def add_ticket_message(params={})
raise "ticket_id is required" if params[:ticket_id].nil?
raise "message is required" if params[:message].nil?
request "/addTicketMessage.php", params
end
|
#book_draft_invoice(params = {}) ⇒ Object
161
162
163
164
|
# File 'lib/teamleader/api.rb', line 161
def book_draft_invoice(params={})
raise "invoice_id is required" if params[:invoice_id].nil?
request "/bookDraftInvoice.php", params
end
|
#delete_company(params = {}) ⇒ Object
358
359
360
361
|
# File 'lib/teamleader/api.rb', line 358
def delete_company(params={})
raise "company_id is required" if params[:company_id].nil?
request "/deleteCompany.php", params
end
|
55
56
57
58
|
# File 'lib/teamleader/api.rb', line 55
def delete_contact(params={})
raise "contact_id is required" if params[:contact_id].nil?
request "/deleteContact.php", params
end
|
#delete_invoice(params = {}) ⇒ Object
177
178
179
180
|
# File 'lib/teamleader/api.rb', line 177
def delete_invoice(params={})
raise "invoice_id is required" if params[:invoice_id].nil?
request "/deleteInvoice.php", params
end
|
#delete_product(params = {}) ⇒ Object
274
275
276
277
|
# File 'lib/teamleader/api.rb', line 274
def delete_product(params={})
raise "product_id is required" if params[:product_id].nil?
request "/deleteProduct.php", params
end
|
#download_creditnote_pdf(params = {}) ⇒ Object
197
198
199
200
|
# File 'lib/teamleader/api.rb', line 197
def download_creditnote_pdf(params={})
raise "creditnote_id is required" if params[:creditnote_id].nil?
request "/downloadCreditnotePDF.php", params
end
|
#download_invoice_pdf(params = {}) ⇒ Object
192
193
194
195
|
# File 'lib/teamleader/api.rb', line 192
def download_invoice_pdf(params={})
raise "invoice_id is required" if params[:invoice_id].nil?
request "/downloadInvoicePDF.php", params
end
|
#get_all_deal_phase_changes(params = {}) ⇒ Object
133
134
135
136
137
|
# File 'lib/teamleader/api.rb', line 133
def get_all_deal_phase_changes(params={})
raise "date_from is required" if params[:date_from].nil?
raise "date_to is required" if params[:date_to].nil?
request "/getAllDealPhaseChanges.php", params
end
|
#get_bookkeeping_accounts(params = {}) ⇒ Object
258
259
260
261
|
# File 'lib/teamleader/api.rb', line 258
def get_bookkeeping_accounts(params={})
raise "sys_department_id is required" if params[:sys_department_id].nil?
request "/getBookkeepingAccounts.php", params
end
|
#get_business_types(params = {}) ⇒ Object
374
375
376
377
|
# File 'lib/teamleader/api.rb', line 374
def get_business_types(params={})
raise "country is required" if params[:country].nil?
request "/getBusinessTypes.php", params
end
|
#get_companies(params = {}) ⇒ Object
363
364
365
366
367
|
# File 'lib/teamleader/api.rb', line 363
def get_companies(params={})
raise "amount is required" if params[:amount].nil?
raise "pageno is required" if params[:pageno].nil?
request "/getCompanies.php", params
end
|
#get_company(params = {}) ⇒ Object
369
370
371
372
|
# File 'lib/teamleader/api.rb', line 369
def get_company(params={})
raise "company_id is required" if params[:company_id].nil?
request "/getCompany.php", params
end
|
44
45
46
47
|
# File 'lib/teamleader/api.rb', line 44
def get_contact(params={})
raise "contact_id is required" if params[:contact_id].nil?
request "/getContact.php", params
end
|
79
80
81
82
83
|
# File 'lib/teamleader/api.rb', line 79
def get_contact_company_relations(params={})
raise "amount is required" if params[:amount].nil?
raise "pageno is required" if params[:pageno].nil?
request "/getContactCompanyRelations.php", params
end
|
68
69
70
71
72
|
# File 'lib/teamleader/api.rb', line 68
def get_contacts(params={})
raise "amount is required" if params[:amount].nil?
raise "pageno is required" if params[:pageno].nil?
request "/getContacts.php", params
end
|
74
75
76
77
|
# File 'lib/teamleader/api.rb', line 74
def get_contacts_by_company(params={})
raise "company_id is required" if params[:company_id].nil?
request "/getContactsByCompany.php", params
end
|
#get_creditnote(params = {}) ⇒ Object
187
188
189
190
|
# File 'lib/teamleader/api.rb', line 187
def get_creditnote(params={})
raise "creditnote_id is required" if params[:creditnote_id].nil?
request "/getCreditnote.php", params
end
|
#get_creditnotes(params = {}) ⇒ Object
208
209
210
211
212
|
# File 'lib/teamleader/api.rb', line 208
def get_creditnotes(params={})
raise "date_from is required" if params[:date_from].nil?
raise "date_to is required" if params[:date_to].nil?
request "/getCreditnotes.php", params
end
|
#get_creditnotes_by_project(params = {}) ⇒ Object
219
220
221
222
|
# File 'lib/teamleader/api.rb', line 219
def get_creditnotes_by_project(params={})
raise "project_id is required" if params[:project_id].nil?
request "/getCreditnotesByProject.php", params
end
|
#get_deal(params = {}) ⇒ Object
123
124
125
126
|
# File 'lib/teamleader/api.rb', line 123
def get_deal(params={})
raise "deal_id is required" if params[:deal_id].nil?
request "/getDeal.php", params
end
|
#get_deal_phase_changes(params = {}) ⇒ Object
128
129
130
131
|
# File 'lib/teamleader/api.rb', line 128
def get_deal_phase_changes(params={})
raise "deal_id is required" if params[:deal_id].nil?
request "/getDealPhaseChanges.php", params
end
|
#get_deal_phases(params = {}) ⇒ Object
139
140
141
|
# File 'lib/teamleader/api.rb', line 139
def get_deal_phases(params={})
request "/getDealPhases.php", params
end
|
#get_deal_sources(params = {}) ⇒ Object
143
144
145
|
# File 'lib/teamleader/api.rb', line 143
def get_deal_sources(params={})
request "/getDealSources.php", params
end
|
#get_deals(params = {}) ⇒ Object
106
107
108
109
110
|
# File 'lib/teamleader/api.rb', line 106
def get_deals(params={})
raise "amount is required" if params[:amount].nil?
raise "pageno is required" if params[:pageno].nil?
request "/getDeals.php", params
end
|
112
113
114
115
116
|
# File 'lib/teamleader/api.rb', line 112
def get_deals_by_contact_or_company(params={})
raise "contact_or_company is required" if params[:contact_or_company].nil?
raise "contact_or_company_id is required" if params[:contact_or_company_id].nil?
request "/getDealsByContactOrCompany.php", params
end
|
#get_deals_by_project(params = {}) ⇒ Object
118
119
120
121
|
# File 'lib/teamleader/api.rb', line 118
def get_deals_by_project(params={})
raise "project_id is required" if params[:project_id].nil?
request "/getDealsByProject.php", params
end
|
#get_departments ⇒ Object
28
29
30
|
# File 'lib/teamleader/api.rb', line 28
def get_departments
request "/getDepartments.php"
end
|
#get_invoice(params = {}) ⇒ Object
182
183
184
185
|
# File 'lib/teamleader/api.rb', line 182
def get_invoice(params={})
raise "invoice_id is required" if params[:invoice_id].nil?
request "/getInvoice.php", params
end
|
#get_invoice_cloud_url(params = {}) ⇒ Object
253
254
255
256
|
# File 'lib/teamleader/api.rb', line 253
def get_invoice_cloud_url(params={})
raise "invoice_id is required" if params[:invoice_id].nil?
request "/getInvoiceCloudURL.php", params
end
|
#get_invoice_reminder_template_content(params = {}) ⇒ Object
247
248
249
250
251
|
# File 'lib/teamleader/api.rb', line 247
def get_invoice_reminder_template_content(params={})
raise "invoice_id is required" if params[:invoice_id].nil?
raise "template_id is required" if params[:template_id].nil?
request "/getInvoiceReminderTemplateContent.php", params
end
|
#get_invoice_reminder_templates(params = {}) ⇒ Object
242
243
244
245
|
# File 'lib/teamleader/api.rb', line 242
def get_invoice_reminder_templates(params={})
raise "invoice_id is required" if params[:invoice_id].nil?
request "/getInvoiceReminderTemplates.php", params
end
|
#get_invoices(params = {}) ⇒ Object
202
203
204
205
206
|
# File 'lib/teamleader/api.rb', line 202
def get_invoices(params={})
raise "date_from is required" if params[:date_from].nil?
raise "date_to is required" if params[:date_to].nil?
request "/getInvoices.php", params
end
|
#get_invoices_by_deal(params = {}) ⇒ Object
224
225
226
227
|
# File 'lib/teamleader/api.rb', line 224
def get_invoices_by_deal(params={})
raise "deal_id is required" if params[:deal_id].nil?
request "/getInvoicesByDeal.php", params
end
|
#get_invoices_by_project(params = {}) ⇒ Object
214
215
216
217
|
# File 'lib/teamleader/api.rb', line 214
def get_invoices_by_project(params={})
raise "project_id is required" if params[:project_id].nil?
request "/getInvoicesByProject.php", params
end
|
#get_notes(params = {}) ⇒ Object
340
341
342
343
344
345
|
# File 'lib/teamleader/api.rb', line 340
def get_notes(params={})
raise "object_type is required" if params[:object_type].nil?
raise "object_id is required" if params[:object_id].nil?
raise "pageno is required" if params[:pageno].nil?
request "/addNote.php", params
end
|
#get_product(params = {}) ⇒ Object
279
280
281
282
|
# File 'lib/teamleader/api.rb', line 279
def get_product(params={})
raise "product_id is required" if params[:product_id].nil?
request "/getProduct.php", params
end
|
#get_products(params = {}) ⇒ Object
284
285
286
287
288
|
# File 'lib/teamleader/api.rb', line 284
def get_products(params={})
raise "amount is required" if params[:amount].nil?
raise "pageno is required" if params[:pageno].nil?
request "/getProducts.php", params
end
|
32
33
34
|
# File 'lib/teamleader/api.rb', line 32
def get_tags
request "/getTags.php"
end
|
#get_ticket(params = {}) ⇒ Object
311
312
313
314
|
# File 'lib/teamleader/api.rb', line 311
def get_ticket(params={})
raise "ticket_id is required" if params[:ticket_id].nil?
request "/getTickets.php", params
end
|
#get_ticket_cloud_url(params = {}) ⇒ Object
328
329
330
331
|
# File 'lib/teamleader/api.rb', line 328
def get_ticket_cloud_url(params={})
raise "ticket_id is required" if params[:ticket_id].nil?
request "/getTicketCloudURL.php", params
end
|
#get_ticket_message(params = {}) ⇒ Object
323
324
325
326
|
# File 'lib/teamleader/api.rb', line 323
def get_ticket_message(params={})
raise "message_id is required" if params[:message_id].nil?
request "/getTicketMessage.php", params
end
|
#get_ticket_messages(params = {}) ⇒ Object
316
317
318
319
320
321
|
# File 'lib/teamleader/api.rb', line 316
def get_ticket_messages(params={})
raise "ticket_id is required" if params[:ticket_id].nil?
raise "include_internal_message is required" if params[:include_internal_message].nil?
raise "include_third_party_message is required" if params[:include_third_party_message].nil?
request "/getTicketMessages.php", params
end
|
#get_tickets(params = {}) ⇒ Object
306
307
308
309
|
# File 'lib/teamleader/api.rb', line 306
def get_tickets(params={})
raise "type is required" if params[:type].nil?
request "/getTickets.php", params
end
|
#get_users(params = {}) ⇒ Object
24
25
26
|
# File 'lib/teamleader/api.rb', line 24
def get_users(params={})
request "/getUsers.php", params
end
|
60
61
62
63
64
65
66
|
# File 'lib/teamleader/api.rb', line 60
def link_contact_to_company(params={})
raise "contact_id is required" if params[:contact_id].nil?
raise "company_id is required" if params[:company_id].nil?
raise "mode is required" if params[:mode].nil?
raise "mode must be 'link' or 'unlink'" unless ['link', 'unlink'].include?(params[:mode])
request "/linkContactToCompany.php", params
end
|
#send_invoice(params = {}) ⇒ Object
234
235
236
237
238
239
240
|
# File 'lib/teamleader/api.rb', line 234
def send_invoice(params={})
raise "invoice_id is required" if params[:invoice_id].nil?
raise "email_to is required" if params[:email_to].nil?
raise "email_subject is required" if params[:email_subject].nil?
raise "email_text is required" if params[:email_text].nil?
request "/sendInvoice.php", params
end
|
#send_sale_to_client(params = {}) ⇒ Object
102
103
104
|
# File 'lib/teamleader/api.rb', line 102
def send_sale_to_client(params={})
request "/sendSaleToClient.php", params
end
|
#update_company(params = {}) ⇒ Object
352
353
354
355
356
|
# File 'lib/teamleader/api.rb', line 352
def update_company(params={})
raise "company_id is required" if params[:company_id].nil?
raise "track_changes is required" if params[:track_changes].nil?
request "/updateCompany.php", params
end
|
49
50
51
52
53
|
# File 'lib/teamleader/api.rb', line 49
def update_contact(params={})
raise "contact_id is required" if params[:contact_id].nil?
raise "track_changes is required" if params[:track_changes].nil?
request "/updateContact.php", params
end
|
#update_deal(params = {}) ⇒ Object
93
94
95
96
|
# File 'lib/teamleader/api.rb', line 93
def update_deal(params={})
raise "deal_id is required" if params[:deal_id].nil?
request "/updateDeal.php", params
end
|
#update_deal_items(params = {}) ⇒ Object
98
99
100
|
# File 'lib/teamleader/api.rb', line 98
def update_deal_items(params={})
request "/updateDealItems.php", params
end
|
#update_invoice(params = {}) ⇒ Object
166
167
168
169
|
# File 'lib/teamleader/api.rb', line 166
def update_invoice(params={})
raise "invoice_id is required" if params[:invoice_id].nil?
request "/updateInvoice.php", params
end
|
171
172
173
174
175
|
# File 'lib/teamleader/api.rb', line 171
def (params={})
raise "invoice_id is required" if params[:invoice_id].nil?
raise "comments is required" if params[:comments].nil?
request "/updateInvoiceComments.php", params
end
|
#update_invoice_payment_status(params = {}) ⇒ Object
154
155
156
157
158
159
|
# File 'lib/teamleader/api.rb', line 154
def update_invoice_payment_status(params={})
raise "invoice_id is required" if params[:invoice_id].nil?
raise "status is required" if params[:status].nil?
raise "status must be 'paid' or 'not_paid'" unless ['paid', 'not_paid'].include?(params[:status])
request "/setInvoicePaymentStatus.php", params
end
|
#update_product(params = {}) ⇒ Object
269
270
271
272
|
# File 'lib/teamleader/api.rb', line 269
def update_product(params={})
raise "product_id is required" if params[:product_id].nil?
request "/updateProduct.php", params
end
|
#update_ticket(params = {}) ⇒ Object
295
296
297
298
|
# File 'lib/teamleader/api.rb', line 295
def update_ticket(params={})
raise "ticket_id is required" if params[:ticket_id].nil?
request "/updateTicket.php", params
end
|