ifaxapp_api 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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: []