emarsys_suite_services_api_client 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/emarsys_suite_services_api_client.rb +79 -0
- metadata +86 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: e43ed0cc981eb2ed6e1d906f110415d3e8cf256f
|
4
|
+
data.tar.gz: 13d3c2227336fc0e3889a4efbd0b28a8913e1150
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 97dab3bf13dfc75fe086f0b6b1b2c9380599811fc0ed91d7e943c6e334cd09c3511d5c627ac73829b00598983c8069ae0546581cad03567b16379a459170f446
|
7
|
+
data.tar.gz: f4b70d546453be6ea28bd5c6d43198133b645c6d9a5ae8d57adde9d8ff36ecc7115f7060847328fd2e74b79f499a9e0b2185e3f6cc802b760b927ac5ea670d8d
|
@@ -0,0 +1,79 @@
|
|
1
|
+
require 'rest-client'
|
2
|
+
require 'escher'
|
3
|
+
|
4
|
+
module Emarsys
|
5
|
+
module Suite
|
6
|
+
class ServicesApiClient
|
7
|
+
|
8
|
+
def initialize(api_key, api_secret, host = 'api.emarsys.net', use_ssl = true)
|
9
|
+
@api_key = api_key
|
10
|
+
@api_secret = api_secret
|
11
|
+
@host = host
|
12
|
+
@protocol = use_ssl ? 'https' : 'http'
|
13
|
+
end
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
def healthcheck
|
18
|
+
RestClient.get('http://suite.ett.local/api/services/healthcheck')
|
19
|
+
end
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
def authenticated_healthcheck
|
24
|
+
request_data = {
|
25
|
+
method: 'GET',
|
26
|
+
uri: '/api/services/authenticated_healthcheck',
|
27
|
+
headers: [['host', @host]],
|
28
|
+
}
|
29
|
+
|
30
|
+
escher.sign!(request_data, client)
|
31
|
+
|
32
|
+
RestClient::Request.execute(
|
33
|
+
method: :get,
|
34
|
+
url: "#{@protocol}://#{@host}/api/services/authenticated_healthcheck",
|
35
|
+
headers: request_data[:headers],
|
36
|
+
ssl_version: :TLSv1
|
37
|
+
)
|
38
|
+
end
|
39
|
+
|
40
|
+
|
41
|
+
|
42
|
+
def list_integrations(customer)
|
43
|
+
request_data = {
|
44
|
+
method: 'GET',
|
45
|
+
uri: "/api/services/customers/#{customer}/integrations",
|
46
|
+
headers: [['host', @host]],
|
47
|
+
}
|
48
|
+
|
49
|
+
escher.sign!(request_data, client)
|
50
|
+
|
51
|
+
JSON.parse(RestClient::Request.execute(
|
52
|
+
method: 'GET',
|
53
|
+
url: "#{@protocol}://#{@host}/api/services/customers/#{customer}/integrations",
|
54
|
+
headers: request_data[:headers],
|
55
|
+
ssl_version: :TLSv1
|
56
|
+
))
|
57
|
+
end
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
private
|
62
|
+
def escher
|
63
|
+
Escher::Auth.new('eu/suite/ems_request', {
|
64
|
+
algo_prefix: 'EMS',
|
65
|
+
vendor_key: 'EMS',
|
66
|
+
auth_header_name: 'X-Ems-Auth',
|
67
|
+
date_header_name: 'X-Ems-Date',
|
68
|
+
})
|
69
|
+
end
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
def client
|
74
|
+
{api_key_id: @api_key, api_secret: @api_secret}
|
75
|
+
end
|
76
|
+
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
metadata
ADDED
@@ -0,0 +1,86 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: emarsys_suite_services_api_client
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Emarsys
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-03-16 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rest-client
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 1.7.3
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 1.7.3
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: escher
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.3.2
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 0.3.2
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 3.2.0
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 3.2.0
|
55
|
+
description: Client for the services api of the Emarsys Suite.
|
56
|
+
email: andras.barthazi@emarsys.com
|
57
|
+
executables: []
|
58
|
+
extensions: []
|
59
|
+
extra_rdoc_files: []
|
60
|
+
files:
|
61
|
+
- lib/emarsys_suite_services_api_client.rb
|
62
|
+
homepage: https://github.com/emartech/suite-services-api-client-ruby
|
63
|
+
licenses:
|
64
|
+
- MIT
|
65
|
+
metadata: {}
|
66
|
+
post_install_message:
|
67
|
+
rdoc_options: []
|
68
|
+
require_paths:
|
69
|
+
- lib
|
70
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '0'
|
75
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
77
|
+
- - ">="
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '0'
|
80
|
+
requirements: []
|
81
|
+
rubyforge_project:
|
82
|
+
rubygems_version: 2.2.2
|
83
|
+
signing_key:
|
84
|
+
specification_version: 4
|
85
|
+
summary: Client for the services api of the Emarsys Suite
|
86
|
+
test_files: []
|