emailage 1.1.0 → 1.1.3
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 +4 -4
- data/Gemfile +0 -0
- data/emailage.gemspec +12 -12
- data/lib/emailage/client.rb +24 -24
- data/lib/emailage/signature.rb +0 -0
- data/lib/emailage/validation.rb +0 -0
- data/lib/emailage/version.rb +1 -1
- data/lib/emailage.rb +4 -6
- metadata +24 -46
- data/.dockerignore +0 -7
- data/.gitignore +0 -10
- data/Dockerfile +0 -10
- data/LICENSE +0 -9
- data/README.md +0 -100
- data/Rakefile +0 -2
- data/bin/console +0 -14
- data/bin/setup +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 38c01f8a02f808ca338b0e70b8a2c58d094a29904a24aeaba4901044b5b041fb
|
4
|
+
data.tar.gz: 9cce0af02bc2834c600891ea2fd45c2530762d00be97dd28a12d21d7c318cfe2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 750f705edf2a9202ad03f54dfccf1c72f27b17652332d491caae5abb1b8096b964b348a5ee22882b4f590c3d1e3197afbc57efe2512922599195b666cf3e3a04
|
7
|
+
data.tar.gz: 2fd43dba8286d828ab9ee0b9163cc0c39239e5b6caf43ad75082d7df65fe567c0a76729d15f9cc2c6b482ed428846fc41760f4a44613a33bac77b117d3a5daab
|
data/Gemfile
CHANGED
File without changes
|
data/emailage.gemspec
CHANGED
@@ -7,25 +7,25 @@ Gem::Specification.new do |spec|
|
|
7
7
|
spec.name = "emailage"
|
8
8
|
spec.version = Emailage::VERSION
|
9
9
|
spec.authors = ["Emailage DEV Team"]
|
10
|
-
spec.email = ["
|
10
|
+
spec.email = ["eml-devops.team@lexisnexisrisk.com"]
|
11
11
|
|
12
12
|
spec.license = "MIT"
|
13
13
|
spec.summary = "Emailage API client written in Ruby"
|
14
14
|
spec.description = "Emailage is a Fraud Prevention Solution. This gem implements a client for the Emailage web service."
|
15
15
|
spec.homepage = "https://emailage.com/"
|
16
|
+
spec.metadata = { "source_code_uri" => "https://github.com/emailage/Emailage_Ruby" }
|
16
17
|
|
17
|
-
spec.files =
|
18
|
+
spec.files = Dir.glob("lib/**/*") + ["Gemfile", "emailage.gemspec"]
|
18
19
|
spec.require_paths = ["lib"]
|
19
20
|
|
20
|
-
spec.add_development_dependency "bundler", "~>
|
21
|
-
spec.add_development_dependency "rake", "~>
|
22
|
-
spec.add_development_dependency "rspec-core", "~> 3.
|
23
|
-
spec.add_development_dependency "rspec-expectations", "~> 3.
|
24
|
-
spec.add_development_dependency "rspec-mocks", "~> 3.
|
25
|
-
spec.add_development_dependency "yard", ">= 0.9.
|
26
|
-
spec.add_development_dependency "redcarpet", "~> 3.
|
21
|
+
spec.add_development_dependency "bundler", "~> 2.6"
|
22
|
+
spec.add_development_dependency "rake", "~> 13.0"
|
23
|
+
spec.add_development_dependency "rspec-core", "~> 3.13"
|
24
|
+
spec.add_development_dependency "rspec-expectations", "~> 3.13"
|
25
|
+
spec.add_development_dependency "rspec-mocks", "~> 3.13"
|
26
|
+
spec.add_development_dependency "yard", ">= 0.9.37"
|
27
|
+
spec.add_development_dependency "redcarpet", "~> 3.6"
|
27
28
|
|
28
|
-
spec.add_dependency "typhoeus", "~> 1.
|
29
|
-
spec.add_dependency "
|
30
|
-
spec.add_dependency "json", "~> 2.1"
|
29
|
+
spec.add_dependency "typhoeus", "~> 1.4"
|
30
|
+
spec.add_dependency "json", "~> 2.9"
|
31
31
|
end
|
data/lib/emailage/client.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
require 'typhoeus'
|
2
|
-
require '
|
2
|
+
require 'securerandom'
|
3
3
|
require 'json'
|
4
4
|
|
5
5
|
module Emailage
|
6
6
|
class Client
|
7
7
|
attr_reader :secret, :token, :hmac_key, :sandbox
|
8
8
|
attr_accessor :raise_errors
|
9
|
-
|
9
|
+
|
10
10
|
# @param secret [String] Consumer secret, e.g. SID or API key.
|
11
11
|
# @param token [String] Consumer OAuth token.
|
12
12
|
# @param sandbox [Boolean] Whether to use a sandbox instead of a production server.
|
@@ -18,13 +18,13 @@ module Emailage
|
|
18
18
|
@secret, @token = secret, token
|
19
19
|
@sandbox = options.fetch :sandbox, false
|
20
20
|
@raise_errors = options.fetch :raise_errors, false
|
21
|
-
|
21
|
+
|
22
22
|
# @hmac_key = [@secret, @token].map {|e| CGI.escape(e)}.join '&'
|
23
23
|
@hmac_key = @token + '&'
|
24
24
|
end
|
25
|
-
|
25
|
+
|
26
26
|
private
|
27
|
-
|
27
|
+
|
28
28
|
# Basic request method utilized by #query and #flag.
|
29
29
|
#
|
30
30
|
# @param endpoint [String] Currently, either an empty string or "/flag".
|
@@ -36,22 +36,22 @@ module Emailage
|
|
36
36
|
base_url = "https://#{@sandbox ? 'sandbox' : 'api'}.emailage.com/emailagevalidator"
|
37
37
|
url = "#{base_url}#{endpoint}/"
|
38
38
|
params = {
|
39
|
-
:format => 'json',
|
39
|
+
:format => 'json',
|
40
40
|
:oauth_consumer_key => @secret,
|
41
|
-
:oauth_nonce =>
|
41
|
+
:oauth_nonce => SecureRandom.uuid,
|
42
42
|
:oauth_signature_method => 'HMAC-SHA1',
|
43
43
|
:oauth_timestamp => Time.now.to_i,
|
44
44
|
:oauth_version => 1.0
|
45
45
|
}.merge(params)
|
46
|
-
|
46
|
+
|
47
47
|
res = Typhoeus.get url, :params => params.merge(:oauth_signature => Signature.create('GET', url, params, @hmac_key))
|
48
|
-
|
48
|
+
|
49
49
|
json = res.body.sub(/^[^{]+/, '')
|
50
50
|
JSON.parse json
|
51
51
|
end
|
52
|
-
|
52
|
+
|
53
53
|
public
|
54
|
-
|
54
|
+
|
55
55
|
# Query a risk score information for the provided email address, IP address, or a combination.
|
56
56
|
#
|
57
57
|
# @param query [String | Array<String>] Email, IP or a tuple of (Email, IP).
|
@@ -64,7 +64,7 @@ module Emailage
|
|
64
64
|
query *= '+' if query.is_a? Array
|
65
65
|
request '', params.merge(:query => query)
|
66
66
|
end
|
67
|
-
|
67
|
+
|
68
68
|
# Query a risk score information for the provided email address.
|
69
69
|
# This method differs from #query in that it ensures that the string supplied is in rfc2822 format.
|
70
70
|
#
|
@@ -76,7 +76,7 @@ module Emailage
|
|
76
76
|
Validation.validate_email! email
|
77
77
|
query email, params
|
78
78
|
end
|
79
|
-
|
79
|
+
|
80
80
|
# Query a risk score information for the provided IP address.
|
81
81
|
# This method differs from #query in that it ensures that the string supplied is in rfc791 format.
|
82
82
|
#
|
@@ -88,7 +88,7 @@ module Emailage
|
|
88
88
|
Validation.validate_ip! ip
|
89
89
|
query ip, params
|
90
90
|
end
|
91
|
-
|
91
|
+
|
92
92
|
# Query a risk score information for the provided combination of an Email and IP address.
|
93
93
|
# This method differs from #query in that it ensures that the strings supplied are in rfc2822 and rfc791 formats.
|
94
94
|
#
|
@@ -102,8 +102,8 @@ module Emailage
|
|
102
102
|
Validation.validate_ip! ip
|
103
103
|
query [email, ip], params
|
104
104
|
end
|
105
|
-
|
106
|
-
|
105
|
+
|
106
|
+
|
107
107
|
# Mark an email address as fraud, good, or neutral.
|
108
108
|
#
|
109
109
|
# @param flag [String] Either fraud, neutral, or good.
|
@@ -118,22 +118,22 @@ module Emailage
|
|
118
118
|
unless flags.include? flag.to_s
|
119
119
|
raise ArgumentError, "flag must be one of #{flags * ', '}. #{flag} is given."
|
120
120
|
end
|
121
|
-
|
121
|
+
|
122
122
|
Validation.validate_email! query
|
123
|
-
|
123
|
+
|
124
124
|
query *= '+' if query.is_a? Array
|
125
125
|
params = {:flag => flag, :query => query}
|
126
|
-
|
126
|
+
|
127
127
|
if flag == 'fraud'
|
128
128
|
unless (1..9).to_a.include? fraud_code
|
129
129
|
raise ArgumentError, "fraud_code must be an integer from 1 to 9 corresponding to #{FRAUD_CODES.values*', '}. #{fraud_code} is given."
|
130
130
|
end
|
131
131
|
params[:fraudcodeID] = fraud_code
|
132
132
|
end
|
133
|
-
|
133
|
+
|
134
134
|
request '/flag', params
|
135
135
|
end
|
136
|
-
|
136
|
+
|
137
137
|
# Mark an email address as fraud.
|
138
138
|
#
|
139
139
|
# @param query [String] Email to be flagged.
|
@@ -144,7 +144,7 @@ module Emailage
|
|
144
144
|
def flag_as_fraud(query, fraud_code)
|
145
145
|
flag 'fraud', query, fraud_code
|
146
146
|
end
|
147
|
-
|
147
|
+
|
148
148
|
# Mark an email address as good.
|
149
149
|
#
|
150
150
|
# @param query [String] Email to be flagged.
|
@@ -152,7 +152,7 @@ module Emailage
|
|
152
152
|
def flag_as_good(query)
|
153
153
|
flag 'good', query
|
154
154
|
end
|
155
|
-
|
155
|
+
|
156
156
|
# Unflag an email address that was marked as good or fraud previously.
|
157
157
|
#
|
158
158
|
# @param query [String] Email to be flagged.
|
@@ -160,6 +160,6 @@ module Emailage
|
|
160
160
|
def remove_flag(query)
|
161
161
|
flag 'neutral', query
|
162
162
|
end
|
163
|
-
|
163
|
+
|
164
164
|
end
|
165
165
|
end
|
data/lib/emailage/signature.rb
CHANGED
File without changes
|
data/lib/emailage/validation.rb
CHANGED
File without changes
|
data/lib/emailage/version.rb
CHANGED
data/lib/emailage.rb
CHANGED
@@ -1,9 +1,7 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
require 'emailage/validation'
|
6
|
-
require 'emailage/client'
|
1
|
+
require_relative 'emailage/version'
|
2
|
+
require_relative 'emailage/signature'
|
3
|
+
require_relative 'emailage/validation'
|
4
|
+
require_relative 'emailage/client'
|
7
5
|
|
8
6
|
module Emailage
|
9
7
|
FRAUD_CODES = {
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: emailage
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Emailage DEV Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-03-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,157 +16,135 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '2.6'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '2.6'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '13.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '13.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec-core
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '3.
|
47
|
+
version: '3.13'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '3.
|
54
|
+
version: '3.13'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec-expectations
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '3.
|
61
|
+
version: '3.13'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '3.
|
68
|
+
version: '3.13'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rspec-mocks
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '3.
|
75
|
+
version: '3.13'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '3.
|
82
|
+
version: '3.13'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: yard
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0.9.
|
89
|
+
version: 0.9.37
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 0.9.
|
96
|
+
version: 0.9.37
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: redcarpet
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '3.
|
103
|
+
version: '3.6'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: '3.
|
110
|
+
version: '3.6'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: typhoeus
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: '1.
|
117
|
+
version: '1.4'
|
118
118
|
type: :runtime
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
122
|
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: '1.
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: uuid
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - "~>"
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '2.3'
|
132
|
-
type: :runtime
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - "~>"
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '2.3'
|
124
|
+
version: '1.4'
|
139
125
|
- !ruby/object:Gem::Dependency
|
140
126
|
name: json
|
141
127
|
requirement: !ruby/object:Gem::Requirement
|
142
128
|
requirements:
|
143
129
|
- - "~>"
|
144
130
|
- !ruby/object:Gem::Version
|
145
|
-
version: '2.
|
131
|
+
version: '2.9'
|
146
132
|
type: :runtime
|
147
133
|
prerelease: false
|
148
134
|
version_requirements: !ruby/object:Gem::Requirement
|
149
135
|
requirements:
|
150
136
|
- - "~>"
|
151
137
|
- !ruby/object:Gem::Version
|
152
|
-
version: '2.
|
138
|
+
version: '2.9'
|
153
139
|
description: Emailage is a Fraud Prevention Solution. This gem implements a client
|
154
140
|
for the Emailage web service.
|
155
141
|
email:
|
156
|
-
-
|
142
|
+
- eml-devops.team@lexisnexisrisk.com
|
157
143
|
executables: []
|
158
144
|
extensions: []
|
159
145
|
extra_rdoc_files: []
|
160
146
|
files:
|
161
|
-
- ".dockerignore"
|
162
|
-
- ".gitignore"
|
163
|
-
- Dockerfile
|
164
147
|
- Gemfile
|
165
|
-
- LICENSE
|
166
|
-
- README.md
|
167
|
-
- Rakefile
|
168
|
-
- bin/console
|
169
|
-
- bin/setup
|
170
148
|
- emailage.gemspec
|
171
149
|
- lib/emailage.rb
|
172
150
|
- lib/emailage/client.rb
|
@@ -176,7 +154,8 @@ files:
|
|
176
154
|
homepage: https://emailage.com/
|
177
155
|
licenses:
|
178
156
|
- MIT
|
179
|
-
metadata:
|
157
|
+
metadata:
|
158
|
+
source_code_uri: https://github.com/emailage/Emailage_Ruby
|
180
159
|
post_install_message:
|
181
160
|
rdoc_options: []
|
182
161
|
require_paths:
|
@@ -192,8 +171,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
192
171
|
- !ruby/object:Gem::Version
|
193
172
|
version: '0'
|
194
173
|
requirements: []
|
195
|
-
|
196
|
-
rubygems_version: 2.7.6
|
174
|
+
rubygems_version: 3.0.3.1
|
197
175
|
signing_key:
|
198
176
|
specification_version: 4
|
199
177
|
summary: Emailage API client written in Ruby
|
data/.dockerignore
DELETED
data/.gitignore
DELETED
data/Dockerfile
DELETED
data/LICENSE
DELETED
@@ -1,9 +0,0 @@
|
|
1
|
-
MIT License
|
2
|
-
|
3
|
-
Copyright 2016-2017 Emailage Corp
|
4
|
-
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
6
|
-
|
7
|
-
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
8
|
-
|
9
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
DELETED
@@ -1,100 +0,0 @@
|
|
1
|
-
# Emailage Ruby API Client
|
2
|
-
|
3
|
-
![alt text][logo]
|
4
|
-
|
5
|
-
[logo]: https://www.emailage.com/wp-content/uploads/2018/01/logo-dark.svg "Emailage Logo"
|
6
|
-
|
7
|
-
The Emailage™ API is organized around REST (Representational State Transfer). The API was built to help companies integrate with our highly efficient fraud risk and scoring system. By calling our API endpoints and simply passing us an email and/or IP Address, companies will be provided with real-time risk scoring assessments based around machine learning and proprietary algorithms that evolve with new fraud trends.
|
8
|
-
|
9
|
-
## Installation
|
10
|
-
|
11
|
-
Add this line to your application's Gemfile:
|
12
|
-
|
13
|
-
``` ruby
|
14
|
-
gem 'emailage'
|
15
|
-
```
|
16
|
-
|
17
|
-
And then execute:
|
18
|
-
|
19
|
-
``` bash
|
20
|
-
bundle
|
21
|
-
```
|
22
|
-
|
23
|
-
Or install it yourself as:
|
24
|
-
|
25
|
-
``` bash
|
26
|
-
gem install emailage
|
27
|
-
```
|
28
|
-
|
29
|
-
## Usage
|
30
|
-
|
31
|
-
Instantiate a client
|
32
|
-
|
33
|
-
```ruby
|
34
|
-
# For a production server
|
35
|
-
emailage = Emailage::Client.new('My account SID', 'My auth token')
|
36
|
-
# ... or for a sandbox
|
37
|
-
emailage = Emailage::Client.new('My account SID', 'My auth token', sandbox: true)
|
38
|
-
```
|
39
|
-
|
40
|
-
Query risk score information for the provided email address, IP address, or a combination
|
41
|
-
|
42
|
-
```ruby
|
43
|
-
# For an email address
|
44
|
-
emailage.query 'test@example.com'
|
45
|
-
# For an IP address
|
46
|
-
emailage.query '127.0.0.1'
|
47
|
-
# For a combination. Please note the order
|
48
|
-
emailage.query ['test@example.com', '127.0.0.1']
|
49
|
-
# Pass a User Defined Record ID.
|
50
|
-
# Can be used when you want to add an identifier for a query.
|
51
|
-
# The identifier will be displayed in the result.
|
52
|
-
emailage.query 'test@example.com', urid: 'My record ID for test@example.com'
|
53
|
-
```
|
54
|
-
|
55
|
-
Explicit methods produce the same request while validating format of the arguments passed
|
56
|
-
|
57
|
-
```ruby
|
58
|
-
# For an email address
|
59
|
-
emailage.query_email 'test@example.com'
|
60
|
-
# For an IP address
|
61
|
-
emailage.query_ip_address '127.0.0.1'
|
62
|
-
# For a combination. Please note the order
|
63
|
-
emailage.query_email_and_ip_address 'test@example.com', '127.0.0.1'
|
64
|
-
# Pass a User Defined Record ID
|
65
|
-
emailage.query_email_and_ip_address 'test@example.com', '127.0.0.1', urid: 'My record ID for test@example.com and 127.0.0.1'
|
66
|
-
```
|
67
|
-
|
68
|
-
Mark an email address as fraud, good, or neutral.
|
69
|
-
All the listed forms are possible.
|
70
|
-
|
71
|
-
When you mark an email as fraud, you must pass the fraudCodeId:
|
72
|
-
1 - "Card Not Present Fraud"
|
73
|
-
2 - "Customer Dispute (Chargeback)"
|
74
|
-
3 - "First Party Fraud"
|
75
|
-
4 - "First Payment Default"
|
76
|
-
5 - "Identify Theft (Fraud Application)"
|
77
|
-
6 - "Identify Theft (Account Take Over)"
|
78
|
-
7 - "Suspected Fraud (Not Confirmed)"
|
79
|
-
8 - "Synthetic ID"
|
80
|
-
9 - "Other"
|
81
|
-
|
82
|
-
```ruby
|
83
|
-
# Mark an email address as fraud.
|
84
|
-
emailage.flag 'fraud', 'test@example.com', 8
|
85
|
-
emailage.flag_as_fraud 'test@example.com', 8
|
86
|
-
# Mark an email address as good.
|
87
|
-
emailage.flag 'good', 'test@example.com'
|
88
|
-
emailage.flag_as_good 'test@example.com'
|
89
|
-
# Unflag an email address that was previously marked as good or fraud.
|
90
|
-
emailage.flag 'neutral', 'test@example.com'
|
91
|
-
emailage.remove_flag 'test@example.com'
|
92
|
-
```
|
93
|
-
|
94
|
-
### Exceptions
|
95
|
-
|
96
|
-
This gem can throw exceptions for any of the following issues:
|
97
|
-
|
98
|
-
1. When Curl has an issue and it's not possible to connect to the Emailage API
|
99
|
-
2. When improperly formatted JSON is received
|
100
|
-
3. When an incorrect email or IP address is passed to a flagging or explicitly querying method.
|
data/Rakefile
DELETED
data/bin/console
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
require "bundler/setup"
|
4
|
-
require "emailage"
|
5
|
-
|
6
|
-
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
-
# with your gem easier. You can also use a different console, if you like.
|
8
|
-
|
9
|
-
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
-
# require "pry"
|
11
|
-
# Pry.start
|
12
|
-
|
13
|
-
require "irb"
|
14
|
-
IRB.start
|