square.rb 44.1.0.20250924 → 44.2.0.20251016
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/lib/square/channels/client.rb +84 -0
- data/lib/square/channels/types/bulk_retrieve_channels_request.rb +11 -0
- data/lib/square/channels/types/get_channels_request.rb +11 -0
- data/lib/square/channels/types/list_channels_request.rb +15 -0
- data/lib/square/client.rb +11 -1
- data/lib/square/loyalty/programs/promotions/types/cancel_promotions_request.rb +1 -1
- data/lib/square/loyalty/programs/promotions/types/get_promotions_request.rb +1 -1
- data/lib/square/transfer_orders/client.rb +287 -0
- data/lib/square/transfer_orders/types/cancel_transfer_order_request.rb +13 -0
- data/lib/square/transfer_orders/types/create_transfer_order_request.rb +12 -0
- data/lib/square/transfer_orders/types/delete_transfer_orders_request.rb +12 -0
- data/lib/square/transfer_orders/types/get_transfer_orders_request.rb +11 -0
- data/lib/square/transfer_orders/types/receive_transfer_order_request.rb +14 -0
- data/lib/square/transfer_orders/types/search_transfer_orders_request.rb +13 -0
- data/lib/square/transfer_orders/types/start_transfer_order_request.rb +13 -0
- data/lib/square/transfer_orders/types/update_transfer_order_request.rb +14 -0
- data/lib/square/types/bulk_retrieve_channels_response.rb +14 -0
- data/lib/square/types/cancel_transfer_order_response.rb +11 -0
- data/lib/square/types/channel.rb +16 -0
- data/lib/square/types/channel_status.rb +12 -0
- data/lib/square/types/create_transfer_order_data.rb +20 -0
- data/lib/square/types/create_transfer_order_line_data.rb +12 -0
- data/lib/square/types/create_transfer_order_response.rb +11 -0
- data/lib/square/types/delete_transfer_order_response.rb +10 -0
- data/lib/square/types/list_channels_response.rb +11 -0
- data/lib/square/types/receive_transfer_order_response.rb +11 -0
- data/lib/square/types/reference.rb +10 -0
- data/lib/square/types/reference_type.rb +25 -0
- data/lib/square/types/retrieve_channel_response.rb +10 -0
- data/lib/square/types/retrieve_transfer_order_response.rb +11 -0
- data/lib/square/types/search_transfer_orders_response.rb +14 -0
- data/lib/square/types/start_transfer_order_response.rb +11 -0
- data/lib/square/types/transfer_order.rb +37 -0
- data/lib/square/types/transfer_order_created_event.rb +14 -0
- data/lib/square/types/transfer_order_created_event_data.rb +11 -0
- data/lib/square/types/transfer_order_created_event_object.rb +9 -0
- data/lib/square/types/transfer_order_deleted_event.rb +14 -0
- data/lib/square/types/transfer_order_deleted_event_data.rb +11 -0
- data/lib/square/types/transfer_order_filter.rb +14 -0
- data/lib/square/types/transfer_order_goods_receipt.rb +29 -0
- data/lib/square/types/transfer_order_goods_receipt_line_item.rb +13 -0
- data/lib/square/types/transfer_order_line.rb +18 -0
- data/lib/square/types/transfer_order_query.rb +11 -0
- data/lib/square/types/transfer_order_sort.rb +11 -0
- data/lib/square/types/transfer_order_sort_field.rb +12 -0
- data/lib/square/types/transfer_order_status.rb +15 -0
- data/lib/square/types/transfer_order_updated_event.rb +14 -0
- data/lib/square/types/transfer_order_updated_event_data.rb +11 -0
- data/lib/square/types/transfer_order_updated_event_object.rb +9 -0
- data/lib/square/types/update_transfer_order_data.rb +17 -0
- data/lib/square/types/update_transfer_order_line_data.rb +13 -0
- data/lib/square/types/update_transfer_order_response.rb +11 -0
- data/lib/square/version.rb +1 -1
- data/lib/square.rb +49 -0
- metadata +51 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fc644952318e3b6c73ba6051c84c8d48ba7b71159718d157d166a898aa7b8927
|
4
|
+
data.tar.gz: 9f826398732a94f77edc36321870fbc4c4fc7877e813e891c14d409ef5640879
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 77e474f38cc44948e191b349a687fb6b309fd722e2062d4d9932953246f6abeca552da862f8f810dd42231e9edbe240bb06e4f97b6674ff8578df11b760eb39e
|
7
|
+
data.tar.gz: 4bf717bfbe85b04e95160831c21c039bac603e4b5a02736c95169abdfa4fd34364502fcca1a33864c7b3f4ccdbf3d0cb5cb843d160ef5d83419dedfa5162f96e
|
@@ -0,0 +1,84 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Square
|
4
|
+
module Channels
|
5
|
+
class Client
|
6
|
+
# @return [Square::Channels::Client]
|
7
|
+
def initialize(client:)
|
8
|
+
@client = client
|
9
|
+
end
|
10
|
+
|
11
|
+
# @return [Square::Types::ListChannelsResponse]
|
12
|
+
def list(request_options: {}, **params)
|
13
|
+
_query_param_names = [
|
14
|
+
%w[reference_type reference_id status cursor limit],
|
15
|
+
%i[reference_type reference_id status cursor limit]
|
16
|
+
].flatten
|
17
|
+
_query = params.slice(*_query_param_names)
|
18
|
+
params.except(*_query_param_names)
|
19
|
+
|
20
|
+
_request = Square::Internal::JSON::Request.new(
|
21
|
+
base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
|
22
|
+
method: "GET",
|
23
|
+
path: "v2/channels",
|
24
|
+
query: _query
|
25
|
+
)
|
26
|
+
begin
|
27
|
+
_response = @client.send(_request)
|
28
|
+
rescue Net::HTTPRequestTimeout
|
29
|
+
raise Square::Errors::TimeoutError
|
30
|
+
end
|
31
|
+
code = _response.code.to_i
|
32
|
+
if code.between?(200, 299)
|
33
|
+
Square::Types::ListChannelsResponse.load(_response.body)
|
34
|
+
else
|
35
|
+
error_class = Square::Errors::ResponseError.subclass_for_code(code)
|
36
|
+
raise error_class.new(_response.body, code: code)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
# @return [Square::Types::BulkRetrieveChannelsResponse]
|
41
|
+
def bulk_retrieve(request_options: {}, **params)
|
42
|
+
_request = Square::Internal::JSON::Request.new(
|
43
|
+
base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
|
44
|
+
method: "POST",
|
45
|
+
path: "v2/channels/bulk-retrieve",
|
46
|
+
body: params
|
47
|
+
)
|
48
|
+
begin
|
49
|
+
_response = @client.send(_request)
|
50
|
+
rescue Net::HTTPRequestTimeout
|
51
|
+
raise Square::Errors::TimeoutError
|
52
|
+
end
|
53
|
+
code = _response.code.to_i
|
54
|
+
if code.between?(200, 299)
|
55
|
+
Square::Types::BulkRetrieveChannelsResponse.load(_response.body)
|
56
|
+
else
|
57
|
+
error_class = Square::Errors::ResponseError.subclass_for_code(code)
|
58
|
+
raise error_class.new(_response.body, code: code)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
# @return [Square::Types::RetrieveChannelResponse]
|
63
|
+
def get(request_options: {}, **params)
|
64
|
+
_request = Square::Internal::JSON::Request.new(
|
65
|
+
base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
|
66
|
+
method: "GET",
|
67
|
+
path: "v2/channels/#{params[:channel_id]}"
|
68
|
+
)
|
69
|
+
begin
|
70
|
+
_response = @client.send(_request)
|
71
|
+
rescue Net::HTTPRequestTimeout
|
72
|
+
raise Square::Errors::TimeoutError
|
73
|
+
end
|
74
|
+
code = _response.code.to_i
|
75
|
+
if code.between?(200, 299)
|
76
|
+
Square::Types::RetrieveChannelResponse.load(_response.body)
|
77
|
+
else
|
78
|
+
error_class = Square::Errors::ResponseError.subclass_for_code(code)
|
79
|
+
raise error_class.new(_response.body, code: code)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Square
|
4
|
+
module Channels
|
5
|
+
module Types
|
6
|
+
class BulkRetrieveChannelsRequest < Internal::Types::Model
|
7
|
+
field :channel_ids, -> { Internal::Types::Array[String] }, optional: false, nullable: false
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Square
|
4
|
+
module Channels
|
5
|
+
module Types
|
6
|
+
class ListChannelsRequest < Internal::Types::Model
|
7
|
+
field :reference_type, -> { Square::Types::ReferenceType }, optional: true, nullable: false
|
8
|
+
field :reference_id, -> { String }, optional: true, nullable: false
|
9
|
+
field :status, -> { Square::Types::ChannelStatus }, optional: true, nullable: false
|
10
|
+
field :cursor, -> { String }, optional: true, nullable: false
|
11
|
+
field :limit, -> { Integer }, optional: true, nullable: false
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/lib/square/client.rb
CHANGED
@@ -7,7 +7,7 @@ module Square
|
|
7
7
|
@raw_client = Square::Internal::Http::RawClient.new(
|
8
8
|
base_url: base_url,
|
9
9
|
headers: {
|
10
|
-
"User-Agent": "square.rb/44.
|
10
|
+
"User-Agent": "square.rb/44.2.0.20251016",
|
11
11
|
"X-Fern-Language": "Ruby",
|
12
12
|
Authorization: "Bearer #{token}"
|
13
13
|
}
|
@@ -54,6 +54,11 @@ module Square
|
|
54
54
|
@catalog ||= Square::Catalog::Client.new(client: @raw_client)
|
55
55
|
end
|
56
56
|
|
57
|
+
# @return [Square::Channels::Client]
|
58
|
+
def channels
|
59
|
+
@channels ||= Square::Channels::Client.new(client: @raw_client)
|
60
|
+
end
|
61
|
+
|
57
62
|
# @return [Square::Customers::Client]
|
58
63
|
def customers
|
59
64
|
@customers ||= Square::Customers::Client.new(client: @raw_client)
|
@@ -169,6 +174,11 @@ module Square
|
|
169
174
|
@terminal ||= Square::Terminal::Client.new(client: @raw_client)
|
170
175
|
end
|
171
176
|
|
177
|
+
# @return [Square::TransferOrders::Client]
|
178
|
+
def transfer_orders
|
179
|
+
@transfer_orders ||= Square::TransferOrders::Client.new(client: @raw_client)
|
180
|
+
end
|
181
|
+
|
172
182
|
# @return [Square::Vendors::Client]
|
173
183
|
def vendors
|
174
184
|
@vendors ||= Square::Vendors::Client.new(client: @raw_client)
|
@@ -6,8 +6,8 @@ module Square
|
|
6
6
|
module Promotions
|
7
7
|
module Types
|
8
8
|
class CancelPromotionsRequest < Internal::Types::Model
|
9
|
-
field :promotion_id, -> { String }, optional: false, nullable: false
|
10
9
|
field :program_id, -> { String }, optional: false, nullable: false
|
10
|
+
field :promotion_id, -> { String }, optional: false, nullable: false
|
11
11
|
end
|
12
12
|
end
|
13
13
|
end
|
@@ -6,8 +6,8 @@ module Square
|
|
6
6
|
module Promotions
|
7
7
|
module Types
|
8
8
|
class GetPromotionsRequest < Internal::Types::Model
|
9
|
-
field :promotion_id, -> { String }, optional: false, nullable: false
|
10
9
|
field :program_id, -> { String }, optional: false, nullable: false
|
10
|
+
field :promotion_id, -> { String }, optional: false, nullable: false
|
11
11
|
end
|
12
12
|
end
|
13
13
|
end
|
@@ -0,0 +1,287 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Square
|
4
|
+
module TransferOrders
|
5
|
+
class Client
|
6
|
+
# @return [Square::TransferOrders::Client]
|
7
|
+
def initialize(client:)
|
8
|
+
@client = client
|
9
|
+
end
|
10
|
+
|
11
|
+
# Creates a new transfer order in [DRAFT](entity:TransferOrderStatus) status. A transfer order represents the intent
|
12
|
+
# to move [CatalogItemVariation](entity:CatalogItemVariation)s from one [Location](entity:Location) to another.
|
13
|
+
# The source and destination locations must be different and must belong to your Square account.
|
14
|
+
#
|
15
|
+
# In [DRAFT](entity:TransferOrderStatus) status, you can:
|
16
|
+
# - Add or remove items
|
17
|
+
# - Modify quantities
|
18
|
+
# - Update shipping information
|
19
|
+
# - Delete the entire order via [DeleteTransferOrder](api-endpoint:TransferOrders-DeleteTransferOrder)
|
20
|
+
#
|
21
|
+
# The request requires source_location_id and destination_location_id.
|
22
|
+
# Inventory levels are not affected until the order is started via
|
23
|
+
# [StartTransferOrder](api-endpoint:TransferOrders-StartTransferOrder).
|
24
|
+
#
|
25
|
+
# Common integration points:
|
26
|
+
# - Sync with warehouse management systems
|
27
|
+
# - Automate regular stock transfers
|
28
|
+
# - Initialize transfers from inventory optimization systems
|
29
|
+
#
|
30
|
+
# Creates a [transfer_order.created](webhook:transfer_order.created) webhook event.
|
31
|
+
#
|
32
|
+
# @return [Square::Types::CreateTransferOrderResponse]
|
33
|
+
def create(request_options: {}, **params)
|
34
|
+
_request = Square::Internal::JSON::Request.new(
|
35
|
+
base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
|
36
|
+
method: "POST",
|
37
|
+
path: "v2/transfer-orders",
|
38
|
+
body: params
|
39
|
+
)
|
40
|
+
begin
|
41
|
+
_response = @client.send(_request)
|
42
|
+
rescue Net::HTTPRequestTimeout
|
43
|
+
raise Square::Errors::TimeoutError
|
44
|
+
end
|
45
|
+
code = _response.code.to_i
|
46
|
+
if code.between?(200, 299)
|
47
|
+
Square::Types::CreateTransferOrderResponse.load(_response.body)
|
48
|
+
else
|
49
|
+
error_class = Square::Errors::ResponseError.subclass_for_code(code)
|
50
|
+
raise error_class.new(_response.body, code: code)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
# Searches for transfer orders using filters. Returns a paginated list of matching
|
55
|
+
# [TransferOrder](entity:TransferOrder)s sorted by creation date.
|
56
|
+
#
|
57
|
+
# Common search scenarios:
|
58
|
+
# - Find orders for a source [Location](entity:Location)
|
59
|
+
# - Find orders for a destination [Location](entity:Location)
|
60
|
+
# - Find orders in a particular [TransferOrderStatus](entity:TransferOrderStatus)
|
61
|
+
#
|
62
|
+
# @return [Square::Types::SearchTransferOrdersResponse]
|
63
|
+
def search(request_options: {}, **params)
|
64
|
+
_request = Square::Internal::JSON::Request.new(
|
65
|
+
base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
|
66
|
+
method: "POST",
|
67
|
+
path: "v2/transfer-orders/search",
|
68
|
+
body: params
|
69
|
+
)
|
70
|
+
begin
|
71
|
+
_response = @client.send(_request)
|
72
|
+
rescue Net::HTTPRequestTimeout
|
73
|
+
raise Square::Errors::TimeoutError
|
74
|
+
end
|
75
|
+
code = _response.code.to_i
|
76
|
+
if code.between?(200, 299)
|
77
|
+
Square::Types::SearchTransferOrdersResponse.load(_response.body)
|
78
|
+
else
|
79
|
+
error_class = Square::Errors::ResponseError.subclass_for_code(code)
|
80
|
+
raise error_class.new(_response.body, code: code)
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
# Retrieves a specific [TransferOrder](entity:TransferOrder) by ID. Returns the complete
|
85
|
+
# order details including:
|
86
|
+
#
|
87
|
+
# - Basic information (status, dates, notes)
|
88
|
+
# - Line items with ordered and received quantities
|
89
|
+
# - Source and destination [Location](entity:Location)s
|
90
|
+
# - Tracking information (if available)
|
91
|
+
#
|
92
|
+
# @return [Square::Types::RetrieveTransferOrderResponse]
|
93
|
+
def get(request_options: {}, **params)
|
94
|
+
_request = Square::Internal::JSON::Request.new(
|
95
|
+
base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
|
96
|
+
method: "GET",
|
97
|
+
path: "v2/transfer-orders/#{params[:transfer_order_id]}"
|
98
|
+
)
|
99
|
+
begin
|
100
|
+
_response = @client.send(_request)
|
101
|
+
rescue Net::HTTPRequestTimeout
|
102
|
+
raise Square::Errors::TimeoutError
|
103
|
+
end
|
104
|
+
code = _response.code.to_i
|
105
|
+
if code.between?(200, 299)
|
106
|
+
Square::Types::RetrieveTransferOrderResponse.load(_response.body)
|
107
|
+
else
|
108
|
+
error_class = Square::Errors::ResponseError.subclass_for_code(code)
|
109
|
+
raise error_class.new(_response.body, code: code)
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
# Updates an existing transfer order. This endpoint supports sparse updates,
|
114
|
+
# allowing you to modify specific fields without affecting others.
|
115
|
+
#
|
116
|
+
# Creates a [transfer_order.updated](webhook:transfer_order.updated) webhook event.
|
117
|
+
#
|
118
|
+
# @return [Square::Types::UpdateTransferOrderResponse]
|
119
|
+
def update(request_options: {}, **params)
|
120
|
+
_path_param_names = ["transfer_order_id"]
|
121
|
+
|
122
|
+
_request = Square::Internal::JSON::Request.new(
|
123
|
+
base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
|
124
|
+
method: "PUT",
|
125
|
+
path: "v2/transfer-orders/#{params[:transfer_order_id]}",
|
126
|
+
body: params.except(*_path_param_names)
|
127
|
+
)
|
128
|
+
begin
|
129
|
+
_response = @client.send(_request)
|
130
|
+
rescue Net::HTTPRequestTimeout
|
131
|
+
raise Square::Errors::TimeoutError
|
132
|
+
end
|
133
|
+
code = _response.code.to_i
|
134
|
+
if code.between?(200, 299)
|
135
|
+
Square::Types::UpdateTransferOrderResponse.load(_response.body)
|
136
|
+
else
|
137
|
+
error_class = Square::Errors::ResponseError.subclass_for_code(code)
|
138
|
+
raise error_class.new(_response.body, code: code)
|
139
|
+
end
|
140
|
+
end
|
141
|
+
|
142
|
+
# Deletes a transfer order in [DRAFT](entity:TransferOrderStatus) status.
|
143
|
+
# Only draft orders can be deleted. Once an order is started via
|
144
|
+
# [StartTransferOrder](api-endpoint:TransferOrders-StartTransferOrder), it can no longer be deleted.
|
145
|
+
#
|
146
|
+
# Creates a [transfer_order.deleted](webhook:transfer_order.deleted) webhook event.
|
147
|
+
#
|
148
|
+
# @return [Square::Types::DeleteTransferOrderResponse]
|
149
|
+
def delete(request_options: {}, **params)
|
150
|
+
_query_param_names = [
|
151
|
+
["version"],
|
152
|
+
%i[version]
|
153
|
+
].flatten
|
154
|
+
_query = params.slice(*_query_param_names)
|
155
|
+
params = params.except(*_query_param_names)
|
156
|
+
|
157
|
+
_request = Square::Internal::JSON::Request.new(
|
158
|
+
base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
|
159
|
+
method: "DELETE",
|
160
|
+
path: "v2/transfer-orders/#{params[:transfer_order_id]}",
|
161
|
+
query: _query
|
162
|
+
)
|
163
|
+
begin
|
164
|
+
_response = @client.send(_request)
|
165
|
+
rescue Net::HTTPRequestTimeout
|
166
|
+
raise Square::Errors::TimeoutError
|
167
|
+
end
|
168
|
+
code = _response.code.to_i
|
169
|
+
if code.between?(200, 299)
|
170
|
+
Square::Types::DeleteTransferOrderResponse.load(_response.body)
|
171
|
+
else
|
172
|
+
error_class = Square::Errors::ResponseError.subclass_for_code(code)
|
173
|
+
raise error_class.new(_response.body, code: code)
|
174
|
+
end
|
175
|
+
end
|
176
|
+
|
177
|
+
# Cancels a transfer order in [STARTED](entity:TransferOrderStatus) or
|
178
|
+
# [PARTIALLY_RECEIVED](entity:TransferOrderStatus) status. Any unreceived quantities will no
|
179
|
+
# longer be receivable and will be immediately returned to the source [Location](entity:Location)'s inventory.
|
180
|
+
#
|
181
|
+
# Common reasons for cancellation:
|
182
|
+
# - Items no longer needed at destination
|
183
|
+
# - Source location needs the inventory
|
184
|
+
# - Order created in error
|
185
|
+
#
|
186
|
+
# Creates a [transfer_order.updated](webhook:transfer_order.updated) webhook event.
|
187
|
+
#
|
188
|
+
# @return [Square::Types::CancelTransferOrderResponse]
|
189
|
+
def cancel(request_options: {}, **params)
|
190
|
+
_path_param_names = ["transfer_order_id"]
|
191
|
+
|
192
|
+
_request = Square::Internal::JSON::Request.new(
|
193
|
+
base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
|
194
|
+
method: "POST",
|
195
|
+
path: "v2/transfer-orders/#{params[:transfer_order_id]}/cancel",
|
196
|
+
body: params.except(*_path_param_names)
|
197
|
+
)
|
198
|
+
begin
|
199
|
+
_response = @client.send(_request)
|
200
|
+
rescue Net::HTTPRequestTimeout
|
201
|
+
raise Square::Errors::TimeoutError
|
202
|
+
end
|
203
|
+
code = _response.code.to_i
|
204
|
+
if code.between?(200, 299)
|
205
|
+
Square::Types::CancelTransferOrderResponse.load(_response.body)
|
206
|
+
else
|
207
|
+
error_class = Square::Errors::ResponseError.subclass_for_code(code)
|
208
|
+
raise error_class.new(_response.body, code: code)
|
209
|
+
end
|
210
|
+
end
|
211
|
+
|
212
|
+
# Records receipt of [CatalogItemVariation](entity:CatalogItemVariation)s for a transfer order.
|
213
|
+
# This endpoint supports partial receiving - you can receive items in multiple batches.
|
214
|
+
#
|
215
|
+
# For each line item, you can specify:
|
216
|
+
# - Quantity received in good condition (added to destination inventory with [InventoryState](entity:InventoryState) of IN_STOCK)
|
217
|
+
# - Quantity damaged during transit/handling (added to destination inventory with [InventoryState](entity:InventoryState) of WASTE)
|
218
|
+
# - Quantity canceled (returned to source location's inventory)
|
219
|
+
#
|
220
|
+
# The order must be in [STARTED](entity:TransferOrderStatus) or [PARTIALLY_RECEIVED](entity:TransferOrderStatus) status.
|
221
|
+
# Received quantities are added to the destination [Location](entity:Location)'s inventory according to their condition.
|
222
|
+
# Canceled quantities are immediately returned to the source [Location](entity:Location)'s inventory.
|
223
|
+
#
|
224
|
+
# When all items are either received, damaged, or canceled, the order moves to
|
225
|
+
# [COMPLETED](entity:TransferOrderStatus) status.
|
226
|
+
#
|
227
|
+
# Creates a [transfer_order.updated](webhook:transfer_order.updated) webhook event.
|
228
|
+
#
|
229
|
+
# @return [Square::Types::ReceiveTransferOrderResponse]
|
230
|
+
def receive(request_options: {}, **params)
|
231
|
+
_path_param_names = ["transfer_order_id"]
|
232
|
+
|
233
|
+
_request = Square::Internal::JSON::Request.new(
|
234
|
+
base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
|
235
|
+
method: "POST",
|
236
|
+
path: "v2/transfer-orders/#{params[:transfer_order_id]}/receive",
|
237
|
+
body: params.except(*_path_param_names)
|
238
|
+
)
|
239
|
+
begin
|
240
|
+
_response = @client.send(_request)
|
241
|
+
rescue Net::HTTPRequestTimeout
|
242
|
+
raise Square::Errors::TimeoutError
|
243
|
+
end
|
244
|
+
code = _response.code.to_i
|
245
|
+
if code.between?(200, 299)
|
246
|
+
Square::Types::ReceiveTransferOrderResponse.load(_response.body)
|
247
|
+
else
|
248
|
+
error_class = Square::Errors::ResponseError.subclass_for_code(code)
|
249
|
+
raise error_class.new(_response.body, code: code)
|
250
|
+
end
|
251
|
+
end
|
252
|
+
|
253
|
+
# Changes a [DRAFT](entity:TransferOrderStatus) transfer order to [STARTED](entity:TransferOrderStatus) status.
|
254
|
+
# This decrements inventory at the source [Location](entity:Location) and marks it as in-transit.
|
255
|
+
#
|
256
|
+
# The order must be in [DRAFT](entity:TransferOrderStatus) status and have all required fields populated.
|
257
|
+
# Once started, the order can no longer be deleted, but it can be canceled via
|
258
|
+
# [CancelTransferOrder](api-endpoint:TransferOrders-CancelTransferOrder).
|
259
|
+
#
|
260
|
+
# Creates a [transfer_order.updated](webhook:transfer_order.updated) webhook event.
|
261
|
+
#
|
262
|
+
# @return [Square::Types::StartTransferOrderResponse]
|
263
|
+
def start(request_options: {}, **params)
|
264
|
+
_path_param_names = ["transfer_order_id"]
|
265
|
+
|
266
|
+
_request = Square::Internal::JSON::Request.new(
|
267
|
+
base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
|
268
|
+
method: "POST",
|
269
|
+
path: "v2/transfer-orders/#{params[:transfer_order_id]}/start",
|
270
|
+
body: params.except(*_path_param_names)
|
271
|
+
)
|
272
|
+
begin
|
273
|
+
_response = @client.send(_request)
|
274
|
+
rescue Net::HTTPRequestTimeout
|
275
|
+
raise Square::Errors::TimeoutError
|
276
|
+
end
|
277
|
+
code = _response.code.to_i
|
278
|
+
if code.between?(200, 299)
|
279
|
+
Square::Types::StartTransferOrderResponse.load(_response.body)
|
280
|
+
else
|
281
|
+
error_class = Square::Errors::ResponseError.subclass_for_code(code)
|
282
|
+
raise error_class.new(_response.body, code: code)
|
283
|
+
end
|
284
|
+
end
|
285
|
+
end
|
286
|
+
end
|
287
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Square
|
4
|
+
module TransferOrders
|
5
|
+
module Types
|
6
|
+
class CancelTransferOrderRequest < Internal::Types::Model
|
7
|
+
field :transfer_order_id, -> { String }, optional: false, nullable: false
|
8
|
+
field :idempotency_key, -> { String }, optional: false, nullable: false
|
9
|
+
field :version, -> { Integer }, optional: true, nullable: false
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Square
|
4
|
+
module TransferOrders
|
5
|
+
module Types
|
6
|
+
class CreateTransferOrderRequest < Internal::Types::Model
|
7
|
+
field :idempotency_key, -> { String }, optional: false, nullable: false
|
8
|
+
field :transfer_order, -> { Square::Types::CreateTransferOrderData }, optional: false, nullable: false
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Square
|
4
|
+
module TransferOrders
|
5
|
+
module Types
|
6
|
+
class DeleteTransferOrdersRequest < Internal::Types::Model
|
7
|
+
field :transfer_order_id, -> { String }, optional: false, nullable: false
|
8
|
+
field :version, -> { Integer }, optional: true, nullable: false
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Square
|
4
|
+
module TransferOrders
|
5
|
+
module Types
|
6
|
+
class ReceiveTransferOrderRequest < Internal::Types::Model
|
7
|
+
field :transfer_order_id, -> { String }, optional: false, nullable: false
|
8
|
+
field :idempotency_key, -> { String }, optional: false, nullable: false
|
9
|
+
field :receipt, -> { Square::Types::TransferOrderGoodsReceipt }, optional: false, nullable: false
|
10
|
+
field :version, -> { Integer }, optional: true, nullable: false
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Square
|
4
|
+
module TransferOrders
|
5
|
+
module Types
|
6
|
+
class SearchTransferOrdersRequest < Internal::Types::Model
|
7
|
+
field :query, -> { Square::Types::TransferOrderQuery }, optional: true, nullable: false
|
8
|
+
field :cursor, -> { String }, optional: true, nullable: false
|
9
|
+
field :limit, -> { Integer }, optional: true, nullable: false
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Square
|
4
|
+
module TransferOrders
|
5
|
+
module Types
|
6
|
+
class StartTransferOrderRequest < Internal::Types::Model
|
7
|
+
field :transfer_order_id, -> { String }, optional: false, nullable: false
|
8
|
+
field :idempotency_key, -> { String }, optional: false, nullable: false
|
9
|
+
field :version, -> { Integer }, optional: true, nullable: false
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Square
|
4
|
+
module TransferOrders
|
5
|
+
module Types
|
6
|
+
class UpdateTransferOrderRequest < Internal::Types::Model
|
7
|
+
field :transfer_order_id, -> { String }, optional: false, nullable: false
|
8
|
+
field :idempotency_key, -> { String }, optional: false, nullable: false
|
9
|
+
field :transfer_order, -> { Square::Types::UpdateTransferOrderData }, optional: false, nullable: false
|
10
|
+
field :version, -> { Integer }, optional: true, nullable: false
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Square
|
4
|
+
module Types
|
5
|
+
# Defines the fields that are included in the request body for the
|
6
|
+
# [BulkRetrieveChannels](api-endpoint:Channels-BulkRetrieveChannels) endpoint.
|
7
|
+
class BulkRetrieveChannelsResponse < Internal::Types::Model
|
8
|
+
field :errors, -> { Internal::Types::Array[Square::Types::Error] }, optional: true, nullable: false
|
9
|
+
field :responses, lambda {
|
10
|
+
Internal::Types::Hash[String, Square::Types::RetrieveChannelResponse]
|
11
|
+
}, optional: true, nullable: false
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Square
|
4
|
+
module Types
|
5
|
+
# Response for canceling a transfer order
|
6
|
+
class CancelTransferOrderResponse < Internal::Types::Model
|
7
|
+
field :transfer_order, -> { Square::Types::TransferOrder }, optional: true, nullable: false
|
8
|
+
field :errors, -> { Internal::Types::Array[Square::Types::Error] }, optional: true, nullable: false
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Square
|
4
|
+
module Types
|
5
|
+
class Channel < Internal::Types::Model
|
6
|
+
field :id, -> { String }, optional: true, nullable: false
|
7
|
+
field :merchant_id, -> { String }, optional: true, nullable: false
|
8
|
+
field :name, -> { String }, optional: true, nullable: false
|
9
|
+
field :version, -> { Integer }, optional: true, nullable: false
|
10
|
+
field :reference, -> { Square::Types::Reference }, optional: true, nullable: false
|
11
|
+
field :status, -> { Square::Types::ChannelStatus }, optional: true, nullable: false
|
12
|
+
field :created_at, -> { String }, optional: true, nullable: false
|
13
|
+
field :updated_at, -> { String }, optional: true, nullable: false
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|