seeuletter 1.3.0 → 1.4.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: 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