hipcall 2.2.0 → 3.0.0

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
  SHA256:
3
- metadata.gz: 072b7a0cc008aca2610f483131fb18c9d884d0cb1dc9a3001393986f6b5c7348
4
- data.tar.gz: f31f1a70e20bb86cc2fea7c3450278ea18c9dbc1ab5721f30215467bc8aa348e
3
+ metadata.gz: 86fa5797a95b72bd2b60b4c8d147c478ed1fa59bba67a465ae5572fe6a044a8c
4
+ data.tar.gz: 82d9521bd9aa970ef05a203f056891cfcf0e445b5021a25bf580465e5fb60b2a
5
5
  SHA512:
6
- metadata.gz: 1ea9402937bef7e0cdadc121cb23013b027f76c72653cf2e2c4886f5ee542826a0943bdf99e6aaf77d11e1c38ba80888e1b661253d8c48e1fb8d0ae2802a0884
7
- data.tar.gz: 7d76e148e92da353a8affa155bc5816eb17c1f4f79999feec23edab633e9273dc2da847356cc81e2144b7c62cd52066b2b55015db2f1b1acb2d8fc9d44ac56fc
6
+ metadata.gz: 047a6f008aee5f9328f02b93cb1c14e980d3820257f0914267740386d25cbfa7b5b81d86b60f5a3cba9d7930f776140bcfcc21b2befed94759069978625b494e
7
+ data.tar.gz: af39ed341c79bcef2b7361af744fdb7da616a7c65adb46a1a7d0e6c84db7c4ed9b5ebdac19479b027788ce0b80a80ad5538bc2748daa03cced47972103b27fd6
data/.tool-versions ADDED
@@ -0,0 +1 @@
1
+ ruby 2.7.8
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## v3.0.0
4
+
5
+ - Start support new Hipcall API.
6
+ - Change `Cdr` resource name to `Call`
7
+
8
+ ## v2.3.0
9
+
10
+ - Add tags to Contact
11
+ - Remove tags from Contact.
12
+ - Add tags to Company
13
+ - Remove tags from Company.
14
+
3
15
  ## v2.2.0
4
16
 
5
17
  ### Features
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- hipcall (2.0.0)
4
+ hipcall (3.0.0)
5
5
  faraday (~> 1.10)
6
6
  faraday_middleware (~> 1.2)
7
7
 
@@ -35,7 +35,7 @@ GEM
35
35
  faraday_middleware (1.2.0)
36
36
  faraday (~> 1.0)
37
37
  minitest (5.16.2)
38
- multipart-post (2.3.0)
38
+ multipart-post (2.4.0)
39
39
  parallel (1.22.1)
40
40
  parser (3.1.2.0)
41
41
  ast (~> 2.4.1)
@@ -66,11 +66,11 @@ GEM
66
66
 
67
67
  PLATFORMS
68
68
  arm64-darwin-21
69
+ ruby
69
70
  x86_64-darwin-22
70
71
  x86_64-linux
71
72
 
72
73
  DEPENDENCIES
73
- faraday (~> 1.10, >= 1.10.3)
74
74
  hipcall!
75
75
  minitest (>= 5.0.5)
76
76
  rake (~> 13.0)
data/README.md CHANGED
@@ -1,6 +1,9 @@
1
1
  # Hipcall
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/hipcall`. To experiment with that code, run `bin/console` for an interactive prompt.
3
+ Welcome to your new gem! In this directory, you'll find the files
4
+ you need to be able to package up your Ruby library into a gem.
5
+ Put your Ruby code in the file `lib/hipcall`. To experiment with
6
+ that code, run `bin/console` for an interactive prompt.
4
7
 
5
8
  ## Installation
6
9
 
@@ -23,45 +26,88 @@ Or install it yourself as:
23
26
  ```ruby
24
27
  require "hipcall_sdk"
25
28
 
26
- hipcall = HipcallSdk::Client.new(api_key: "YOUR_TOKEN_IS_HERE", version: "v20211124", base_url: "https://app.hipcall.com/api/")
29
+ hipcall = HipcallSdk::Client.new(
30
+ api_key: "YOUR TOKEN IS HERE",
31
+ version: "v3",
32
+ base_url: "https://use.hipcall.com/api/"
33
+ )
27
34
  ```
28
35
 
29
- ### Cdr resource
36
+ ### Call resource
30
37
 
31
38
  ```ruby
32
39
  # List
33
- cdrs = hipcall.cdrs.list
40
+ calls = hipcall.calls.list(limit: 10, offset: 0, sort: "started_at.asc,user_id.desc_nulls_last")
34
41
 
35
42
  # Retrieve
36
43
  year = 2022
37
44
  mounth = 07
38
45
  day = 07
39
- cdr_uuid = "caedfd1b-25ec-447e-ad87-3b7eb3d358ea"
40
- cdr = hipcall.cdrs.retrieve(year: year, mounth: mounth, day: day, cdr_uuid: cdr_uuid)
46
+ call_uuid = "caedfd1b-25ec-447e-ad87-3b7eb3d358ea"
47
+ call = hipcall.calls.retrieve(year: year, mounth: mounth, day: day, call_uuid: call_uuid)
41
48
  ```
42
49
 
43
- ### Comment resource
50
+ ### Company resource
51
+
52
+ #### Add tags to company
44
53
 
45
54
  ```ruby
46
- # Create
47
- new_comment = hipcall.comments.create(commentable_type: 'company', commentable_id: 8777, content: 'Comment body, note, etc')
55
+ # Add tags to company
56
+ tags = hipcall.companies.create_tags(company_id: 1, tags: ["tag1", "tag2"]);
57
+ ```
58
+
59
+ #### Remove a tag from company
60
+
61
+ ```ruby
62
+ # Remove a tag from company
63
+ hipcall.companies.delete_tags(company_id: 1, tag_id: 1);
64
+ ```
65
+
66
+ #### Add comment to company
67
+
68
+ ```ruby
69
+ # Add tags to company
70
+ comment = hipcall.companies.create_tags(company_id: 4, content: "Hello world!");
71
+ ```
72
+
73
+ ### Contact resource
74
+
75
+ #### Add tags to contact
76
+
77
+ ```ruby
78
+ # Add tags to contact
79
+ tags = hipcall.contacts.create_tags(contact_id: 1, tags: ["tag1", "tag2"]);
80
+ ```
81
+
82
+ #### Remove a tag from contact
83
+
84
+ ```ruby
85
+ # Remove a tag from contact
86
+ hipcall.contacts.delete_tags(contact_id: 1, tag_id: 1);
87
+ ```
88
+
89
+ #### Add comment to contact
90
+
91
+ ```ruby
92
+ # Add tags to contact
93
+ comment = hipcall.contacts.create_tags(contact_id: 4, content: "Hello world!");
48
94
  ```
49
95
 
50
96
  ### Extension resource
51
97
 
52
98
  ```ruby
53
99
  # List
54
- extensions = hipcall.extensions.list
100
+ extensions = hipcall.extensions.list(limit: 10, offset: 0, sort: "id.asc")
55
101
 
56
102
  # Retrieve
57
- extension = hipcall.extensions.retrieve(extension_id: 1)
103
+ extension = hipcall.extensions.retrieve(extension_id: 1234)
58
104
  ```
59
105
 
60
106
  ### Greetings resource
61
107
 
62
108
  ```ruby
63
109
  # List
64
- greetings = hipcall.greetings.list
110
+ greetings = hipcall.greetings.list(limit: 10, offset: 0, sort: "id.asc")
65
111
 
66
112
  # Retrieve
67
113
  greeting = hipcall.greetings.retrieve(greeting_id: 1)
@@ -71,17 +117,17 @@ greeting = hipcall.greetings.retrieve(greeting_id: 1)
71
117
 
72
118
  ```ruby
73
119
  # List
74
- numbers = hipcall.numbers.list
120
+ numbers = hipcall.numbers.list(limit: 10, offset: 0, sort: "id.asc")
75
121
 
76
122
  # Retrieve
77
- number = hipcall.numbers.retrieve(number_id: 1)
123
+ number = hipcall.numbers.retrieve(number_id: 2)
78
124
  ```
79
125
 
80
126
  ### Task resource
81
127
 
82
128
  ```ruby
83
129
  # List
84
- tasks = hipcall.tasks.list
130
+ tasks = hipcall.tasks.list(limit: 10, offset: 0, sort: "id.asc")
85
131
 
86
132
  # Retrieve
87
133
  task = hipcall.tasks.retrieve(task_id: 1)
@@ -94,7 +140,7 @@ new_task = hipcall.tasks.create(name: 'Lets email the contact')
94
140
 
95
141
  ```ruby
96
142
  # List
97
- teams = hipcall.teams.list
143
+ teams = hipcall.teams.list(limit: 10, offset: 0, sort: "id.asc")
98
144
 
99
145
  # Retrieve
100
146
  team = hipcall.teams.retrieve(team_id: 1)
@@ -104,14 +150,12 @@ team = hipcall.teams.retrieve(team_id: 1)
104
150
 
105
151
  ```ruby
106
152
  # List
107
- users = hipcall.users.list
153
+ users = hipcall.users.list(limit: 10, offset: 0, sort: "id.asc")
108
154
 
109
155
  # Retrieve
110
156
  user = hipcall.users.retrieve(user_id: 1)
111
157
  ```
112
158
 
113
-
114
-
115
159
  ## Contributing
116
160
 
117
161
  Bug reports and pull requests are welcome on GitHub at https://github.com/hipcall/ruby-sdk .
@@ -122,4 +166,17 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/hipcal
122
166
  rake test
123
167
  rake build
124
168
  sudo gem install --local pkg/hipcall-X.X.X.gem
169
+ gem push pkg/hipcall-x.x.x.gem
170
+ ```
171
+
172
+ For local development
173
+
174
+ ```ruby
175
+ require "hipcall_sdk"
176
+
177
+ hipcall = HipcallSdk::Client.new(
178
+ api_key: "g2gDbQAAACQwMDZiYzA4Ni00OGI4LTRjMGItYjQxNy01MzAzNWFjZDVjOGFuBgBfEMd9jQFiAeNPSA.v4O0DvJ9IbzH_GOk6Uo4XpXPNpuM9GF4WvxqKmHB7Is",
179
+ version: "v3",
180
+ base_url: "http://localhost:4000/api/"
181
+ )
125
182
  ```
@@ -5,7 +5,7 @@ module HipcallSdk
5
5
  class Client
6
6
  attr_reader :api_key, :version, :base_url, :adapter
7
7
 
8
- def initialize(api_key:, version: "v20211124", base_url: "https://app.hipcall.com/api/", adapter: Faraday.default_adapter, stubs: nil)
8
+ def initialize(api_key:, version: "v3", base_url: "https://use.hipcall.com/api/", adapter: Faraday.default_adapter, stubs: nil)
9
9
  @api_key = api_key
10
10
  @version = version
11
11
  @base_url = base_url
@@ -22,12 +22,16 @@ module HipcallSdk
22
22
  end
23
23
  end
24
24
 
25
- def cdrs
26
- CdrResource.new(self)
25
+ def calls
26
+ CallResource.new(self)
27
27
  end
28
28
 
29
- def comments
30
- CommentResource.new(self)
29
+ def companies
30
+ CompanyResource.new(self)
31
+ end
32
+
33
+ def contacts
34
+ ContactResource.new(self)
31
35
  end
32
36
 
33
37
  def extensions
@@ -1,19 +1,17 @@
1
1
  module HipcallSdk
2
2
  class Collection
3
- attr_reader :data, :links, :meta
3
+ attr_reader :data, :meta
4
4
 
5
5
  def self.from_response(response, key:, type:)
6
6
  body = response.body
7
7
  new(
8
8
  data: body[key].map { |attrs| type.new(attrs) },
9
- links: body["links"],
10
9
  meta: body["meta"],
11
10
  )
12
11
  end
13
12
 
14
- def initialize(data:, links:, meta:)
13
+ def initialize(data:, meta:)
15
14
  @data = data
16
- @links = links
17
15
  @meta = meta
18
16
  end
19
17
  end
@@ -0,0 +1,4 @@
1
+ module HipcallSdk
2
+ class Call < Object
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module HipcallSdk
2
+ class Company < Object
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module HipcallSdk
2
+ class Contact < Object
3
+ end
4
+ end
@@ -1,4 +1,4 @@
1
1
  module HipcallSdk
2
- class Cdr < Object
2
+ class Tag < Object
3
3
  end
4
4
  end
@@ -41,6 +41,8 @@ module HipcallSdk
41
41
  raise Error, message
42
42
  when 419
43
43
  raise Error, message
44
+ when 422
45
+ raise Error, message
44
46
  when 429
45
47
  raise Error, message
46
48
  when 500
@@ -0,0 +1,12 @@
1
+ module HipcallSdk
2
+ class CallResource < Resource
3
+ def list(**params)
4
+ response = get_request("calls", params: params)
5
+ Collection.from_response(response, key: "data", type: Call)
6
+ end
7
+
8
+ def retrieve(year:, mounth:, day:, call_uuid:)
9
+ Call.new get_request("calls/#{year}/#{mounth}/#{day}/#{call_uuid}").body.dig("data")
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,17 @@
1
+ module HipcallSdk
2
+ class CompanyResource < Resource
3
+ def create_tags(company_id:, **attributes)
4
+ response = post_request("companies/#{company_id}/tags", body: attributes)
5
+ Collection.from_response(response, key: "data", type: Tag)
6
+ end
7
+
8
+ def delete_tags(company_id:, tag_id:)
9
+ delete_request("companies/#{company_id}/tags/#{tag_id}")
10
+ end
11
+
12
+ def create_comment(company_id:, **attributes)
13
+ response = post_request("companies/#{company_id}/comments", body: attributes)
14
+ Comment.new response.body.dig("data")
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module HipcallSdk
2
+ class ContactResource < Resource
3
+ def create_tags(contact_id:, **attributes)
4
+ response = post_request("contacts/#{contact_id}/tags", body: attributes)
5
+ Collection.from_response(response, key: "data", type: Tag)
6
+ end
7
+
8
+ def delete_tags(contact_id:, tag_id:)
9
+ delete_request("contacts/#{contact_id}/tags/#{tag_id}")
10
+ end
11
+
12
+ def create_comment(contact_id:, **attributes)
13
+ response = post_request("contacts/#{company_id}/comments", body: attributes)
14
+ Comment.new response.body.dig("data")
15
+ end
16
+ end
17
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module HipcallSdk
4
- VERSION = "2.2.0"
4
+ VERSION = "3.0.0"
5
5
  end
data/lib/hipcall_sdk.rb CHANGED
@@ -9,16 +9,21 @@ module HipcallSdk
9
9
  autoload :Object, "hipcall/object"
10
10
  autoload :Resource, "hipcall/resource"
11
11
 
12
- autoload :Cdr, "hipcall/objects/cdr"
12
+ autoload :Call, "hipcall/objects/call"
13
+ autoload :Contact, "hipcall/objects/contact"
14
+ autoload :Company, "hipcall/objects/company"
13
15
  autoload :Comment, "hipcall/objects/comment"
14
16
  autoload :Extension, "hipcall/objects/extension"
15
17
  autoload :Greeting, "hipcall/objects/greeting"
16
18
  autoload :Number, "hipcall/objects/number"
19
+ autoload :Tag, "hipcall/objects/tag"
17
20
  autoload :Task, "hipcall/objects/task"
18
21
  autoload :Team, "hipcall/objects/team"
19
22
  autoload :User, "hipcall/objects/user"
20
23
 
21
- autoload :CdrResource, "hipcall/resources/cdrs"
24
+ autoload :CallResource, "hipcall/resources/calls"
25
+ autoload :ContactResource, "hipcall/resources/contacts"
26
+ autoload :CompanyResource, "hipcall/resources/companies"
22
27
  autoload :CommentResource, "hipcall/resources/comments"
23
28
  autoload :ExtensionResource, "hipcall/resources/extensions"
24
29
  autoload :GreetingResource, "hipcall/resources/greetings"
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hipcall
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hipcall Development Team
8
8
  - Onur Ozgur OZKAN
9
9
  - Kendal BOZKURT
10
- autorequire:
10
+ autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2023-03-18 00:00:00.000000000 Z
13
+ date: 2024-02-19 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: faraday
@@ -40,13 +40,14 @@ dependencies:
40
40
  - - "~>"
41
41
  - !ruby/object:Gem::Version
42
42
  version: '1.2'
43
- description:
43
+ description:
44
44
  email:
45
45
  - hello@hipcall.com
46
46
  executables: []
47
47
  extensions: []
48
48
  extra_rdoc_files: []
49
49
  files:
50
+ - ".tool-versions"
50
51
  - CHANGELOG.md
51
52
  - Dockerfile
52
53
  - Gemfile
@@ -60,17 +61,21 @@ files:
60
61
  - lib/hipcall/collection.rb
61
62
  - lib/hipcall/error.rb
62
63
  - lib/hipcall/object.rb
63
- - lib/hipcall/objects/cdr.rb
64
+ - lib/hipcall/objects/call.rb
64
65
  - lib/hipcall/objects/comment.rb
66
+ - lib/hipcall/objects/company.rb
67
+ - lib/hipcall/objects/contact.rb
65
68
  - lib/hipcall/objects/extension.rb
66
69
  - lib/hipcall/objects/greeting.rb
67
70
  - lib/hipcall/objects/number.rb
71
+ - lib/hipcall/objects/tag.rb
68
72
  - lib/hipcall/objects/task.rb
69
73
  - lib/hipcall/objects/team.rb
70
74
  - lib/hipcall/objects/user.rb
71
75
  - lib/hipcall/resource.rb
72
- - lib/hipcall/resources/cdrs.rb
73
- - lib/hipcall/resources/comments.rb
76
+ - lib/hipcall/resources/calls.rb
77
+ - lib/hipcall/resources/companies.rb
78
+ - lib/hipcall/resources/contacts.rb
74
79
  - lib/hipcall/resources/extensions.rb
75
80
  - lib/hipcall/resources/greetings.rb
76
81
  - lib/hipcall/resources/numbers.rb
@@ -87,7 +92,7 @@ metadata:
87
92
  homepage_uri: https://www.hipcall.com
88
93
  source_code_uri: https://github.com/hipcall/ruby-sdk
89
94
  changelog_uri: https://github.com/hipcall/ruby-sdk/blob/master/CHANGELOG.md
90
- post_install_message:
95
+ post_install_message:
91
96
  rdoc_options: []
92
97
  require_paths:
93
98
  - lib
@@ -102,8 +107,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
102
107
  - !ruby/object:Gem::Version
103
108
  version: '0'
104
109
  requirements: []
105
- rubygems_version: 3.3.7
106
- signing_key:
110
+ rubygems_version: 3.1.6
111
+ signing_key:
107
112
  specification_version: 4
108
113
  summary: Hipcall's Ruby SDK
109
114
  test_files: []
@@ -1,12 +0,0 @@
1
- module HipcallSdk
2
- class CdrResource < Resource
3
- def list(**params)
4
- response = get_request("cdrs", params: params)
5
- Collection.from_response(response, key: "data", type: Cdr)
6
- end
7
-
8
- def retrieve(year:, mounth:, day:, cdr_uuid:)
9
- Cdr.new get_request("cdrs/#{year}/#{mounth}/#{day}/#{cdr_uuid}").body.dig("data")
10
- end
11
- end
12
- end
@@ -1,7 +0,0 @@
1
- module HipcallSdk
2
- class CommentResource < Resource
3
- def create(**attributes)
4
- Comment.new post_request("comments", body: attributes).body.dig("data")
5
- end
6
- end
7
- end