Class: Teamleader::Api
Instance Method Summary
collapse
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.
15
16
17
18
19
20
21
|
# File 'lib/teamleader/api.rb', line 15
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
346
347
348
349
|
# File 'lib/teamleader/api.rb', line 346
def add_company(params={})
raise "name is required" if params[:name].nil?
request "/addCompany.php", params
end
|
Returns the ID of the contact
36
37
38
39
40
41
|
# File 'lib/teamleader/api.rb', line 36
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
228
229
230
231
|
# File 'lib/teamleader/api.rb', line 228
def add_creditnote(params={})
raise "invoice_id is required" if params[:invoice_id].nil?
request "/addCreditnote.php", params
end
|
#add_deal(params = {}) ⇒ Object
84
85
86
87
88
89
90
|
# File 'lib/teamleader/api.rb', line 84
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
146
147
148
149
150
151
|
# File 'lib/teamleader/api.rb', line 146
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
332
333
334
335
336
337
|
# File 'lib/teamleader/api.rb', line 332
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
262
263
264
265
266
|
# File 'lib/teamleader/api.rb', line 262
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
289
290
291
292
|
# File 'lib/teamleader/api.rb', line 289
def add_ticket(params={})
raise "subject is required" if params[:subject].nil?
request "/addTicket.php", params
end
|
#add_ticket_message(params = {}) ⇒ Object
299
300
301
302
303
|
# File 'lib/teamleader/api.rb', line 299
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
160
161
162
163
|
# File 'lib/teamleader/api.rb', line 160
def book_draft_invoice(params={})
raise "invoice_id is required" if params[:invoice_id].nil?
request "/bookDraftInvoice.php", params
end
|
#delete_company(params = {}) ⇒ Object
357
358
359
360
|
# File 'lib/teamleader/api.rb', line 357
def delete_company(params={})
raise "company_id is required" if params[:company_id].nil?
request "/deleteCompany.php", params
end
|
54
55
56
57
|
# File 'lib/teamleader/api.rb', line 54
def delete_contact(params={})
raise "contact_id is required" if params[:contact_id].nil?
request "/deleteContact.php", params
end
|
#delete_invoice(params = {}) ⇒ Object
176
177
178
179
|
# File 'lib/teamleader/api.rb', line 176
def delete_invoice(params={})
raise "invoice_id is required" if params[:invoice_id].nil?
request "/deleteInvoice.php", params
end
|
#delete_product(params = {}) ⇒ Object
273
274
275
276
|
# File 'lib/teamleader/api.rb', line 273
def delete_product(params={})
raise "product_id is required" if params[:product_id].nil?
request "/deleteProduct.php", params
end
|
#download_creditnote_pdf(params = {}) ⇒ Object
196
197
198
199
|
# File 'lib/teamleader/api.rb', line 196
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
191
192
193
194
|
# File 'lib/teamleader/api.rb', line 191
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
132
133
134
135
136
|
# File 'lib/teamleader/api.rb', line 132
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
257
258
259
260
|
# File 'lib/teamleader/api.rb', line 257
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
373
374
375
376
|
# File 'lib/teamleader/api.rb', line 373
def get_business_types(params={})
raise "country is required" if params[:country].nil?
request "/getBusinessTypes.php", params
end
|
#get_companies(params = {}) ⇒ Object
362
363
364
365
366
|
# File 'lib/teamleader/api.rb', line 362
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
368
369
370
371
|
# File 'lib/teamleader/api.rb', line 368
def get_company(params={})
raise "company_id is required" if params[:company_id].nil?
request "/getCompany.php", params
end
|
43
44
45
46
|
# File 'lib/teamleader/api.rb', line 43
def get_contact(params={})
raise "contact_id is required" if params[:contact_id].nil?
request "/getContact.php", params
end
|
78
79
80
81
82
|
# File 'lib/teamleader/api.rb', line 78
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
|
67
68
69
70
71
|
# File 'lib/teamleader/api.rb', line 67
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
|
73
74
75
76
|
# File 'lib/teamleader/api.rb', line 73
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
186
187
188
189
|
# File 'lib/teamleader/api.rb', line 186
def get_creditnote(params={})
raise "creditnote_id is required" if params[:creditnote_id].nil?
request "/getCreditnote.php", params
end
|
#get_creditnotes(params = {}) ⇒ Object
207
208
209
210
211
|
# File 'lib/teamleader/api.rb', line 207
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
218
219
220
221
|
# File 'lib/teamleader/api.rb', line 218
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
122
123
124
125
|
# File 'lib/teamleader/api.rb', line 122
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
127
128
129
130
|
# File 'lib/teamleader/api.rb', line 127
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
138
139
140
|
# File 'lib/teamleader/api.rb', line 138
def get_deal_phases(params={})
request "/getDealPhases.php", params
end
|
#get_deal_sources(params = {}) ⇒ Object
142
143
144
|
# File 'lib/teamleader/api.rb', line 142
def get_deal_sources(params={})
request "/getDealSources.php", params
end
|
#get_deals(params = {}) ⇒ Object
105
106
107
108
109
|
# File 'lib/teamleader/api.rb', line 105
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
|
111
112
113
114
115
|
# File 'lib/teamleader/api.rb', line 111
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
117
118
119
120
|
# File 'lib/teamleader/api.rb', line 117
def get_deals_by_project(params={})
raise "project_id is required" if params[:project_id].nil?
request "/getDealsByProject.php", params
end
|
#get_departments ⇒ Object
27
28
29
|
# File 'lib/teamleader/api.rb', line 27
def get_departments
request "/getDepartments.php"
end
|
#get_invoice(params = {}) ⇒ Object
181
182
183
184
|
# File 'lib/teamleader/api.rb', line 181
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
252
253
254
255
|
# File 'lib/teamleader/api.rb', line 252
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
246
247
248
249
250
|
# File 'lib/teamleader/api.rb', line 246
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
241
242
243
244
|
# File 'lib/teamleader/api.rb', line 241
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
201
202
203
204
205
|
# File 'lib/teamleader/api.rb', line 201
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
223
224
225
226
|
# File 'lib/teamleader/api.rb', line 223
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
213
214
215
216
|
# File 'lib/teamleader/api.rb', line 213
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
339
340
341
342
343
344
|
# File 'lib/teamleader/api.rb', line 339
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
278
279
280
281
|
# File 'lib/teamleader/api.rb', line 278
def get_product(params={})
raise "product_id is required" if params[:product_id].nil?
request "/getProduct.php", params
end
|
#get_products(params = {}) ⇒ Object
283
284
285
286
287
|
# File 'lib/teamleader/api.rb', line 283
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
|
31
32
33
|
# File 'lib/teamleader/api.rb', line 31
def get_tags
request "/getTags.php"
end
|
#get_ticket(params = {}) ⇒ Object
310
311
312
313
|
# File 'lib/teamleader/api.rb', line 310
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
327
328
329
330
|
# File 'lib/teamleader/api.rb', line 327
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
322
323
324
325
|
# File 'lib/teamleader/api.rb', line 322
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
315
316
317
318
319
320
|
# File 'lib/teamleader/api.rb', line 315
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
305
306
307
308
|
# File 'lib/teamleader/api.rb', line 305
def get_tickets(params={})
raise "type is required" if params[:type].nil?
request "/getTickets.php", params
end
|
#get_users(params = {}) ⇒ Object
23
24
25
|
# File 'lib/teamleader/api.rb', line 23
def get_users(params={})
request "/getUsers.php", params
end
|
59
60
61
62
63
64
65
|
# File 'lib/teamleader/api.rb', line 59
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
233
234
235
236
237
238
239
|
# File 'lib/teamleader/api.rb', line 233
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
101
102
103
|
# File 'lib/teamleader/api.rb', line 101
def send_sale_to_client(params={})
request "/sendSaleToClient.php", params
end
|
#update_company(params = {}) ⇒ Object
351
352
353
354
355
|
# File 'lib/teamleader/api.rb', line 351
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
|
48
49
50
51
52
|
# File 'lib/teamleader/api.rb', line 48
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
92
93
94
95
|
# File 'lib/teamleader/api.rb', line 92
def update_deal(params={})
raise "deal_id is required" if params[:deal_id].nil?
request "/updateDeal.php", params
end
|
#update_deal_items(params = {}) ⇒ Object
97
98
99
|
# File 'lib/teamleader/api.rb', line 97
def update_deal_items(params={})
request "/updateDealItems.php", params
end
|
#update_invoice(params = {}) ⇒ Object
165
166
167
168
|
# File 'lib/teamleader/api.rb', line 165
def update_invoice(params={})
raise "invoice_id is required" if params[:invoice_id].nil?
request "/updateInvoice.php", params
end
|
170
171
172
173
174
|
# File 'lib/teamleader/api.rb', line 170
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
153
154
155
156
157
158
|
# File 'lib/teamleader/api.rb', line 153
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
268
269
270
271
|
# File 'lib/teamleader/api.rb', line 268
def update_product(params={})
raise "product_id is required" if params[:product_id].nil?
request "/updateProduct.php", params
end
|
#update_ticket(params = {}) ⇒ Object
294
295
296
297
|
# File 'lib/teamleader/api.rb', line 294
def update_ticket(params={})
raise "ticket_id is required" if params[:ticket_id].nil?
request "/updateTicket.php", params
end
|