hipcall 2.2.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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