rdstation-ruby-client 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a473fed738ad5d11c6225ba2f358af8ffcd6c660
4
- data.tar.gz: 7799b8c780d146562bd98ab98e332c77d6c3653b
3
+ metadata.gz: 241aecdc02ed1fd18142980cce941833e5af996b
4
+ data.tar.gz: 35d829695bba940e158422db66ff58870cdf4dde
5
5
  SHA512:
6
- metadata.gz: f17a39e5d7d8d8e7bb3902c8ce614ceb9328dccb5a4310c3d4fe3165524511500ac92de81ecf2775944315ce2c405349c7a50247bd9114db3c72fadbc545571a
7
- data.tar.gz: a09b497efe036197fc798d745d0f6da78fc4d7b06fa931ed5cf250903ecaba7550621b146827327984079b5cbe095d31cf27d3fbda09890bac474e29c1fafea6
6
+ metadata.gz: 580b88ecf5a5e1be41eeeac5555bd3223737e0998042ac6992d01f614e7e3b7e7700b440f89d08c8f7f6644a94344115724c6c4591f03e9483381aad2d6d267d
7
+ data.tar.gz: ddbcb332b035f78c97df8557271ff74b31b9a3be2b8ff605495913bcba8842b7d8328950eb241dc227514f55116fa39dcbcd1ab1ae6bcbd77d053998f1b23827
@@ -1,18 +1,44 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rdstation-ruby-client (0.0.1)
4
+ rdstation-ruby-client (0.0.2)
5
5
  httparty (~> 0.12.0)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
+ addressable (2.3.7)
11
+ ansi (1.5.0)
12
+ crack (0.4.2)
13
+ safe_yaml (~> 1.0.0)
14
+ diff-lcs (1.2.5)
10
15
  httparty (0.12.0)
11
16
  json (~> 1.8)
12
17
  multi_xml (>= 0.5.2)
13
- json (1.8.1)
18
+ json (1.8.2)
19
+ minitest (4.7.5)
14
20
  multi_xml (0.5.5)
15
21
  rake (10.1.0)
22
+ rspec (3.1.0)
23
+ rspec-core (~> 3.1.0)
24
+ rspec-expectations (~> 3.1.0)
25
+ rspec-mocks (~> 3.1.0)
26
+ rspec-core (3.1.7)
27
+ rspec-support (~> 3.1.0)
28
+ rspec-expectations (3.1.2)
29
+ diff-lcs (>= 1.2.0, < 2.0)
30
+ rspec-support (~> 3.1.0)
31
+ rspec-mocks (3.1.3)
32
+ rspec-support (~> 3.1.0)
33
+ rspec-support (3.1.2)
34
+ safe_yaml (1.0.4)
35
+ turn (0.9.7)
36
+ ansi
37
+ minitest (~> 4)
38
+ vcr (2.9.3)
39
+ webmock (1.20.4)
40
+ addressable (>= 2.3.6)
41
+ crack (>= 0.3.2)
16
42
 
17
43
  PLATFORMS
18
44
  ruby
@@ -21,3 +47,7 @@ DEPENDENCIES
21
47
  bundler (~> 1.3)
22
48
  rake
23
49
  rdstation-ruby-client!
50
+ rspec
51
+ turn
52
+ vcr
53
+ webmock
data/README.md CHANGED
@@ -6,7 +6,7 @@ TODO: Write a gem description
6
6
 
7
7
  Add this line to your application's Gemfile:
8
8
 
9
- gem 'rdstation-ruby'
9
+ gem 'rdstation-ruby-client'
10
10
 
11
11
  And then execute:
12
12
 
@@ -14,11 +14,22 @@ And then execute:
14
14
 
15
15
  Or install it yourself as:
16
16
 
17
- $ gem install rdstation-ruby
17
+ $ gem install rdstation-ruby-client
18
18
 
19
19
  ## Usage
20
20
 
21
- TODO: Write usage instructions here
21
+ ### Creating a Lead
22
+ rdstation_client = RDStation::Client.new('rdstation_token', 'auth_token')
23
+ rdstation_client.create_lead({:email => 'joe@foo.bar', :nome => 'Joe Foo', :empresa => 'A random Company', :cargo => 'Developer', identificador: 'nome_da_conversao'})
24
+
25
+ ### Changing a Lead
26
+ rdstation_client = RDStation::Client.new('rdstation_token', 'auth_token')
27
+ rdstation_client.change_lead('joe@foo.bar', {:lifecycle_stage => 1, :opportunity => true})
28
+
29
+ ### Change Lead Status
30
+ rdstation_client = RDStation::Client.new('rdstation_token', 'auth_token')
31
+ rdstation_client.change_lead_status(email: 'joe@foo.bar', status: 'won', value: 999)
32
+
22
33
 
23
34
  ## Contributing
24
35
 
@@ -27,3 +38,12 @@ TODO: Write usage instructions here
27
38
  3. Commit your changes (`git commit -am 'Add some feature'`)
28
39
  4. Push to the branch (`git push origin my-new-feature`)
29
40
  5. Create new Pull Request
41
+
42
+ ## Reference
43
+
44
+ You can check out RDstation's integration (pt-BR) documentation here:
45
+
46
+ - [Pure HTML](https://gist.github.com/pedrobachiega/3298970);
47
+ - [Wordpress & Contact Form 7](https://gist.github.com/pedrobachiega/3277536);
48
+ - [PHP](https://gist.github.com/pedrobachiega/3248293);
49
+ - [HTML+Ajax with jQuery](https://gist.github.com/pedrobachiega/3248013);
data/Rakefile CHANGED
@@ -1 +1,7 @@
1
1
  require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new
5
+
6
+ task :default => :spec
7
+ task :test => :spec
@@ -1,15 +1,78 @@
1
1
  module RDStation
2
+ #
3
+ # Mais informações em https://www.rdstation.com.br/docs/api
4
+ #
2
5
  class Client
3
6
  include HTTParty
4
- base_uri "https://www.rdstation.com.br"
5
7
 
6
- def initialize(token)
7
- @token = token
8
+ def initialize(rdstation_token, auth_token, identifier="integração")
9
+ @identificador = identifier
10
+ @rdstation_token = rdstation_token
11
+ @auth_token = auth_token
8
12
  end
9
13
 
14
+ #
15
+ # A hash de lead pode conter os parametros
16
+ # (requerido) :identificador
17
+ # (requerido) :email
18
+ # :nome
19
+ # :empresa
20
+ # :cargo
21
+ # :telefone
22
+ # :celular
23
+ # :website
24
+ # :twitter
25
+ # :c_utmz
26
+ #
10
27
  def create_lead(lead_hash)
11
- lead_hash = { :token_rdstation => @token, :identificador => "integração" }.merge(lead_hash)
12
- self.class.post('/api/1.2/conversions', { :body => lead_hash })
28
+ lead_hash = rdstation_token_hash.merge(lead_hash)
29
+ lead_hash = lead_hash.merge(identifier_hash) unless lead_hash.has_key?(:identificador)
30
+ post_with_body("/conversions", {:body => lead_hash})
31
+ end
32
+
33
+ #
34
+ # param lead:
35
+ # id ou email do Lead a ser alterado
36
+ #
37
+ # param lead_hash:
38
+ # Hash contendo:
39
+ # :lifecycle_stage
40
+ # 0 - Lead; 1 - Lead Qualificado; 2 - Cliente
41
+ # :opportunity
42
+ # true ou false
43
+ #
44
+ def change_lead(lead, lead_hash)
45
+ lead_hash = auth_token_hash.merge({:lead => lead_hash})
46
+ put_with_body("/leads/#{lead}", :body => lead_hash.to_json, :headers => {'Content-Type' => 'application/json'})
47
+ end
48
+
49
+ def change_lead_status(lead_hash)
50
+ post_with_body("/services/#{@auth_token}/generic", :body => lead_hash )
51
+ end
52
+
53
+ private
54
+ def base_url
55
+ "https://www.rdstation.com.br/api/1.2"
56
+ end
57
+
58
+ def rdstation_token_hash
59
+ { :token_rdstation => @rdstation_token }
60
+ end
61
+
62
+ def auth_token_hash
63
+ { :auth_token => @auth_token }
64
+ end
65
+
66
+ def identifier_hash
67
+ { :identificador => @identificador }
68
+ end
69
+
70
+ def post_with_body(path, opts)
71
+ self.class.post("#{base_url}#{path}", opts)
72
+ end
73
+
74
+ def put_with_body(path, opts)
75
+ self.class.put("#{base_url}#{path}", opts)
13
76
  end
14
77
  end
15
78
  end
@@ -1,3 +1,3 @@
1
1
  module RDStation
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.email = ["paulo.casaretto@resultadosdigitais.com.br"]
11
11
  spec.description = "Ruby API wrapper for RD Station"
12
12
  spec.summary = "Ruby API wrapper for RD Station"
13
- spec.homepage = ""
13
+ spec.homepage = "http://resultadosdigitais.com.br"
14
14
  spec.license = "MIT"
15
15
 
16
16
  spec.files = `git ls-files`.split($/)
@@ -20,6 +20,10 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_development_dependency "bundler", "~> 1.3"
22
22
  spec.add_development_dependency "rake"
23
+ spec.add_development_dependency 'rspec'
24
+ spec.add_development_dependency 'vcr'
25
+ spec.add_development_dependency 'webmock'
26
+ spec.add_development_dependency 'turn'
23
27
 
24
28
  spec.add_dependency "httparty", "~> 0.12.0"
25
29
  end
@@ -0,0 +1,12 @@
1
+ require 'spec_helper'
2
+
3
+ describe RDStation do
4
+ let(:rdstation_client) { RDStation::Client.new('token','private' ) }
5
+ let(:lead_email) { "iginosms@gmail.com" }
6
+ let(:amount) { 300}
7
+
8
+
9
+ context "#change_lead_status" do
10
+ end
11
+
12
+ end
@@ -0,0 +1,14 @@
1
+ require 'rdstation-ruby-client'
2
+ require 'vcr'
3
+
4
+ VCR.configure do |c|
5
+ c.cassette_library_dir = 'spec/cassettes'
6
+ c.hook_into :webmock
7
+ c.configure_rspec_metadata!
8
+ end
9
+
10
+ # RSpec.configure do |c|
11
+ # # so we can use :vcr rather than :vcr => true;
12
+ # # in RSpec 3 this will no longer be necessary.
13
+ # c.treat_symbols_as_metadata_keys_with_true_values = true
14
+ # end
metadata CHANGED
@@ -1,55 +1,111 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rdstation-ruby-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paulo L F Casaretto
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-14 00:00:00.000000000 Z
11
+ date: 2015-02-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.3'
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
26
  version: '1.3'
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
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: vcr
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: webmock
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: turn
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
39
95
  - !ruby/object:Gem::Version
40
96
  version: '0'
41
97
  - !ruby/object:Gem::Dependency
42
98
  name: httparty
43
99
  requirement: !ruby/object:Gem::Requirement
44
100
  requirements:
45
- - - ~>
101
+ - - "~>"
46
102
  - !ruby/object:Gem::Version
47
103
  version: 0.12.0
48
104
  type: :runtime
49
105
  prerelease: false
50
106
  version_requirements: !ruby/object:Gem::Requirement
51
107
  requirements:
52
- - - ~>
108
+ - - "~>"
53
109
  - !ruby/object:Gem::Version
54
110
  version: 0.12.0
55
111
  description: Ruby API wrapper for RD Station
@@ -59,7 +115,7 @@ executables: []
59
115
  extensions: []
60
116
  extra_rdoc_files: []
61
117
  files:
62
- - .gitignore
118
+ - ".gitignore"
63
119
  - Gemfile
64
120
  - Gemfile.lock
65
121
  - LICENSE
@@ -69,7 +125,9 @@ files:
69
125
  - lib/rdstation/client.rb
70
126
  - lib/rdstation/version.rb
71
127
  - rdstation-ruby-client.gemspec
72
- homepage: ''
128
+ - spec/lib/rdstation-ruby-client_spec.rb
129
+ - spec/spec_helper.rb
130
+ homepage: http://resultadosdigitais.com.br
73
131
  licenses:
74
132
  - MIT
75
133
  metadata: {}
@@ -79,18 +137,20 @@ require_paths:
79
137
  - lib
80
138
  required_ruby_version: !ruby/object:Gem::Requirement
81
139
  requirements:
82
- - - '>='
140
+ - - ">="
83
141
  - !ruby/object:Gem::Version
84
142
  version: '0'
85
143
  required_rubygems_version: !ruby/object:Gem::Requirement
86
144
  requirements:
87
- - - '>='
145
+ - - ">="
88
146
  - !ruby/object:Gem::Version
89
147
  version: '0'
90
148
  requirements: []
91
149
  rubyforge_project:
92
- rubygems_version: 2.0.3
150
+ rubygems_version: 2.2.2
93
151
  signing_key:
94
152
  specification_version: 4
95
153
  summary: Ruby API wrapper for RD Station
96
- test_files: []
154
+ test_files:
155
+ - spec/lib/rdstation-ruby-client_spec.rb
156
+ - spec/spec_helper.rb