ifaxapp_api 0.0.1

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: de33bf0d52cd50d8c5a9a9a2c68ab92b725f5d27a1b1460504e159d15ea9264c
4
+ data.tar.gz: c709d15aa50cc4408c428d3719d5d7511ffc1d0a79d91c70f2f7180e25e99779
5
+ SHA512:
6
+ metadata.gz: 233406d6ab0b97528bbb97d95c335301234e81dc3b8f65df74d4a6066d6025f564a2f7446f6dab9612600125d485872731d4ec94af77963debe992257a6d951c
7
+ data.tar.gz: 2e70e008a832c170758a7856708821719a238e45dab9f2f8149f25bb5bbe4220266a479f2c3800c153e15afeb6e80f797f0770fdbd161e444ba275d705c222bd
@@ -0,0 +1,19 @@
1
+ require_relative "fax"
2
+
3
+ API_URL = "https://api.ifaxapp.com/v1/customer/"
4
+
5
+ module IfaxappApi
6
+ class Client
7
+
8
+ attr_reader :api_key, :base_url
9
+
10
+ def initialize(api_key: )
11
+ @api_key = api_key
12
+ @base_url = API_URL
13
+ end
14
+
15
+ def fax(params = {})
16
+ @fax ||= Fax.new(self)
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,68 @@
1
+ require 'rest-client'
2
+
3
+ API_URL = "https://api.ifaxapp.com/v1/customer/"
4
+
5
+ module IfaxappApi
6
+ class Fax
7
+ def initialize(client)
8
+ @client = client
9
+ end
10
+
11
+ # Send Params
12
+ # params = {
13
+ # "faxNumber" : "+12345678901",
14
+ # "faxData" : [{
15
+ # "fileName" : "abc.pdf",
16
+ # "fileUrl" : "HTTP url of file"
17
+ # },
18
+ # {
19
+ # "fileName" : "xyz.pdf",
20
+ # "fileUrl" : "HTTP url of file"
21
+ # }]
22
+ # }
23
+ def send(params: {}, url: 'fax-send')
24
+ url = API_URL + url
25
+ headers = default_headers.merge('accessToken' => @client.api_key)
26
+ send_request(url, params, headers)
27
+ end
28
+
29
+
30
+ # Resend Fax Params
31
+ # {
32
+ # "jobId" : 12345
33
+ # }
34
+ def resend(params: {}, url: 'fax-resend')
35
+ url = API_URL + url
36
+ headers = default_headers.merge('accessToken' => @client.api_key)
37
+ send_request(url, params, headers)
38
+ end
39
+
40
+ # Fax Status Params
41
+ # {
42
+ # "jobId" : 12345
43
+ # }
44
+ def status(params: {}, url: 'fax-status')
45
+ url = API_URL + url
46
+ headers = default_headers.merge('accessToken' => @client.api_key)
47
+ send_request(url, params, headers)
48
+ end
49
+
50
+ def send_request(url, data, headers, method = 'post')
51
+ begin
52
+ if method == 'post'
53
+ response = RestClient.post(url, data.to_json, headers)
54
+ end
55
+ rescue RestClient::ExceptionWithResponse => e
56
+ return { error: e.response.body }
57
+ end
58
+ response.body
59
+ end
60
+
61
+ def default_headers
62
+ {
63
+ 'Content-Type' => 'application/json',
64
+ 'Accept' => 'application/json'
65
+ }
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,3 @@
1
+ module IfaxappApi
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,3 @@
1
+ require_relative "ifaxapp_api/version"
2
+ require_relative "ifaxapp_api/fax"
3
+ require_relative "ifaxapp_api/client"
metadata ADDED
@@ -0,0 +1,75 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ifaxapp_api
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Dilkhush Soni
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2023-09-18 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.15'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.15'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rest-client
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 2.0.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 2.0.0
41
+ description:
42
+ email:
43
+ - dilkhushsoni2010@gmail.com
44
+ executables: []
45
+ extensions: []
46
+ extra_rdoc_files: []
47
+ files:
48
+ - lib/ifaxapp_api.rb
49
+ - lib/ifaxapp_api/client.rb
50
+ - lib/ifaxapp_api/fax.rb
51
+ - lib/ifaxapp_api/version.rb
52
+ homepage: https://github.com/dilkhush/ifaxapp
53
+ licenses:
54
+ - MIT
55
+ metadata: {}
56
+ post_install_message:
57
+ rdoc_options: []
58
+ require_paths:
59
+ - lib
60
+ required_ruby_version: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: 2.2.6
65
+ required_rubygems_version: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ requirements: []
71
+ rubygems_version: 3.0.3
72
+ signing_key:
73
+ specification_version: 4
74
+ summary: A simple wrapper around ifaxapp's API
75
+ test_files: []