my_data 0.9.0 → 0.10.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 +4 -4
- data/README.md +11 -7
- data/lib/my_data/client.rb +37 -9
- data/lib/my_data/version.rb +1 -1
- data/my_data.gemspec +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3273ccb4d8c804998eb68ca24672853ac653d978c345aa48defa92630f9e38ef
|
4
|
+
data.tar.gz: 2405e53492df2ed8a5b6a7767a047970ba5ff023ebe96579c2fe7dd1e9ba8729
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7b06573c6884bf67928aee498df4dad7e27150c64343a7fbf55df81cba1101aee4582b414e4c5b043eef9ec59b231d1eb0d8a7fd7f52d88e6ef55283554f0dfa
|
7
|
+
data.tar.gz: 0023b41d611bfb42026195a57d9a387e551f2025ba6057a59e46a843a78504a6a06bbaa47a0142591d9d867f636ee1fd3dd8dfe7ca85445a2ca1d3c2c59e9aed
|
data/README.md
CHANGED
@@ -23,7 +23,7 @@ There are all the [resources](https://github.com/mikezaby/my_data/tree/master/li
|
|
23
23
|
that are specified by the given
|
24
24
|
[xsd files](https://www.aade.gr/sites/default/files/2020-11/version%20v1.0.2%20XSDs.zip) from AADE.
|
25
25
|
|
26
|
-
e.
|
26
|
+
e.g.
|
27
27
|
```irb
|
28
28
|
irb> MyData::Resources::Inv::PartyType
|
29
29
|
=> MyData::Resources::Inv::PartyType vat_number: string, country: string, branch: integer, name: string, address: MyData::Resources::Inv::AddressType
|
@@ -31,14 +31,18 @@ irb> MyData::Resources::Inv::PartyType
|
|
31
31
|
|
32
32
|
## Usage
|
33
33
|
|
34
|
-
|
34
|
+
#### Initialize client
|
35
35
|
```ruby
|
36
|
-
|
36
|
+
# You could set environment to :sandbox or :production
|
37
|
+
client = MyData::Client.new(
|
38
|
+
user_id: "johndoe",
|
39
|
+
subscription_key: "c9b79ff1841fb5cfecc66e1ea5a29b4d",
|
40
|
+
environment: :sandbox
|
41
|
+
)
|
37
42
|
```
|
38
43
|
|
39
|
-
|
44
|
+
#### Send invoices
|
40
45
|
```ruby
|
41
|
-
# send invoices
|
42
46
|
invoice_data = {
|
43
47
|
issuer: { vat_number: "111111111", country: "GR", branch: 0 },
|
44
48
|
invoice_header: { series: "A", aa: "1", issue_date: "2021-02-21", invoice_type: "11.2", currency: "EUR" },
|
@@ -67,12 +71,12 @@ invoices_doc = MyData::Resources::Inv::InvoicesDoc.new(invoice: [invoice_data])
|
|
67
71
|
client.send_invoices(doc: invoices_doc.to_xml)
|
68
72
|
```
|
69
73
|
|
70
|
-
|
74
|
+
#### Request transmitted docs
|
71
75
|
```ruby
|
72
76
|
client.request_transmitted_docs(mark: 1)
|
73
77
|
```
|
74
78
|
|
75
|
-
|
79
|
+
#### Cancel Invoice
|
76
80
|
```ruby
|
77
81
|
client.cancel_invoice(mark: 400001831924171)
|
78
82
|
```
|
data/lib/my_data/client.rb
CHANGED
@@ -2,11 +2,15 @@
|
|
2
2
|
|
3
3
|
module MyData
|
4
4
|
class Client
|
5
|
-
BASE_URL =
|
5
|
+
BASE_URL = {
|
6
|
+
sandbox: "https://mydata-dev.azure-api.net",
|
7
|
+
production: "https://mydatapi.aade.gr/myDATA/"
|
8
|
+
}.freeze
|
6
9
|
|
7
|
-
def initialize(user_id:, subscription_key:)
|
10
|
+
def initialize(user_id:, subscription_key:, environment:)
|
8
11
|
@user_id = user_id
|
9
12
|
@subscription_key = subscription_key
|
13
|
+
@environment = environment
|
10
14
|
end
|
11
15
|
|
12
16
|
def send_invoices(doc:)
|
@@ -19,13 +23,21 @@ module MyData
|
|
19
23
|
)
|
20
24
|
end
|
21
25
|
|
22
|
-
def
|
23
|
-
|
26
|
+
def request_docs(mark:, next_partition_key: nil, next_row_key: nil)
|
27
|
+
base_request_docs(
|
28
|
+
endpoint: "RequestDocs",
|
29
|
+
mark: mark,
|
30
|
+
next_partition_key: next_partition_key,
|
31
|
+
next_row_key: next_row_key
|
32
|
+
)
|
33
|
+
end
|
24
34
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
35
|
+
def request_transmitted_docs(mark:, next_partition_key: nil, next_row_key: nil)
|
36
|
+
base_request_docs(
|
37
|
+
endpoint: "RequestTransmittedDocs",
|
38
|
+
mark: mark,
|
39
|
+
next_partition_key: next_partition_key,
|
40
|
+
next_row_key: next_row_key
|
29
41
|
)
|
30
42
|
end
|
31
43
|
|
@@ -43,8 +55,24 @@ module MyData
|
|
43
55
|
|
44
56
|
private
|
45
57
|
|
58
|
+
def base_request_docs(endpoint:, mark:, next_partition_key:, next_row_key:)
|
59
|
+
params = { mark: mark }
|
60
|
+
|
61
|
+
if next_partition_key && next_row_key
|
62
|
+
params.merge!(nextPartitionKey: next_partition_key, nextRowKey: next_row_key)
|
63
|
+
end
|
64
|
+
|
65
|
+
response = connection.get(endpoint, params)
|
66
|
+
|
67
|
+
parse_response(
|
68
|
+
response,
|
69
|
+
resource: MyData::Resources::Inv::RequestDoc,
|
70
|
+
root: "requested_doc"
|
71
|
+
)
|
72
|
+
end
|
73
|
+
|
46
74
|
def connection
|
47
|
-
@connection ||= Faraday.new(BASE_URL) do |conn|
|
75
|
+
@connection ||= Faraday.new(BASE_URL[@environment]) do |conn|
|
48
76
|
conn.headers = headers
|
49
77
|
end
|
50
78
|
end
|
data/lib/my_data/version.rb
CHANGED
data/my_data.gemspec
CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |spec|
|
|
12
12
|
spec.description = "Api client for AADE myData"
|
13
13
|
spec.homepage = "https://github.com/mikezaby/my_data"
|
14
14
|
spec.license = "MIT"
|
15
|
-
spec.required_ruby_version = Gem::Requirement.new(">= 2.
|
15
|
+
spec.required_ruby_version = Gem::Requirement.new(">= 2.5.0")
|
16
16
|
|
17
17
|
spec.metadata["homepage_uri"] = spec.homepage
|
18
18
|
spec.metadata["source_code_uri"] = spec.homepage
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: my_data
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michalis Zamparas
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-03-
|
11
|
+
date: 2021-03-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
@@ -161,7 +161,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
161
161
|
requirements:
|
162
162
|
- - ">="
|
163
163
|
- !ruby/object:Gem::Version
|
164
|
-
version: 2.
|
164
|
+
version: 2.5.0
|
165
165
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
166
166
|
requirements:
|
167
167
|
- - ">="
|