Class: Mamatech::ExternalSdk::Client
- Inherits:
-
Object
- Object
- Mamatech::ExternalSdk::Client
- Defined in:
- lib/mamatech_external_sdk/client.rb
Constant Summary collapse
- DEFAULT_BASE_URL =
"https://api.fin.io".freeze
Instance Method Summary collapse
- #bulk_create_external_users(users:, skip_existing: false) ⇒ Object
- #create_external_user(first_name:, last_name:, third_party_id:, language: nil) ⇒ Object
- #get_context(token:) ⇒ Object
- #get_messages(token:, limit: 20, offset: 0) ⇒ Object
-
#initialize(base_url: nil, app_code: nil, secret_key: nil) ⇒ Client
constructor
A new instance of Client.
- #list_people(token:) ⇒ Object
- #login_external_user(third_party_id:) ⇒ Object
- #renew_token(token:) ⇒ Object
- #send_message(token:, text:, security_header: nil) ⇒ Object
- #submit_secure_input(token:, field:, value:, security_header: nil) ⇒ Object
Constructor Details
#initialize(base_url: nil, app_code: nil, secret_key: nil) ⇒ Client
Returns a new instance of Client.
10 11 12 13 14 15 |
# File 'lib/mamatech_external_sdk/client.rb', line 10 def initialize(base_url: nil, app_code: nil, secret_key: nil) @base_url = base_url || ENV.fetch("FIN_BASE_URL", DEFAULT_BASE_URL) @app_code = app_code || ENV.fetch("FIN_APP_CODE", "") @secret_key = secret_key || ENV.fetch("FIN_SECRET_KEY", "") raise ArgumentError, "FIN_APP_CODE and FIN_SECRET_KEY are required" if @app_code.empty? || @secret_key.empty? end |
Instance Method Details
#bulk_create_external_users(users:, skip_existing: false) ⇒ Object
29 30 31 32 33 34 35 36 37 38 |
# File 'lib/mamatech_external_sdk/client.rb', line 29 def bulk_create_external_users(users:, skip_existing: false) request_json("/auth/v1/external/users/bulk", "POST", { code: @app_code, secretKey: @secret_key, users: users, options: { skipExisting: skip_existing } }) end |
#create_external_user(first_name:, last_name:, third_party_id:, language: nil) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/mamatech_external_sdk/client.rb', line 17 def create_external_user(first_name:, last_name:, third_party_id:, language: nil) payload = { firstName: first_name, lastName: last_name, thirdPartyId: third_party_id, code: @app_code, secretKey: @secret_key } payload[:language] = language unless language.nil? request_json("/auth/v1/external/user", "POST", payload) end |
#get_context(token:) ⇒ Object
52 53 54 |
# File 'lib/mamatech_external_sdk/client.rb', line 52 def get_context(token:) request_json("/api/v1/external/context", "GET", nil, token: token) end |
#get_messages(token:, limit: 20, offset: 0) ⇒ Object
60 61 62 |
# File 'lib/mamatech_external_sdk/client.rb', line 60 def (token:, limit: 20, offset: 0) request_json("/api/v1/conversations/external/messages?limit=#{limit}&offset=#{offset}", "GET", nil, token: token) end |
#list_people(token:) ⇒ Object
56 57 58 |
# File 'lib/mamatech_external_sdk/client.rb', line 56 def list_people(token:) request_json("/api/v1/person/all", "GET", nil, token: token) end |
#login_external_user(third_party_id:) ⇒ Object
40 41 42 43 44 45 46 |
# File 'lib/mamatech_external_sdk/client.rb', line 40 def login_external_user(third_party_id:) request_json("/auth/v1/external/login", "POST", { thirdPartyId: third_party_id, code: @app_code, secretKey: @secret_key }) end |
#renew_token(token:) ⇒ Object
48 49 50 |
# File 'lib/mamatech_external_sdk/client.rb', line 48 def renew_token(token:) request_json("/api/v1/external/renew", "POST", nil, token: token) end |
#send_message(token:, text:, security_header: nil) ⇒ Object
64 65 66 |
# File 'lib/mamatech_external_sdk/client.rb', line 64 def (token:, text:, security_header: nil) request_stream("/api/v1/conversations/external/message", { text: text }, token: token, security_header: security_header) end |
#submit_secure_input(token:, field:, value:, security_header: nil) ⇒ Object
68 69 70 |
# File 'lib/mamatech_external_sdk/client.rb', line 68 def submit_secure_input(token:, field:, value:, security_header: nil) request_stream("/api/v1/conversations/external/secure-input", { field: field, value: value }, token: token, security_header: security_header) end |