stealth-smooch 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +5 -5
- data/README.md +9 -1
- data/VERSION +1 -1
- data/lib/stealth/services/smooch/events/conversation_start_event.rb +25 -0
- data/lib/stealth/services/smooch/message_handler.rb +8 -0
- data/smooch-webhooks.png +0 -0
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4ec637b1d5664a634fff6b742b4cbcf8c115835f74848d8c0de6de7963943276
|
4
|
+
data.tar.gz: 7142f76a257fba8763b25093a72bf129fec2c787cd4a4cb4ebd33a5a645f573d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ce1d907d02b7f48cfb7947181cd3e7e9cc8b74235b9a039e4c8f758eb73f61ee82cf0ca5bd730ca10239853c1eb2f7b4f9b771f2c87e18bb612f1a29aeb1df50
|
7
|
+
data.tar.gz: 67b0a4f0f04b74f5a1c72aea65d8ca0a7bf7f0330a29efa045f02ac7bf6900dd25423199ec4fb46c28cc298f909e290c87ac340f117de3c564e660ff2c48bbb8
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
stealth-smooch (
|
4
|
+
stealth-smooch (1.1.0)
|
5
5
|
jwt (~> 2.1)
|
6
6
|
smooch-api (~> 5.3)
|
7
7
|
stealth (< 2.0)
|
@@ -40,7 +40,7 @@ GEM
|
|
40
40
|
rspec-mocks (~> 3.8.0)
|
41
41
|
rspec-core (3.8.0)
|
42
42
|
rspec-support (~> 3.8.0)
|
43
|
-
rspec-expectations (3.8.
|
43
|
+
rspec-expectations (3.8.2)
|
44
44
|
diff-lcs (>= 1.2.0, < 2.0)
|
45
45
|
rspec-support (~> 3.8.0)
|
46
46
|
rspec-mocks (3.8.0)
|
@@ -59,10 +59,10 @@ GEM
|
|
59
59
|
rack (~> 2.0)
|
60
60
|
rack-protection (= 2.0.5)
|
61
61
|
tilt (~> 2.0)
|
62
|
-
smooch-api (5.
|
62
|
+
smooch-api (5.5.0)
|
63
63
|
json (~> 1.8, >= 1.8.3)
|
64
64
|
typhoeus (~> 1.0, >= 1.0.1)
|
65
|
-
stealth (1.1.
|
65
|
+
stealth (1.1.4)
|
66
66
|
activesupport (~> 5.2)
|
67
67
|
multi_json (~> 1.12)
|
68
68
|
puma (~> 3.10)
|
@@ -87,4 +87,4 @@ DEPENDENCIES
|
|
87
87
|
stealth-smooch!
|
88
88
|
|
89
89
|
BUNDLED WITH
|
90
|
-
1.17.
|
90
|
+
1.17.3
|
data/README.md
CHANGED
@@ -19,6 +19,14 @@ Stealth::Services::Smooch::Client.generate_jwt_token
|
|
19
19
|
|
20
20
|
It will output the JWT token based on the `app_id`, `key_id`, and `secret` from your `services.yml` file.
|
21
21
|
|
22
|
+
### Webhooks
|
23
|
+
|
24
|
+
<img src='smooch-webhooks.png' height='450' alt='Smooch Webhook Config' aria-label='Smooch Webhook Config' />
|
25
|
+
|
26
|
+
You will want to add the `Webhooks` integration to the Smooch app you created above. Currently, this driver supports `AppUser messages`, `Postbacks`, and the `Conversation Start` webhooks.
|
27
|
+
|
28
|
+
**Please note:** the `Conversation Start` webhook is configured to send a payload with the value of `conversation_start`. Please handle that accordingly in your `BotController`.
|
29
|
+
|
22
30
|
## Configure the Integration
|
23
31
|
|
24
32
|
```yaml
|
@@ -50,7 +58,7 @@ test:
|
|
50
58
|
Additionally, you will need to create an initializer called `smooch.rb` in `config/initializers`:
|
51
59
|
|
52
60
|
```ruby
|
53
|
-
|
61
|
+
SmoochApi.configure do |config|
|
54
62
|
config.api_key['Authorization'] = Stealth.config.smooch.jwt_token
|
55
63
|
config.api_key_prefix['Authorization'] = 'Bearer'
|
56
64
|
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.1.0
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stealth
|
5
|
+
module Services
|
6
|
+
module Smooch
|
7
|
+
|
8
|
+
class ConversationStartEvent
|
9
|
+
|
10
|
+
attr_reader :service_message, :params
|
11
|
+
|
12
|
+
def initialize(service_message:, params:)
|
13
|
+
@service_message = service_message
|
14
|
+
@params = params
|
15
|
+
end
|
16
|
+
|
17
|
+
def process
|
18
|
+
service_message.payload = 'conversation_start'
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -3,6 +3,7 @@
|
|
3
3
|
|
4
4
|
require 'stealth/services/smooch/events/message_event'
|
5
5
|
require 'stealth/services/smooch/events/postback_event'
|
6
|
+
require 'stealth/services/smooch/events/conversation_start_event'
|
6
7
|
|
7
8
|
module Stealth
|
8
9
|
module Services
|
@@ -64,6 +65,13 @@ module Stealth
|
|
64
65
|
service_message: service_message,
|
65
66
|
params: smooch_postback
|
66
67
|
)
|
68
|
+
elsif smooch_response['trigger'] == 'conversation:start'
|
69
|
+
service_message.timestamp = Time.at(smooch_response['timestamp']).to_datetime
|
70
|
+
|
71
|
+
message_event = Stealth::Services::Smooch::ConversationStartEvent.new(
|
72
|
+
service_message: service_message,
|
73
|
+
params: smooch_response
|
74
|
+
)
|
67
75
|
end
|
68
76
|
|
69
77
|
message_event.process
|
data/smooch-webhooks.png
ADDED
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stealth-smooch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mauricio Gomes
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-02-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: stealth
|
@@ -108,6 +108,7 @@ files:
|
|
108
108
|
- VERSION
|
109
109
|
- lib/stealth-smooch.rb
|
110
110
|
- lib/stealth/services/smooch/client.rb
|
111
|
+
- lib/stealth/services/smooch/events/conversation_start_event.rb
|
111
112
|
- lib/stealth/services/smooch/events/message_event.rb
|
112
113
|
- lib/stealth/services/smooch/events/postback_event.rb
|
113
114
|
- lib/stealth/services/smooch/message_handler.rb
|
@@ -115,6 +116,7 @@ files:
|
|
115
116
|
- lib/stealth/services/smooch/setup.rb
|
116
117
|
- lib/stealth/services/smooch/version.rb
|
117
118
|
- lib/stealth/smooch.rb
|
119
|
+
- smooch-webhooks.png
|
118
120
|
- spec/spec_helper.rb
|
119
121
|
- spec/version_spec.rb
|
120
122
|
- stealth-smooch.gemspec
|
@@ -137,7 +139,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
137
139
|
- !ruby/object:Gem::Version
|
138
140
|
version: '0'
|
139
141
|
requirements: []
|
140
|
-
rubygems_version: 3.0.
|
142
|
+
rubygems_version: 3.0.2
|
141
143
|
signing_key:
|
142
144
|
specification_version: 4
|
143
145
|
summary: Stealth Smooch driver
|