shipcloud 0.6.0 → 0.11.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 +5 -5
- data/.codeclimate.yml +1 -0
- data/.hound.yml +1 -1
- data/.rubocop.yml +713 -2
- data/.ruby-version +1 -0
- data/.travis.yml +18 -6
- data/CHANGELOG.md +70 -0
- data/README.md +76 -8
- data/bin/rubocop +29 -0
- data/install-cc-test-reporter.sh +4 -0
- data/lib/shipcloud.rb +28 -14
- data/lib/shipcloud/address.rb +2 -1
- data/lib/shipcloud/operations/all.rb +12 -2
- data/lib/shipcloud/operations/create.rb +10 -2
- data/lib/shipcloud/operations/delete.rb +10 -2
- data/lib/shipcloud/operations/find.rb +10 -2
- data/lib/shipcloud/operations/update.rb +12 -4
- data/lib/shipcloud/pickup_request.rb +12 -0
- data/lib/shipcloud/request/base.rb +14 -10
- data/lib/shipcloud/request/connection.rb +18 -12
- data/lib/shipcloud/request/info.rb +7 -5
- data/lib/shipcloud/shipcloud_error.rb +70 -0
- data/lib/shipcloud/shipment.rb +3 -2
- data/lib/shipcloud/tracker.rb +13 -0
- data/lib/shipcloud/version.rb +1 -1
- data/lib/shipcloud/webhook.rb +2 -1
- data/shipcloud.gemspec +9 -8
- data/spec/shipcloud/address_spec.rb +114 -43
- data/spec/shipcloud/carrier_spec.rb +12 -5
- data/spec/shipcloud/pickup_request_spec.rb +136 -0
- data/spec/shipcloud/request/base_spec.rb +51 -13
- data/spec/shipcloud/request/connection_spec.rb +3 -3
- data/spec/shipcloud/request/info_spec.rb +34 -0
- data/spec/shipcloud/shipcloud_error_spec.rb +125 -0
- data/spec/shipcloud/shipment_quote_spec.rb +14 -1
- data/spec/shipcloud/shipment_spec.rb +126 -11
- data/spec/shipcloud/tracker_spec.rb +141 -0
- data/spec/shipcloud/webhooks_spec.rb +70 -6
- data/spec/shipcloud_spec.rb +82 -20
- data/spec/spec_helper.rb +2 -2
- metadata +55 -43
- data/.ruby-style.yml +0 -240
- data/lib/shipcloud/request/validator.rb +0 -33
- data/spec/shipcloud/request/validator_spec.rb +0 -24
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.6.6
|
data/.travis.yml
CHANGED
@@ -1,15 +1,27 @@
|
|
1
1
|
sudo: false
|
2
2
|
language: ruby
|
3
|
+
cache: bundler
|
3
4
|
rvm:
|
4
|
-
- 2.
|
5
|
-
- 2.
|
6
|
-
- 2.
|
7
|
-
- 2.
|
8
|
-
-
|
9
|
-
-
|
5
|
+
- 2.3
|
6
|
+
- 2.4
|
7
|
+
- 2.5
|
8
|
+
- 2.6
|
9
|
+
- ruby-head
|
10
|
+
- jruby
|
11
|
+
- rbx
|
12
|
+
matrix:
|
13
|
+
allow_failures:
|
14
|
+
- rvm: ruby-head
|
15
|
+
- rvm: rbx
|
16
|
+
- rvm: jruby
|
10
17
|
notifications:
|
11
18
|
flowdock:
|
12
19
|
secure: fSZxX5z3bHWT8aCFKBFrDDt5o3Jb6EFWcm+pAcMabpfDHc4iktWuCUlSM405798TRdKdws1A2RncQGYiQyLbqNvtLz48dvj4BxgYW7P/vg0koN+I/H2MjpZeuIQ7BRSEJIq2sAYNVya+hSil+SPEBMTngJiP6VYG0dm6fFnRkyk=
|
13
20
|
addons:
|
14
21
|
code_climate:
|
15
22
|
repo_token: 704eb62133d951ce460a6047a15a58e0a521aa20ec6a533fa7a37585f8a75602
|
23
|
+
before_script:
|
24
|
+
- ./install-cc-test-reporter.sh
|
25
|
+
- ./cc-test-reporter before-build
|
26
|
+
after_script:
|
27
|
+
- ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,73 @@
|
|
1
|
+
## [0.11.0] - 2020-07-28
|
2
|
+
### Added
|
3
|
+
- Support shipments with pickup requests as required for [TNT](https://developers.shipcloud.io/carriers/tnt.html).
|
4
|
+
- Add attr_accessor for `email` to class `Shipcloud::Address` to be able to access the email attribute at the address object.
|
5
|
+
|
6
|
+
### Changed
|
7
|
+
|
8
|
+
### Deprecated
|
9
|
+
|
10
|
+
### Removed
|
11
|
+
|
12
|
+
### Fixed
|
13
|
+
|
14
|
+
### Security
|
15
|
+
|
16
|
+
## [Unreleased]
|
17
|
+
### Added
|
18
|
+
|
19
|
+
### Changed
|
20
|
+
|
21
|
+
### Deprecated
|
22
|
+
|
23
|
+
### Removed
|
24
|
+
|
25
|
+
### Fixed
|
26
|
+
|
27
|
+
### Security
|
28
|
+
|
29
|
+
## [0.10.0] - 2019-08-07
|
30
|
+
### Added
|
31
|
+
- Add the possibility to specify custom affiliate_id on every request
|
32
|
+
|
33
|
+
### Removed
|
34
|
+
- Removed support for ruby < 2.3. Target ruby version is 2.6
|
35
|
+
|
36
|
+
## [0.9.0] - 2019-01-09
|
37
|
+
### Added
|
38
|
+
- Add attr_reader for `id` to class `Shipcloud::Address` to be able to get the id of a created address
|
39
|
+
- Add attr_reader for `id` to class `Shipcloud::Webhook` to be able to get the id of a created webhook
|
40
|
+
- Add attr_reader for `customs_declaration` to class `Shipcloud::Shipment` to be able to get the `customs_declaration` of a created shipment
|
41
|
+
|
42
|
+
## [0.8.0] - 2017-07-03
|
43
|
+
### Added
|
44
|
+
- Add attribute ```metadata``` to class ```Shipcloud::Shipment``` in order to transmit JSON data (#16).
|
45
|
+
- Add resource pickup_request in order to submit pickup request to shipcloud
|
46
|
+
- Add attribute ```pickup_address``` to class ```Shipcloud::PickupRequest``` to submit an alternative address for pickup request to shipcloud
|
47
|
+
- Add ```delete``` operation for ```webhook``` resource
|
48
|
+
- Add attribute ```deactivated``` to class ```Shipcloud::Webhook```
|
49
|
+
- Add ```affiliate_id``` to ```Shipcloud::Configuration``` and submit it (or a default affiliate id) via API headers to shipcloud
|
50
|
+
- Add class ```Shipcloud::Tracker``` with create, find, and index operations
|
51
|
+
|
52
|
+
### Fixed
|
53
|
+
- Parse response only when it is not empty
|
54
|
+
|
55
|
+
## [0.7.0] - 2016-01-21
|
56
|
+
### Added
|
57
|
+
- Add the possibility to specify the api key on every request. (#8)
|
58
|
+
- Add some more specific error classes ```Shipcloud::ClientError```,```Shipcloud::ServerError```,
|
59
|
+
```Shipcloud::InvalidRequestError```, ```Shipcloud::TooManyRequests``` and ```Shipcloud::NotFoundError``` (#11).
|
60
|
+
- Access to the entire response and error descriptions from the error object (#11).
|
61
|
+
|
62
|
+
### Removed
|
63
|
+
- Removed the following ruby versions from travis-ci test runs:
|
64
|
+
- jruby-9.0.0.0
|
65
|
+
- Removed ```Shipcloud::APIError``` in preference to more granular error classes (#11).
|
66
|
+
|
67
|
+
### Changed
|
68
|
+
|
69
|
+
### Fixed
|
70
|
+
|
1
71
|
## [0.6.0] - 2016-01-21
|
2
72
|
### Added
|
3
73
|
- This CHANGELOG file (Following "[Keep a CHANGELOG](http://keepachangelog.com/)")
|
data/README.md
CHANGED
@@ -1,9 +1,11 @@
|
|
1
|
-
[](https://codeclimate.com/github/shipcloud/shipcloud-ruby) [](https://travis-ci.org/shipcloud/shipcloud-ruby)
|
1
|
+
[](https://codeclimate.com/github/shipcloud/shipcloud-ruby) [](https://travis-ci.org/shipcloud/shipcloud-ruby)
|
2
2
|
|
3
3
|
# shipcloud
|
4
4
|
|
5
5
|
A Ruby wrapper for the shipcloud API
|
6
6
|
|
7
|
+
We have dropped the support of jruby-9, because there is an issue with mixing hash and keyword arguments (https://github.com/jruby/jruby/issues/3138). When this issue is fixed, we will support jruby-9 again.
|
8
|
+
|
7
9
|
## Installation
|
8
10
|
|
9
11
|
Add this line to your application's Gemfile:
|
@@ -20,27 +22,42 @@ Or install it yourself as:
|
|
20
22
|
|
21
23
|
## Usage
|
22
24
|
|
23
|
-
Before using the shipcloud API, you
|
25
|
+
Before using the shipcloud API, you may want to set the API access key.
|
24
26
|
|
25
|
-
```
|
27
|
+
```ruby
|
26
28
|
Shipcloud.api_key = 'your-api-key-goes-here'
|
27
29
|
```
|
28
30
|
|
29
31
|
Since Version 0.4.0, you can also do this via a configuration block, e.g. in an initializer:
|
30
32
|
|
31
|
-
```
|
33
|
+
```ruby
|
32
34
|
Shipcloud.configure do |config|
|
33
35
|
config.api_key = 'your-api-key-goes-here'
|
34
36
|
end
|
35
37
|
```
|
36
38
|
|
39
|
+
You can also pass the API key with each request:
|
40
|
+
```ruby
|
41
|
+
Shipcloud::Shipment.create(
|
42
|
+
{
|
43
|
+
carrier: 'ups',
|
44
|
+
from: from-address-params,
|
45
|
+
to: to-address-params,
|
46
|
+
package: package-params,
|
47
|
+
create_shipping_label: true
|
48
|
+
},
|
49
|
+
api_key: "your-api-key"
|
50
|
+
)
|
51
|
+
```
|
52
|
+
If you pass in the ```api_key``` option, the value will be used as API key for the current request, even if you have set the ```Shipcloud.api_key``` before.
|
53
|
+
|
37
54
|
You can sign up for a developer account at *[shipcloud.io](http://www.shipcloud.io)*
|
38
55
|
|
39
56
|
### Create a new shipment
|
40
57
|
|
41
|
-
To create a new Shipment on the
|
58
|
+
To create a new Shipment on the shipcloud platform, you need to provide the name of the carrier, to- and from-address, and the package dimensions.
|
42
59
|
For details, see *[shipcloud API documentation on Shipments](http://developers.shipcloud.io/reference/#shipments)*
|
43
|
-
```
|
60
|
+
```ruby
|
44
61
|
Shipcloud::Shipment.create(
|
45
62
|
carrier: 'ups',
|
46
63
|
from: from-address-params,
|
@@ -52,14 +69,28 @@ Shipcloud::Shipment.create(
|
|
52
69
|
|
53
70
|
`Shipment#create` will return shipping label and tracking information, encapsulated in a `Shipcloud::Shipment` object:
|
54
71
|
|
55
|
-
```
|
72
|
+
```ruby
|
56
73
|
shipment = Shipcloud::Shipment.create(...) # parameters ommitted
|
57
74
|
shipment.tracking_url # -> http://track.shipcloud.io/uzdgu22z3ed12
|
58
75
|
```
|
59
76
|
|
77
|
+
### Get a list of shipments
|
78
|
+
|
79
|
+
You can get a list of all shipments from the shipcloud platform. Shipments can be filtered by providing optional parameters. For more information and a list of valid parameters see *[shipcloud API documentation on Shipments Index](https://developers.shipcloud.io/reference/#getting-a-list-of-shipments)*
|
80
|
+
|
81
|
+
```ruby
|
82
|
+
Shipcloud::Shipment.all(
|
83
|
+
carrier: 'ups',
|
84
|
+
per_page: 25,
|
85
|
+
page: 2
|
86
|
+
)
|
87
|
+
```
|
88
|
+
|
89
|
+
`Shipment#all` will return an array of `Shipcloud::Shipment` objects, matching the given parameters.
|
90
|
+
|
60
91
|
### Get a shipment quote
|
61
92
|
|
62
|
-
To get a shipment qoute from the
|
93
|
+
To get a shipment qoute from the shipcloud platform, you need to provide the name of the carrier, the service, to- and from-address, and the package dimensions.
|
63
94
|
For details, see *[shipcloud API documentation on shipment quotes](https://developers.shipcloud.io/reference/#shipment-quotes)*
|
64
95
|
|
65
96
|
```ruby
|
@@ -91,6 +122,43 @@ shipment_quote = Shipcloud::ShipmentQuote.create(
|
|
91
122
|
shipment_quote.price # => 6.2
|
92
123
|
```
|
93
124
|
|
125
|
+
### Create a pickup request
|
126
|
+
|
127
|
+
To request parcels being picked up, you need to provide the carrier name and the time (earliest and latest) your shipments shall be fetched.
|
128
|
+
|
129
|
+
```ruby
|
130
|
+
pickup_request = Shipcloud::PickupRequest.create(
|
131
|
+
carrier: 'dpd',
|
132
|
+
pickup_time: {
|
133
|
+
earliest: "2016-04-04T09:00:00+02:00",
|
134
|
+
latest: "2016-04-04T18:00:00+02:00"
|
135
|
+
}
|
136
|
+
)
|
137
|
+
|
138
|
+
pickup_request.id # => "dje892dj20d2odj20"
|
139
|
+
pickup_request.carrier_pickup_number # => "12345"
|
140
|
+
```
|
141
|
+
|
142
|
+
You may also provide a list of shipment ids to specify only certain shipments to be included in the pickup request.
|
143
|
+
|
144
|
+
```ruby
|
145
|
+
pickup_request = Shipcloud::PickupRequest.create(
|
146
|
+
carrier: 'dpd',
|
147
|
+
pickup_time: {
|
148
|
+
earliest: "2016-04-04T09:00:00+02:00",
|
149
|
+
latest: "2016-04-04T18:00:00+02:00"
|
150
|
+
},
|
151
|
+
shipments: [
|
152
|
+
{ id: "abc_123"}
|
153
|
+
]
|
154
|
+
)
|
155
|
+
|
156
|
+
pickup_request.id # => "dje892dj20d2odj20"
|
157
|
+
pickup_request.carrier_pickup_number # => "12345"
|
158
|
+
```
|
159
|
+
|
160
|
+
|
161
|
+
|
94
162
|
## Contributing
|
95
163
|
|
96
164
|
1. Fork it
|
data/bin/rubocop
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
#
|
5
|
+
# This file was generated by Bundler.
|
6
|
+
#
|
7
|
+
# The application 'rubocop' is installed as part of a gem, and
|
8
|
+
# this file is here to facilitate running it.
|
9
|
+
#
|
10
|
+
|
11
|
+
require "pathname"
|
12
|
+
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
|
13
|
+
Pathname.new(__FILE__).realpath)
|
14
|
+
|
15
|
+
bundle_binstub = File.expand_path("../bundle", __FILE__)
|
16
|
+
|
17
|
+
if File.file?(bundle_binstub)
|
18
|
+
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
|
19
|
+
load(bundle_binstub)
|
20
|
+
else
|
21
|
+
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
|
22
|
+
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
require "rubygems"
|
27
|
+
require "bundler/setup"
|
28
|
+
|
29
|
+
load Gem.bin_path("rubocop", "rubocop")
|
data/lib/shipcloud.rb
CHANGED
@@ -1,7 +1,9 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require "net/http"
|
2
3
|
require "net/https"
|
3
4
|
require "json"
|
4
5
|
require "shipcloud/version"
|
6
|
+
require "shipcloud/shipcloud_error"
|
5
7
|
|
6
8
|
module Shipcloud
|
7
9
|
API_VERSION = "v1"
|
@@ -9,16 +11,19 @@ module Shipcloud
|
|
9
11
|
|
10
12
|
API_HEADERS = {
|
11
13
|
"Content-Type" => "application/json",
|
12
|
-
"User-Agent" => "shipcloud-ruby v#{Shipcloud::VERSION}, API #{Shipcloud::API_VERSION},
|
13
|
-
|
14
|
+
"User-Agent" => "shipcloud-ruby v#{Shipcloud::VERSION}, API #{Shipcloud::API_VERSION}, " \
|
15
|
+
"#{RUBY_VERSION}, #{RUBY_PLATFORM}, #{RUBY_PATCHLEVEL}",
|
16
|
+
}.freeze
|
14
17
|
|
15
|
-
|
18
|
+
DEFAULT_AFFILIATE_ID = "integration.shipcloud-ruby-gem.v#{Shipcloud::VERSION}"
|
16
19
|
|
17
20
|
autoload :Base, "shipcloud/base"
|
18
21
|
autoload :Shipment, "shipcloud/shipment"
|
19
22
|
autoload :Carrier, "shipcloud/carrier"
|
20
23
|
autoload :Address, "shipcloud/address"
|
24
|
+
autoload :PickupRequest, "shipcloud/pickup_request"
|
21
25
|
autoload :ShipmentQuote, "shipcloud/shipment_quote"
|
26
|
+
autoload :Tracker, "shipcloud/tracker"
|
22
27
|
autoload :Webhook, "shipcloud/webhook"
|
23
28
|
|
24
29
|
module Operations
|
@@ -33,32 +38,34 @@ module Shipcloud
|
|
33
38
|
autoload :Base, "shipcloud/request/base"
|
34
39
|
autoload :Connection, "shipcloud/request/connection"
|
35
40
|
autoload :Info, "shipcloud/request/info"
|
36
|
-
autoload :Validator, "shipcloud/request/validator"
|
37
41
|
end
|
38
42
|
|
39
|
-
class ShipcloudError < StandardError; end
|
40
|
-
class AuthenticationError < ShipcloudError; end
|
41
|
-
class APIError < ShipcloudError; end
|
42
|
-
|
43
43
|
class << self
|
44
|
-
|
44
|
+
attr_writer :configuration
|
45
45
|
end
|
46
46
|
|
47
|
+
# rubocop:disable Naming/MemoizedInstanceVariableName
|
47
48
|
def self.configuration
|
48
49
|
@configuration ||= Configuration.new
|
49
50
|
end
|
51
|
+
# rubocop:enable Naming/MemoizedInstanceVariableName
|
50
52
|
|
51
53
|
def self.configure
|
52
54
|
yield(configuration)
|
53
55
|
end
|
54
56
|
|
57
|
+
def self.api_headers
|
58
|
+
API_HEADERS.merge(
|
59
|
+
"Affiliate-ID" => affiliate_id,
|
60
|
+
)
|
61
|
+
end
|
55
62
|
|
56
63
|
class Configuration
|
57
|
-
attr_accessor :api_key, :api_base, :use_ssl, :debug
|
64
|
+
attr_accessor :affiliate_id, :api_key, :api_base, :use_ssl, :debug
|
58
65
|
|
59
66
|
def initialize
|
60
67
|
@api_key = nil
|
61
|
-
@api_base =
|
68
|
+
@api_base = "api.shipcloud.io"
|
62
69
|
@use_ssl = true
|
63
70
|
@debug = false
|
64
71
|
end
|
@@ -75,18 +82,25 @@ module Shipcloud
|
|
75
82
|
#
|
76
83
|
# @param [String] api_key The api key
|
77
84
|
def self.api_key=(api_key)
|
78
|
-
@@api_key = api_key
|
79
85
|
configuration.api_key = api_key
|
80
86
|
end
|
81
87
|
|
88
|
+
def self.affiliate_id
|
89
|
+
configuration.affiliate_id || DEFAULT_AFFILIATE_ID
|
90
|
+
end
|
91
|
+
|
82
92
|
# Makes a request against the shipcloud API
|
83
93
|
#
|
84
94
|
# @param [Symbol] http_method The http method to use, must be one of :get, :post, :put and :delete
|
85
95
|
# @param [String] api_url The API url to use
|
86
96
|
# @param [Hash] data The data to send, e.g. used when creating new objects.
|
97
|
+
# @param [String] optional api_key The api key. If no api key is given, Shipcloud.api_key will
|
98
|
+
# be used for the request
|
87
99
|
# @return [Array] The parsed JSON response.
|
88
|
-
def self.request(http_method, api_url, data)
|
89
|
-
|
100
|
+
def self.request(http_method, api_url, data, api_key: nil, affiliate_id: nil)
|
101
|
+
api_key ||= Shipcloud.api_key
|
102
|
+
affiliate_id ||= Shipcloud.affiliate_id
|
103
|
+
info = Request::Info.new(http_method, api_url, api_key, data, affiliate_id)
|
90
104
|
Request::Base.new(info).perform
|
91
105
|
end
|
92
106
|
end
|
data/lib/shipcloud/address.rb
CHANGED
@@ -3,8 +3,9 @@ module Shipcloud
|
|
3
3
|
include Shipcloud::Operations::Update
|
4
4
|
include Shipcloud::Operations::All
|
5
5
|
|
6
|
-
attr_accessor :company, :first_name, :last_name, :care_of, :street,
|
6
|
+
attr_accessor :company, :first_name, :last_name, :care_of, :street, :email,
|
7
7
|
:street_no, :zip_code, :city, :state, :country, :phone
|
8
|
+
attr_reader :id
|
8
9
|
|
9
10
|
def self.base_url
|
10
11
|
"#{class_name.downcase}es"
|
@@ -3,8 +3,18 @@ module Shipcloud
|
|
3
3
|
module All
|
4
4
|
module ClassMethods
|
5
5
|
# Loads all Objects of the resource
|
6
|
-
|
7
|
-
|
6
|
+
# @param [Hash] optional filter Filter the shipments list using one or more filter
|
7
|
+
# creteria
|
8
|
+
# @param [String] optional api_key The api key. If no api key is given, Shipcloud.api_key
|
9
|
+
# will be used for the request
|
10
|
+
def all(filter = {}, api_key: nil, affiliate_id: nil)
|
11
|
+
response = Shipcloud.request(
|
12
|
+
:get,
|
13
|
+
base_url,
|
14
|
+
filter,
|
15
|
+
api_key: api_key,
|
16
|
+
affiliate_id: affiliate_id,
|
17
|
+
)
|
8
18
|
if index_response_root
|
9
19
|
response = response.fetch(index_response_root, [])
|
10
20
|
end
|
@@ -5,8 +5,16 @@ module Shipcloud
|
|
5
5
|
# Creates a new object
|
6
6
|
#
|
7
7
|
# @param [Hash] attributes The attributes of the created object
|
8
|
-
|
9
|
-
|
8
|
+
# @param \[String\] optional api_key The api key. If no api key is given, Shipcloud.api_key
|
9
|
+
# will be used for the request
|
10
|
+
def create(attributes, api_key: nil, affiliate_id: nil)
|
11
|
+
response = Shipcloud.request(
|
12
|
+
:post,
|
13
|
+
base_url,
|
14
|
+
attributes,
|
15
|
+
api_key: api_key,
|
16
|
+
affiliate_id: affiliate_id,
|
17
|
+
)
|
10
18
|
if create_response_root
|
11
19
|
response = response.fetch(create_response_root, {})
|
12
20
|
end
|
@@ -5,8 +5,16 @@ module Shipcloud
|
|
5
5
|
# Deletes the given object
|
6
6
|
#
|
7
7
|
# @param [String] id The id of the object that gets deleted
|
8
|
-
|
9
|
-
|
8
|
+
# @param \[String\] optional api_key The api key. If no api key is given, Shipcloud.api_key
|
9
|
+
# will be used for the request
|
10
|
+
def delete(id, api_key: nil, affiliate_id: nil)
|
11
|
+
Shipcloud.request(
|
12
|
+
:delete,
|
13
|
+
"#{base_url}/#{id}",
|
14
|
+
{},
|
15
|
+
api_key: api_key,
|
16
|
+
affiliate_id: affiliate_id,
|
17
|
+
)
|
10
18
|
true
|
11
19
|
end
|
12
20
|
end
|