seeuletter 1.3.0 → 1.4.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: 284252da8f82460f38f266680cfecf47656d62b85330ac4255cf27fccd42c6b9
4
- data.tar.gz: 7ab5f0b7293860a22edc668f0e7e5156727473a48816dd5a6fd7db50c5b27781
3
+ metadata.gz: 4ae03460189501286ccadd04b8fed5ec5cbaf1fc457b550f0ca559fc655450f0
4
+ data.tar.gz: e8b36e0d48592e84e60456c9870956a84f85dabd618a8654e6de491925460f97
5
5
  SHA512:
6
- metadata.gz: 9b81fccbcee63546ead51c7ef2c2f8216bdd4b669a2f6ac5d606e59820ae924a959b2ee0cbcb193195fbaa9e60ffc7f287f5b05f0a21b3071108e224d984c4b7
7
- data.tar.gz: dd284c14229ad9ad70889f6eedfd59bbc72418398009cae49a0557cd444fd908675f658489ee02da1c76ba891911e5c1296d5944c756a2ceccb3c7451a3246cc
6
+ metadata.gz: 0ab2e688c5ca19522f28cc73a601d2772290f8be0ae9e1777a1fd833b45a65c0335ef94723324ee78db793a3f2de4e4b2503036a162372d6c28907127d99e535
7
+ data.tar.gz: 5b9c39c72c7cd3bdf39f30d445ecd6eb2a15fd898f5ca05bd838b0aed6b8f4ee1560f92d07b1170fb10488dccb84fed59a6f1f92e054241c99ad8facd9935eb0
data/README.md CHANGED
@@ -15,6 +15,9 @@ Supports Ruby 2.0.0 and greater.
15
15
  - [Registration](#registration)
16
16
  - [Installation](#installation)
17
17
  - [Usage](#usage)
18
+ - [Letters](#letters)
19
+ - [Accounts](#accounts)
20
+ - [Invoices](#invoices)
18
21
  - [Examples](#examples)
19
22
 
20
23
  ## Getting Started
@@ -56,6 +59,8 @@ For optional parameters and other details, refer to the docs [here](https://docs
56
59
  seeuletter = Seeuletter::Client.new(api_key: "your-api-key")
57
60
  ```
58
61
 
62
+ ### Letters
63
+
59
64
  #### Create a new letter
60
65
 
61
66
  ```ruby
@@ -138,6 +143,64 @@ seeuletter = Seeuletter::Client.new(api_key: 'test_12345678901234567890')
138
143
  puts seeuletter.letter_price.get(color: 'bw', postage_type: 'prioritaire', postage_speed: 'D1', page_count: 1)
139
144
  ```
140
145
 
146
+ ### Accounts
147
+
148
+ #### Create a new account for the company
149
+
150
+ ```ruby
151
+ require 'seeuletter'
152
+
153
+ # initialize Seeuletter object
154
+ seeuletter = Seeuletter::Client.new(api_key: 'test_12345678901234567890')
155
+
156
+ puts seeuletter.accounts.create(
157
+ email: "msb.partner@example.com",
158
+ name: "Erlich Bachman",
159
+ phone: "+33104050607",
160
+ company_name: "MSB Partner from Ruby Wrapper",
161
+ address_line1: '30 rue de rivoli',
162
+ address_line2: '',
163
+ address_city: 'Paris',
164
+ address_country: 'France',
165
+ address_postalcode: '75004'
166
+ )
167
+ ```
168
+
169
+ ### Update the account company email
170
+
171
+ ```ruby
172
+ require 'seeuletter'
173
+
174
+ # initialize Seeuletter object
175
+ seeuletter = Seeuletter::Client.new(api_key: 'test_12345678901234567890')
176
+
177
+ seeuletter.accounts.updateEmail('ACCOUNT_COMPANY_ID', "msb.partner.new@example.com")
178
+ ```
179
+
180
+
181
+
182
+ ### Invoices
183
+
184
+ #### List all invoices for a company
185
+
186
+ ```ruby
187
+ require 'seeuletter'
188
+
189
+ seeuletter = Seeuletter::Client.new(api_key: 'test_12345678901234567890')
190
+
191
+ puts seeuletter.invoices.list()
192
+ ```
193
+
194
+ #### Get a specific invoice
195
+
196
+ ```ruby
197
+ require 'seeuletter'
198
+
199
+ seeuletter = Seeuletter::Client.new(api_key: 'test_12345678901234567890')
200
+
201
+ puts seeuletter.invoices.find('INVOICE_ID')
202
+ ```
203
+
141
204
  #### Caution: Pass zero-prefixed postal codes as strings
142
205
 
143
206
  When using postal codes with zero-prefixes, always quote them. For example when specifying `02125`, pass it as a string `"02125"`, instead of an integer.
data/examples/README.md CHANGED
@@ -19,3 +19,13 @@ ruby letters.rb
19
19
  ```
20
20
  ruby letters_electronic.rb
21
21
  ```
22
+
23
+ ### Create and update account
24
+ ```
25
+ ruby accounts.rb
26
+ ```
27
+
28
+ ### Get invoices
29
+ ```
30
+ ruby invoices.rb
31
+ ```
@@ -0,0 +1,27 @@
1
+ $:.unshift File.expand_path("../lib", File.dirname(__FILE__))
2
+ require 'seeuletter'
3
+
4
+ # initialize Seeuletter object
5
+ seeuletter = Seeuletter::Client.new(api_key: '<PUT_YOU_API_KEY_HERE>')
6
+
7
+ begin
8
+ # create a new company account
9
+ create_response = seeuletter.accounts.create(
10
+ email: "msb.partner@example.com",
11
+ name: "Erlich Bachman",
12
+ phone: "+33104050607",
13
+ company_name: "MSB Partner from Ruby Wrapper",
14
+ address_line1: '30 rue de rivoli',
15
+ address_line2: '',
16
+ address_city: 'Paris',
17
+ address_country: 'France',
18
+ address_postalcode: '75004'
19
+ )
20
+ puts "The Seeuletter API Account responded : #{create_response}"
21
+
22
+ # update email of a company account
23
+ seeuletter.accounts.updateEmail(create_response['company']['_id'], "msb.partner.new@example.com")
24
+
25
+ rescue Seeuletter::SeeuletterError => ex
26
+ puts "Error from API : #{ex}"
27
+ end
@@ -0,0 +1,21 @@
1
+ $:.unshift File.expand_path("../lib", File.dirname(__FILE__))
2
+ require 'seeuletter'
3
+
4
+ # initialize Seeuletter object
5
+ seeuletter = Seeuletter::Client.new(api_key: '<PUT_YOU_API_KEY_HERE>')
6
+
7
+ begin
8
+ # get list of invoices
9
+ list_response = seeuletter.invoices.list(
10
+ status: "paid",
11
+ date_start: "2020-01-01"
12
+ )
13
+ puts "The Seeuletter API Invoices responded : #{list_response}"
14
+
15
+ # get single invoice by API
16
+ find_response = seeuletter.invoices.find(list_response['invoices'][0]['_id'])
17
+ puts "The Seeuletter API Invoice responded : #{find_response}"
18
+
19
+ rescue Seeuletter::SeeuletterError => ex
20
+ puts "Error from API : #{ex}"
21
+ end
@@ -1,6 +1,8 @@
1
1
  require "seeuletter/resources/letter"
2
2
  require 'seeuletter/resources/letter_price'
3
3
  require "seeuletter/resources/user"
4
+ require "seeuletter/resources/account"
5
+ require "seeuletter/resources/invoice"
4
6
 
5
7
  module Seeuletter
6
8
  class Client
@@ -26,5 +28,13 @@ module Seeuletter
26
28
  def users
27
29
  Seeuletter::Resources::User.new(config)
28
30
  end
31
+
32
+ def accounts
33
+ Seeuletter::Resources::Account.new(config)
34
+ end
35
+
36
+ def invoices
37
+ Seeuletter::Resources::Invoice.new(config)
38
+ end
29
39
  end
30
40
  end
@@ -0,0 +1,30 @@
1
+ require "seeuletter/resources/resource_base"
2
+
3
+ module Seeuletter
4
+ module Resources
5
+ class Account < Seeuletter::Resources::ResourceBase
6
+
7
+ def initialize(config)
8
+ super(config)
9
+ @endpoint = "accounts"
10
+ end
11
+
12
+ def updateEmail(resource_id, email, headers={})
13
+ submit :put, resource_url(resource_id), {"email" => email}, headers
14
+ end
15
+
16
+ def list(options={})
17
+ raise SeeuletterError.new("Invalid REST operation : GET /accounts", "404", nil)
18
+ end
19
+
20
+ def find(resource_id)
21
+ raise SeeuletterError.new("Invalid REST operation : GET /accounts/:account_id", "404", nil)
22
+ end
23
+
24
+ def destroy(resource_id)
25
+ raise SeeuletterError.new("Invalid REST operation : DELETE /accounts/:account_id", "404", nil)
26
+ end
27
+
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,22 @@
1
+ require "seeuletter/resources/resource_base"
2
+
3
+ module Seeuletter
4
+ module Resources
5
+ class Invoice < Seeuletter::Resources::ResourceBase
6
+
7
+ def initialize(config)
8
+ super(config)
9
+ @endpoint = "invoices"
10
+ end
11
+
12
+ def create(options={}, headers={})
13
+ raise SeeuletterError.new("Invalid REST operation : POST /invoices", "404", nil)
14
+ end
15
+
16
+ def destroy(resource_id)
17
+ raise SeeuletterError.new("Invalid REST operation : DELETE /accounts/:invoice_id", "404", nil)
18
+ end
19
+
20
+ end
21
+ end
22
+ end
@@ -1,3 +1,3 @@
1
1
  module Seeuletter
2
- VERSION = "1.3.0"
2
+ VERSION = "1.4.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: seeuletter
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Seeuletter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-01 00:00:00.000000000 Z
11
+ date: 2022-01-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -71,6 +71,8 @@ files:
71
71
  - README.md
72
72
  - Rakefile
73
73
  - examples/README.md
74
+ - examples/accounts.rb
75
+ - examples/invoices.rb
74
76
  - examples/letter_price.rb
75
77
  - examples/letters.rb
76
78
  - examples/letters_electronic.rb
@@ -79,6 +81,8 @@ files:
79
81
  - lib/seeuletter/client.rb
80
82
  - lib/seeuletter/errors/invalid_request_error.rb
81
83
  - lib/seeuletter/errors/seeuletter_error.rb
84
+ - lib/seeuletter/resources/account.rb
85
+ - lib/seeuletter/resources/invoice.rb
82
86
  - lib/seeuletter/resources/letter.rb
83
87
  - lib/seeuletter/resources/letter_price.rb
84
88
  - lib/seeuletter/resources/resource_base.rb