inpost_uk_api 0.2.0 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.env.sample +3 -0
- data/Gemfile.lock +2 -2
- data/README.md +65 -8
- data/bin/setup +2 -0
- data/lib/inpost_uk_api/configuration.rb +1 -1
- data/lib/inpost_uk_api/resources/return.rb +3 -2
- data/lib/inpost_uk_api/version.rb +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e1e46d004bdcb1a0136cfb1cc2d45ddfd453eb96b0db8ee6849a1eb7ffb63e24
|
4
|
+
data.tar.gz: 38499fbfd6de6a2ceafa8dd847f41b32d5a22f6ef7d8a27573747e09cd9846db
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ef748dc4b5389b7b500ebba112b8700c572689dc8cd012bdfe6461e66a3bc62678b55ab4f4b9f4706d4b317300799f7ea60b211bd732a9b542a25a1530a1d4a6
|
7
|
+
data.tar.gz: bee2421b55233a6c5ea6567227a564357036cd62c16cc218f9cc6ce8c6109ce44aeeded74cc951789c27ba09581597b7e9024aa4f76c987e043779ef9c6d9a52
|
data/.env.sample
ADDED
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -1,9 +1,5 @@
|
|
1
1
|
# InPostUKAPI
|
2
|
-
|
3
|
-
Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/inpost_uk_api`. To experiment with that code, run `bin/console` for an interactive prompt.
|
4
|
-
|
5
|
-
TODO: Delete this and the text above, and describe your gem
|
6
|
-
|
2
|
+
This is an unofficial Ruby API wrapper for `https://developers.inpost.co.uk/`
|
7
3
|
## Installation
|
8
4
|
|
9
5
|
Add this line to your application's Gemfile:
|
@@ -21,8 +17,57 @@ Or install it yourself as:
|
|
21
17
|
$ gem install inpost_uk_api
|
22
18
|
|
23
19
|
## Usage
|
20
|
+
### Returns
|
21
|
+
#### Create a Returns Request
|
22
|
+
Doc: https://developers.inpost.co.uk/#operation/createReturns
|
23
|
+
```ruby
|
24
|
+
re = InPostUKAPI::Return.new(
|
25
|
+
sender_email: "sender@postco.co",
|
26
|
+
sender_phone: "7999999999",
|
27
|
+
size: "A",
|
28
|
+
customer_reference: "customer reference number",
|
29
|
+
show_quick_send_code: "true"
|
30
|
+
)
|
31
|
+
re.save
|
32
|
+
|
33
|
+
re.id # => "CS0000000009778"
|
34
|
+
re.status # => "customer_delivering
|
35
|
+
```
|
36
|
+
#### Get Returns QR Code
|
37
|
+
Doc: https://developers.inpost.co.uk/#operation/getReturnsLabel
|
38
|
+
```ruby
|
39
|
+
label = InPostUKAPI::ReturnLabel.find("CS0000000009778")
|
40
|
+
label # => a pdf blob string
|
41
|
+
|
42
|
+
begin
|
43
|
+
invalid_label = InPostUKAPI::ReturnLabel.find("CS00000000ABC")
|
44
|
+
rescue ActiveResource::ResourceNotFound => e
|
45
|
+
e.response.body # => "{\"status_code\":404,\"error_code\":\"return_not_found\",\"message\":\"Return CS0000000009778d not found.\",\"errors\":{}}"
|
24
46
|
|
25
|
-
|
47
|
+
# activeresource version >= 6.0.0
|
48
|
+
e.message # => Return CS00000000ABC not found.
|
49
|
+
|
50
|
+
# activeresource version < 6.0.0
|
51
|
+
e.message # => Failed. Response code = 200. Response message = OK.
|
52
|
+
end
|
53
|
+
```
|
54
|
+
### Request Tracking Data
|
55
|
+
This endpoint only available for PROD labels.
|
56
|
+
|
57
|
+
The tracking data you got might not be the right one if you are querying using the tracking id from the staging server.
|
58
|
+
|
59
|
+
Doc: https://developers.inpost.co.uk/#operation/getTracking
|
60
|
+
```ruby
|
61
|
+
tracking = InPostUKAPI::Tracking.find("CS0000000009778")
|
62
|
+
CS0000000009778_trackings = tracking.CS0000000009778
|
63
|
+
CS0000000009778_trackings.first.ts # => "29/03/2021 15:43:56pm"
|
64
|
+
CS0000000009778_trackings.first.description # => "Ready For Dispatch"
|
65
|
+
|
66
|
+
# Can query for multiple parcels by separating the ids by ";".
|
67
|
+
tracking = InPostUKAPI::Tracking.where("CS0000000009778;CS0000000009777;CSDDD")
|
68
|
+
CSDDD_trackings = tracking.CSDDD
|
69
|
+
CSDDD_trackings.error # => "No events found for consignment CSDDD"
|
70
|
+
```
|
26
71
|
|
27
72
|
## Development
|
28
73
|
|
@@ -30,9 +75,21 @@ After checking out the repo, run `bin/setup` to install dependencies. Then, run
|
|
30
75
|
|
31
76
|
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
32
77
|
|
78
|
+
### Pending Endpoints
|
79
|
+
- [ ] [APM Locations API](https://developers.inpost.co.uk/#tag/APM-Locations-API)
|
80
|
+
- [ ] [getAPMLocations](https://developers.inpost.co.uk/#operation/getAPMLocations)
|
81
|
+
- [ ] [Address to Locker Label Creation](https://developers.inpost.co.uk/#tag/Address-to-Locker-Label-Creation)
|
82
|
+
- [ ] [Create Address to Locker Label](https://developers.inpost.co.uk/#operation/addressToLocker)
|
83
|
+
- [ ] [Pay for Address to Locker Parcel](https://developers.inpost.co.uk/#operation/addressToLockerPayment)
|
84
|
+
- [ ] [Get Address to Locker Parcel Label](https://developers.inpost.co.uk/#operation/getAddressToLockerLabel)
|
85
|
+
- [ ] [Locker to Address Label Creation](https://developers.inpost.co.uk/#tag/Locker-to-Address-Label-Creation)
|
86
|
+
- [ ] [Create Locker to Address Label](https://developers.inpost.co.uk/#operation/lockerToAdddress)
|
87
|
+
- [ ] [Pay for Locker to Address Parcel](https://developers.inpost.co.uk/#operation/lockerToAddressPayment)
|
88
|
+
- [ ] [Get Locker to Address Parcel Label](https://developers.inpost.co.uk/#operation/getLockerToAddressLabel)
|
89
|
+
|
33
90
|
## Contributing
|
34
91
|
|
35
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/
|
92
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/postco/inpost_uk_api. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/postco/inpost_uk_api/blob/main/CODE_OF_CONDUCT.md).
|
36
93
|
|
37
94
|
## License
|
38
95
|
|
@@ -40,4 +97,4 @@ The gem is available as open source under the terms of the [MIT License](https:/
|
|
40
97
|
|
41
98
|
## Code of Conduct
|
42
99
|
|
43
|
-
Everyone interacting in the InPostUKAPI project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/
|
100
|
+
Everyone interacting in the InPostUKAPI project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/postco/inpost_uk_api/blob/main/CODE_OF_CONDUCT.md).
|
data/bin/setup
CHANGED
@@ -7,9 +7,10 @@ module InPostUKAPI
|
|
7
7
|
DEFAULT_ATTRS = {
|
8
8
|
sender_email: 'customer_email@inpost.co.uk',
|
9
9
|
sender_phone: '7999999999',
|
10
|
-
size: 'A',
|
11
10
|
customer_reference: 'customer reference number',
|
12
|
-
show_quick_send_code: '
|
11
|
+
show_quick_send_code: 'false'
|
13
12
|
}
|
13
|
+
|
14
|
+
validates_presence_of :sender_email, :sender_phone
|
14
15
|
end
|
15
16
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: inpost_uk_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andy Chong
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-04-
|
11
|
+
date: 2022-04-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activeresource
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 4.1.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 4.1.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: dotenv
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -143,6 +143,7 @@ executables: []
|
|
143
143
|
extensions: []
|
144
144
|
extra_rdoc_files: []
|
145
145
|
files:
|
146
|
+
- ".env.sample"
|
146
147
|
- ".rspec"
|
147
148
|
- ".standard.yml"
|
148
149
|
- CHANGELOG.md
|