Class: Mints::Contact
- Inherits:
-
Object
- Object
- Mints::Contact
- Defined in:
- lib/contact.rb
Instance Attribute Summary collapse
-
#client ⇒ Object
readonly
Returns the value of attribute client.
Instance Method Summary collapse
-
#change_password(data) ⇒ Object
Change Password.
-
#initialize(host, api_key, session_token = nil, contact_token_id = nil, debug = false) ⇒ Contact
constructor
Initialize.
-
#login(email, password) ⇒ Object
Login.
-
#logout ⇒ Object
Logout.
-
#magic_link_login(token) ⇒ Object
Magic Link Login.
-
#me ⇒ Object
Me.
-
#oauth_login(data) ⇒ Object
OAuth Login.
-
#recover_password(data) ⇒ Object
Recover Password.
-
#register(data) ⇒ Object
Register.
-
#reset_password(data) ⇒ Object
Reset Password.
-
#send_magic_link(email, template_slug, redirectUrl = '', lifeTime = 1440, maxVisits = nil) ⇒ Object
Send Magic Link Send magic link to contact by email.
-
#status ⇒ Object
Status.
-
#update(data) ⇒ Object
Update.
Constructor Details
#initialize(host, api_key, session_token = nil, contact_token_id = nil, debug = false) ⇒ Contact
Initialize.
Class constructor
10 11 12 |
# File 'lib/contact.rb', line 10 def initialize(host, api_key, session_token = nil, contact_token_id = nil, debug = false) @client = Mints::Client.new(host, api_key, "contact", session_token, contact_token_id, debug) end |
Instance Attribute Details
#client ⇒ Object (readonly)
Returns the value of attribute client.
5 6 7 |
# File 'lib/contact.rb', line 5 def client @client end |
Instance Method Details
#change_password(data) ⇒ Object
Change Password.
Change password without email. To change the password a contact must be logged.
Parameters:
-
data- [] A new password allocated in a data key.
Example
@mints_contact.login('[email protected]', 'helloword')
data = { "data": { "password": "123456" } }
@mints_contact.change_password(data)
114 115 116 |
# File 'lib/contact.rb', line 114 def change_password(data) return @client.raw("post", "/contacts/change-password", nil, data) end |
#login(email, password) ⇒ Object
Login.
Starts a contact session
Parameters:
-
email- [String] The email that will be logged. -
password- [String] The password of the email.
Example
@mints_contact.login("[email protected]", "helloword")
25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/contact.rb', line 25 def login(email, password) data = { email: email, password: password } response = @client.raw("post", "/contacts/login", nil, {data: data}) if response.key? "session_token" @client.session_token = response["session_token"] end return response end |
#logout ⇒ Object
Logout.
Ends a contact session previously logged.
Example
@mints_contact.login('[email protected]', 'helloword')
@mints_contact.logout
94 95 96 97 98 99 100 |
# File 'lib/contact.rb', line 94 def logout response = @client.raw("post", "/contacts/logout") if session_token? if response["success"] @client.session_token = nil end return response end |
#magic_link_login(token) ⇒ Object
Magic Link Login.
Starts a contact session with a token received in the contact email. The token will be received by send_magic_link method.
Parameters:
-
token- [String] The email that will be logged.
Example
@mints_contact.magic_link_login(
"d8618c6d-a165-41cb-b3ec-d053cbf30059:zm54HtRdfHED8dpILZpjyqjPIceiaXNLfOklqM92fveBS0nDtyPYBlI4CPlPe3zq"
)
49 50 51 52 53 54 55 |
# File 'lib/contact.rb', line 49 def magic_link_login(token) response = @client.raw("get", "/contacts/magic-link-login/#{token}", nil, '/api/v1') if response.key? "session_token" @client.session_token = response["session_token"] end return response end |
#me ⇒ Object
Me.
Get contact logged info.
Example
@mints_contact.me
168 169 170 |
# File 'lib/contact.rb', line 168 def me return @client.raw("get", "/contacts/me") end |
#oauth_login(data) ⇒ Object
OAuth Login.
Login a contact using oauth
157 158 159 |
# File 'lib/contact.rb', line 157 def oauth_login(data) return @client.raw("post", "/contacts/oauth-login", nil, data) end |
#recover_password(data) ⇒ Object
Recover Password.
Send a email that contains a token to a contact. That token will be used in reset_password to establish a new password.
Parameters:
-
data- [] It’s a data key where will be hosted the destination email.
Example
data = { "data": { "email": "[email protected]" } }
@mints_contact.recover_password(data)
129 130 131 |
# File 'lib/contact.rb', line 129 def recover_password(data) return @client.raw("post", "/contacts/recover-password", nil, data) end |
#register(data) ⇒ Object
Register.
Register a contact.
Parameters:
-
data- [] It’s the register data.
Example
data = { "data": {
"email": "[email protected]",
"given_name": "Carlos",
"last_name": "Fernandez",
"password": "123456"
} }
@mints_contact.register(data);
218 219 220 |
# File 'lib/contact.rb', line 218 def register(data) return @client.raw("post", "/contacts/register", nil, data) end |
#reset_password(data) ⇒ Object
Reset Password.
Reset password using a token. The token is obtained by recover_password method.
Parameters:
-
data- [] It’s a set of data which contains all the information to reset a contact password.
Example
data = { "data": {
"email": "[email protected]",
"password": "helloword",
"password_confirmation": "helloword",
"token": "644aa3aa0831d782cc42e42b11aedea9a2234389af4f429a8d96651295ecfa09"
} }
@mints_contact.reset_password(data)
149 150 151 |
# File 'lib/contact.rb', line 149 def reset_password(data) return @client.raw("post", "/contacts/reset-password", nil, data) end |
#send_magic_link(email, template_slug, redirectUrl = '', lifeTime = 1440, maxVisits = nil) ⇒ Object
Send Magic Link
Send magic link to contact by email. That magic link will be used in magic_link_login method.
Parameters:
-
email- [String] Contact’s email. -
template_slug- [String] Email template’s slug to be used in the email. -
redirectUrl- [String] Url to be redirected in the implemented page. -
lifeTime- [Integer] Maximum time of use in minutes. -
maxVisits- [Integer] The maximum number of uses of a token.
First Example
@mints_contact.send_magic_link("[email protected]", "")
Second Example
@mints_contact.send_magic_link("[email protected]", "", "", 1440, 3)
74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/contact.rb', line 74 def send_magic_link(email, template_slug, redirectUrl = '', lifeTime = 1440, maxVisits = nil) data = { email: email, lifeTime: lifeTime, maxVisits: maxVisits, redirectUrl: redirectUrl, templateId: template_slug } response = @client.raw("post", "/contacts/magic-link", nil, { data: data }, '/api/v1') return response end |
#status ⇒ Object
Status.
Get contact logged status.
Example
@mints_contact.status
179 180 181 |
# File 'lib/contact.rb', line 179 def status return @client.raw("get", "/contacts/status") end |
#update(data) ⇒ Object
Update.
Update logged contact attributes.
Parameters:
-
data- [] It’s the data to update with a session active.
Example
@mints_contact.login("[email protected]", "helloword")
data = { "data": {
"given_name": "Alonso",
"last_name": "Garcia"
} }
@mints_contact.update(data)
198 199 200 |
# File 'lib/contact.rb', line 198 def update(data) return @client.raw("put", "/contacts/update", nil, data) end |