pepipost_gem 2.5.0 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +6 -13
  3. data/README.md +123 -77
  4. data/lib/pepipost.rb +74 -0
  5. data/lib/{pepipost_gem → pepipost}/api_helper.rb +5 -3
  6. data/lib/pepipost/configuration.rb +24 -0
  7. data/lib/{pepipost_gem → pepipost}/controllers/base_controller.rb +10 -5
  8. data/lib/pepipost/controllers/domain_controller.rb +68 -0
  9. data/lib/pepipost/controllers/domain_delete_controller.rb +67 -0
  10. data/lib/pepipost/controllers/events_controller.rb +104 -0
  11. data/lib/pepipost/controllers/mail_send_controller.rb +54 -0
  12. data/lib/pepipost/controllers/setrecurringcreditddetails_controller.rb +68 -0
  13. data/lib/pepipost/controllers/stats_controller.rb +82 -0
  14. data/lib/pepipost/controllers/subaccounts_controller.rb +68 -0
  15. data/lib/pepipost/controllers/subaccounts_create_subaccount_controller.rb +68 -0
  16. data/lib/pepipost/controllers/subaccounts_delete_controller.rb +67 -0
  17. data/lib/pepipost/controllers/subaccounts_get_sub_accounts_controller.rb +71 -0
  18. data/lib/pepipost/controllers/subaccounts_setsubaccountcredit_controller.rb +68 -0
  19. data/lib/pepipost/controllers/subaccounts_update_subaccount_controller.rb +67 -0
  20. data/lib/pepipost/controllers/suppression_controller.rb +121 -0
  21. data/lib/{pepipost_gem → pepipost}/exceptions/api_exception.rb +5 -3
  22. data/lib/pepipost/http/auth/custom_header_auth.rb +16 -0
  23. data/lib/{pepipost_gem → pepipost}/http/faraday_client.rb +17 -8
  24. data/lib/{pepipost_gem → pepipost}/http/http_call_back.rb +5 -3
  25. data/lib/{pepipost_gem → pepipost}/http/http_client.rb +5 -3
  26. data/lib/{pepipost_gem → pepipost}/http/http_context.rb +5 -3
  27. data/lib/{pepipost_gem → pepipost}/http/http_method_enum.rb +5 -3
  28. data/lib/{pepipost_gem → pepipost}/http/http_request.rb +5 -3
  29. data/lib/{pepipost_gem → pepipost}/http/http_response.rb +5 -3
  30. data/lib/pepipost/models/action_enum.rb +18 -0
  31. data/lib/pepipost/models/add_email_or_domain_to_suppression_list.rb +48 -0
  32. data/lib/pepipost/models/aggregated_by_enum.rb +20 -0
  33. data/lib/pepipost/models/attachments.rb +44 -0
  34. data/lib/{pepipost_gem → pepipost}/models/base_model.rb +5 -3
  35. data/lib/pepipost/models/content.rb +44 -0
  36. data/lib/pepipost/models/create_subaccount.rb +76 -0
  37. data/lib/pepipost/models/delete_domain.rb +35 -0
  38. data/lib/pepipost/models/delete_subacoount.rb +35 -0
  39. data/lib/pepipost/models/domain_struct.rb +45 -0
  40. data/lib/pepipost/models/email_struct.rb +44 -0
  41. data/lib/pepipost/models/enable_or_disable_subacoount.rb +44 -0
  42. data/lib/pepipost/models/events_enum.rb +44 -0
  43. data/lib/pepipost/models/from.rb +44 -0
  44. data/lib/pepipost/models/personalizations.rb +135 -0
  45. data/lib/pepipost/models/remove_email_or_domain_to_suppression_list.rb +48 -0
  46. data/lib/pepipost/models/send.rb +164 -0
  47. data/lib/pepipost/models/settings.rb +71 -0
  48. data/lib/pepipost/models/sort_enum.rb +17 -0
  49. data/lib/pepipost/models/timeperiod_enum.rb +20 -0
  50. data/lib/pepipost/models/type_enum.rb +17 -0
  51. data/lib/pepipost/models/update_credis_of_subaccount.rb +54 -0
  52. data/lib/pepipost/models/update_recurring_credis_of_subaccount.rb +80 -0
  53. data/lib/pepipost/models/update_subaccount.rb +72 -0
  54. data/lib/pepipost/pepipost_client.rb +99 -0
  55. metadata +98 -54
  56. data/lib/pepipost_gem.rb +0 -40
  57. data/lib/pepipost_gem/configuration.rb +0 -17
  58. data/lib/pepipost_gem/controllers/email_controller.rb +0 -59
  59. data/lib/pepipost_gem/models/attachments.rb +0 -42
  60. data/lib/pepipost_gem/models/attribute.rb +0 -42
  61. data/lib/pepipost_gem/models/email_body.rb +0 -119
  62. data/lib/pepipost_gem/models/email_body_attachments.rb +0 -42
  63. data/lib/pepipost_gem/models/from.rb +0 -42
  64. data/lib/pepipost_gem/models/personalizations.rb +0 -85
  65. data/lib/pepipost_gem/models/send_email_error.rb +0 -42
  66. data/lib/pepipost_gem/models/send_email_response.rb +0 -52
  67. data/lib/pepipost_gem/models/settings.rb +0 -69
  68. data/lib/pepipost_gem/pepipost_gem_client.rb +0 -19
@@ -0,0 +1,68 @@
1
+ # pepipost
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0 (
4
+ # https://apimatic.io ).
5
+
6
+ module Pepipost
7
+ # DomainController
8
+ class DomainController < BaseController
9
+ @instance = DomainController.new
10
+
11
+ class << self
12
+ attr_accessor :instance
13
+ end
14
+
15
+ def instance
16
+ self.class.instance
17
+ end
18
+
19
+ # This endpoint enables you to add a sending domain which is one of the
20
+ # pre-requisites for sending emails.
21
+ # @param [DomainStruct] body Required parameter: Add new domain
22
+ # @return Object response from the API call
23
+ def add_domain(body)
24
+ # Prepare query url.
25
+ _path_url = '/domain'
26
+ _query_builder = Configuration.base_uri.dup
27
+ _query_builder << _path_url
28
+ _query_url = APIHelper.clean_url _query_builder
29
+ # Prepare headers.
30
+ _headers = {
31
+ 'content-type' => 'application/json; charset=utf-8'
32
+ }
33
+ # Prepare and execute HttpRequest.
34
+ _request = @http_client.post(
35
+ _query_url,
36
+ headers: _headers,
37
+ parameters: body.to_json
38
+ )
39
+ CustomHeaderAuth.apply(_request)
40
+ _context = execute_request(_request)
41
+ # Validate response against endpoint and global error codes.
42
+ if _context.response.status_code == 400
43
+ raise APIException.new(
44
+ 'API Response',
45
+ _context
46
+ )
47
+ elsif _context.response.status_code == 401
48
+ raise APIException.new(
49
+ 'API Response',
50
+ _context
51
+ )
52
+ elsif _context.response.status_code == 403
53
+ raise APIException.new(
54
+ 'API Response',
55
+ _context
56
+ )
57
+ elsif _context.response.status_code == 405
58
+ raise APIException.new(
59
+ 'Invalid input',
60
+ _context
61
+ )
62
+ end
63
+ validate_response(_context)
64
+ # Return appropriate response type.
65
+ _context.response.raw_body
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,67 @@
1
+ # pepipost
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0 (
4
+ # https://apimatic.io ).
5
+
6
+ module Pepipost
7
+ # DomainDeleteController
8
+ class DomainDeleteController < BaseController
9
+ @instance = DomainDeleteController.new
10
+
11
+ class << self
12
+ attr_accessor :instance
13
+ end
14
+
15
+ def instance
16
+ self.class.instance
17
+ end
18
+
19
+ # This endpoint allows you to delete a domain from your Pepipost account.
20
+ # @param [DeleteDomain] body Required parameter: delete domain
21
+ # @return Object response from the API call
22
+ def delete_domain(body)
23
+ # Prepare query url.
24
+ _path_url = '/domain/delete'
25
+ _query_builder = Configuration.base_uri.dup
26
+ _query_builder << _path_url
27
+ _query_url = APIHelper.clean_url _query_builder
28
+ # Prepare headers.
29
+ _headers = {
30
+ 'content-type' => 'application/json; charset=utf-8'
31
+ }
32
+ # Prepare and execute HttpRequest.
33
+ _request = @http_client.delete(
34
+ _query_url,
35
+ headers: _headers,
36
+ parameters: body.to_json
37
+ )
38
+ CustomHeaderAuth.apply(_request)
39
+ _context = execute_request(_request)
40
+ # Validate response against endpoint and global error codes.
41
+ if _context.response.status_code == 400
42
+ raise APIException.new(
43
+ 'API Response',
44
+ _context
45
+ )
46
+ elsif _context.response.status_code == 401
47
+ raise APIException.new(
48
+ 'API Response',
49
+ _context
50
+ )
51
+ elsif _context.response.status_code == 403
52
+ raise APIException.new(
53
+ 'API Response',
54
+ _context
55
+ )
56
+ elsif _context.response.status_code == 405
57
+ raise APIException.new(
58
+ 'Invalid input',
59
+ _context
60
+ )
61
+ end
62
+ validate_response(_context)
63
+ # Return appropriate response type.
64
+ _context.response.raw_body
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,104 @@
1
+ # pepipost
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0 (
4
+ # https://apimatic.io ).
5
+
6
+ module Pepipost
7
+ # EventsController
8
+ class EventsController < BaseController
9
+ @instance = EventsController.new
10
+
11
+ class << self
12
+ attr_accessor :instance
13
+ end
14
+
15
+ def instance
16
+ self.class.instance
17
+ end
18
+
19
+ # Lets you to retrieve the email transaction logs.
20
+ # @param [Date] startdate Required parameter: The starting date of the
21
+ # statistics to retrieve. Must follow format YYYY-MM-DD.
22
+ # @param [EventsEnum] events Optional parameter: Filter based on different
23
+ # email events. If not passed, all events will be fetched. Multiple comma
24
+ # separated events are allowed
25
+ # @param [SortEnum] sort Optional parameter: Sort based on email sent time
26
+ # @param [Date] enddate Optional parameter: The end date of the statistics
27
+ # to retrieve. Defaults to today. Must follow format YYYY-MM-DD
28
+ # @param [Integer] offset Optional parameter: The point in the list to begin
29
+ # retrieving results.
30
+ # @param [Integer] limit Optional parameter: The number of results to
31
+ # return.
32
+ # @param [String] subject Optional parameter: Filter logs based on subject
33
+ # @param [String] xapiheader Optional parameter: Filter logs based on
34
+ # recipient's email
35
+ # @param [String] fromaddress Optional parameter: Filter logs based on
36
+ # fromaddress
37
+ # @param [String] email Optional parameter: Filter logs based on recipient's
38
+ # email
39
+ # @return Object response from the API call
40
+ def get_events_get(startdate,
41
+ events = nil,
42
+ sort = nil,
43
+ enddate = nil,
44
+ offset = 0,
45
+ limit = 10,
46
+ subject = nil,
47
+ xapiheader = nil,
48
+ fromaddress = nil,
49
+ email = nil)
50
+ # Prepare query url.
51
+ _path_url = '/events'
52
+ _query_builder = Configuration.base_uri.dup
53
+ _query_builder << _path_url
54
+ _query_builder = APIHelper.append_url_with_query_parameters(
55
+ _query_builder,
56
+ {
57
+ 'startdate' => startdate,
58
+ 'events' => events,
59
+ 'sort' => sort,
60
+ 'enddate' => enddate,
61
+ 'offset' => offset,
62
+ 'limit' => limit,
63
+ 'subject' => subject,
64
+ 'xapiheader' => xapiheader,
65
+ 'fromaddress' => fromaddress,
66
+ 'email' => email
67
+ },
68
+ array_serialization: Configuration.array_serialization
69
+ )
70
+ _query_url = APIHelper.clean_url _query_builder
71
+ # Prepare and execute HttpRequest.
72
+ _request = @http_client.get(
73
+ _query_url
74
+ )
75
+ CustomHeaderAuth.apply(_request)
76
+ _context = execute_request(_request)
77
+ # Validate response against endpoint and global error codes.
78
+ if _context.response.status_code == 400
79
+ raise APIException.new(
80
+ 'API Response',
81
+ _context
82
+ )
83
+ elsif _context.response.status_code == 401
84
+ raise APIException.new(
85
+ 'API Response',
86
+ _context
87
+ )
88
+ elsif _context.response.status_code == 403
89
+ raise APIException.new(
90
+ 'API Response',
91
+ _context
92
+ )
93
+ elsif _context.response.status_code == 405
94
+ raise APIException.new(
95
+ 'Invalid input',
96
+ _context
97
+ )
98
+ end
99
+ validate_response(_context)
100
+ # Return appropriate response type.
101
+ _context.response.raw_body
102
+ end
103
+ end
104
+ end
@@ -0,0 +1,54 @@
1
+ # pepipost
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0 (
4
+ # https://apimatic.io ).
5
+
6
+ module Pepipost
7
+ # MailSendController
8
+ class MailSendController < BaseController
9
+ @instance = MailSendController.new
10
+
11
+ class << self
12
+ attr_accessor :instance
13
+ end
14
+
15
+ def instance
16
+ self.class.instance
17
+ end
18
+
19
+ # The endpoint send is used to generate the request to pepipost server for
20
+ # sending an email to recipients.
21
+ # @param [Send] body Required parameter: New mail request will be
22
+ # generated
23
+ # @return Object response from the API call
24
+ def create_generatethemailsendrequest(body)
25
+ # Prepare query url.
26
+ _path_url = '/mail/send'
27
+ _query_builder = Configuration.base_uri.dup
28
+ _query_builder << _path_url
29
+ _query_url = APIHelper.clean_url _query_builder
30
+ # Prepare headers.
31
+ _headers = {
32
+ 'content-type' => 'application/json; charset=utf-8'
33
+ }
34
+ # Prepare and execute HttpRequest.
35
+ _request = @http_client.post(
36
+ _query_url,
37
+ headers: _headers,
38
+ parameters: body.to_json
39
+ )
40
+ CustomHeaderAuth.apply(_request)
41
+ _context = execute_request(_request)
42
+ # Validate response against endpoint and global error codes.
43
+ if _context.response.status_code == 405
44
+ raise APIException.new(
45
+ 'Invalid input',
46
+ _context
47
+ )
48
+ end
49
+ validate_response(_context)
50
+ # Return appropriate response type.
51
+ _context.response.raw_body
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,68 @@
1
+ # pepipost
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0 (
4
+ # https://apimatic.io ).
5
+
6
+ module Pepipost
7
+ # SetrecurringcreditddetailsController
8
+ class SetrecurringcreditddetailsController < BaseController
9
+ @instance = SetrecurringcreditddetailsController.new
10
+
11
+ class << self
12
+ attr_accessor :instance
13
+ end
14
+
15
+ def instance
16
+ self.class.instance
17
+ end
18
+
19
+ # Lets you configure a recurring credit allocation to a subaccount
20
+ # @param [UpdateRecurringCredisOfSubaccount] body Required parameter: Update
21
+ # recurring credit account
22
+ # @return Object response from the API call
23
+ def create_setrecurringcreditddetails_post(body)
24
+ # Prepare query url.
25
+ _path_url = '/setrecurringcreditddetails'
26
+ _query_builder = Configuration.base_uri.dup
27
+ _query_builder << _path_url
28
+ _query_url = APIHelper.clean_url _query_builder
29
+ # Prepare headers.
30
+ _headers = {
31
+ 'content-type' => 'application/json; charset=utf-8'
32
+ }
33
+ # Prepare and execute HttpRequest.
34
+ _request = @http_client.post(
35
+ _query_url,
36
+ headers: _headers,
37
+ parameters: body.to_json
38
+ )
39
+ CustomHeaderAuth.apply(_request)
40
+ _context = execute_request(_request)
41
+ # Validate response against endpoint and global error codes.
42
+ if _context.response.status_code == 400
43
+ raise APIException.new(
44
+ 'API Response',
45
+ _context
46
+ )
47
+ elsif _context.response.status_code == 401
48
+ raise APIException.new(
49
+ 'API Response',
50
+ _context
51
+ )
52
+ elsif _context.response.status_code == 403
53
+ raise APIException.new(
54
+ 'API Response',
55
+ _context
56
+ )
57
+ elsif _context.response.status_code == 405
58
+ raise APIException.new(
59
+ 'Invalid input',
60
+ _context
61
+ )
62
+ end
63
+ validate_response(_context)
64
+ # Return appropriate response type.
65
+ _context.response.raw_body
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,82 @@
1
+ # pepipost
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0 (
4
+ # https://apimatic.io ).
5
+
6
+ module Pepipost
7
+ # StatsController
8
+ class StatsController < BaseController
9
+ @instance = StatsController.new
10
+
11
+ class << self
12
+ attr_accessor :instance
13
+ end
14
+
15
+ def instance
16
+ self.class.instance
17
+ end
18
+
19
+ # Lets you fetch all the subaccounts created by you
20
+ # @param [Date] startdate Required parameter: The starting date of the
21
+ # statistics to retrieve. Must follow format YYYY-MM-DD.
22
+ # @param [Date] enddate Optional parameter: The end date of the statistics
23
+ # to retrieve. Defaults to today. Must follow format YYYY-MM-DD.
24
+ # @param [AggregatedByEnum] aggregated_by Optional parameter: Example:
25
+ # @param [Integer] offset Optional parameter: Example:1
26
+ # @param [Integer] limit Optional parameter: Example:100
27
+ # @return Object response from the API call
28
+ def get_stats_get(startdate,
29
+ enddate = nil,
30
+ aggregated_by = nil,
31
+ offset = 1,
32
+ limit = 100)
33
+ # Prepare query url.
34
+ _path_url = '/stats'
35
+ _query_builder = Configuration.base_uri.dup
36
+ _query_builder << _path_url
37
+ _query_builder = APIHelper.append_url_with_query_parameters(
38
+ _query_builder,
39
+ {
40
+ 'startdate' => startdate,
41
+ 'enddate' => enddate,
42
+ 'aggregated_by' => aggregated_by,
43
+ 'offset' => offset,
44
+ 'limit' => limit
45
+ },
46
+ array_serialization: Configuration.array_serialization
47
+ )
48
+ _query_url = APIHelper.clean_url _query_builder
49
+ # Prepare and execute HttpRequest.
50
+ _request = @http_client.get(
51
+ _query_url
52
+ )
53
+ CustomHeaderAuth.apply(_request)
54
+ _context = execute_request(_request)
55
+ # Validate response against endpoint and global error codes.
56
+ if _context.response.status_code == 400
57
+ raise APIException.new(
58
+ 'API Response',
59
+ _context
60
+ )
61
+ elsif _context.response.status_code == 401
62
+ raise APIException.new(
63
+ 'API Response',
64
+ _context
65
+ )
66
+ elsif _context.response.status_code == 403
67
+ raise APIException.new(
68
+ 'API Response',
69
+ _context
70
+ )
71
+ elsif _context.response.status_code == 405
72
+ raise APIException.new(
73
+ 'Invalid input',
74
+ _context
75
+ )
76
+ end
77
+ validate_response(_context)
78
+ # Return appropriate response type.
79
+ _context.response.raw_body
80
+ end
81
+ end
82
+ end