Class: Prodigi::OrderResource
Overview
Resource class for managing orders via the Prodigi API
Provides methods for creating, retrieving, listing, and managing orders. Orders represent print jobs that will be fulfilled by Prodigi’s worldwide printing network.
Constant Summary
Constants inherited
from Resource
Resource::ERROR_MAP
Instance Attribute Summary
Attributes inherited from Resource
#client
Instance Method Summary
collapse
Methods inherited from Resource
#default_headers, #delete_request, #get_request, #handle_response, #initialize, #patch_request, #post_request, #put_request
Instance Method Details
#actions(prodigi_order_id:) ⇒ Object
65
66
67
68
69
70
|
# File 'lib/prodigi/resources/orders.rb', line 65
def actions(prodigi_order_id:)
response = get_request("orders/#{prodigi_order_id}/actions")
return unless response.body["outcome"] == "Ok"
Object.new response.body
end
|
#cancel(prodigi_order_id:, **attributes) ⇒ Object
95
96
97
98
99
100
101
|
# File 'lib/prodigi/resources/orders.rb', line 95
def cancel(prodigi_order_id:, **attributes)
response = post_request("orders/#{prodigi_order_id}/actions/cancel",
body: attributes)
return unless response.body["outcome"] == "Cancelled"
Order.new response.body["order"]
end
|
#create(**attributes) ⇒ Object
51
52
53
54
55
56
|
# File 'lib/prodigi/resources/orders.rb', line 51
def create(**attributes)
response = post_request("orders", body: attributes)
return unless response.body["outcome"] == "Created"
Order.new response.body["order"]
end
|
#list(**params) ⇒ Object
46
47
48
49
|
# File 'lib/prodigi/resources/orders.rb', line 46
def list(**params)
response = get_request("orders", params: params)
Collection.from_response(response, key: "orders", type: Order)
end
|
#retrieve(prodigi_order_id:) ⇒ Object
58
59
60
61
62
63
|
# File 'lib/prodigi/resources/orders.rb', line 58
def retrieve(prodigi_order_id:)
response = get_request("orders/#{prodigi_order_id}")
return unless response.body["outcome"] == "Ok"
Order.new response.body["order"]
end
|
88
89
90
91
92
93
|
# File 'lib/prodigi/resources/orders.rb', line 88
def update_metadata(prodigi_order_id:, **attributes)
response = post_request("orders/#{prodigi_order_id}/actions/updateMetadata", body: attributes)
return unless response.body["outcome"] == "Updated"
Order.new response.body["order"]
end
|
#update_recipient(prodigi_order_id:, **attributes) ⇒ Object
80
81
82
83
84
85
86
|
# File 'lib/prodigi/resources/orders.rb', line 80
def update_recipient(prodigi_order_id:, **attributes)
response = post_request("orders/#{prodigi_order_id}/actions/updateRecipient",
body: attributes)
return unless response.body["outcome"] == "Updated"
Order.new response.body["order"]
end
|
#update_shipping(prodigi_order_id:, **attributes) ⇒ Object
72
73
74
75
76
77
78
|
# File 'lib/prodigi/resources/orders.rb', line 72
def update_shipping(prodigi_order_id:, **attributes)
response = post_request("orders/#{prodigi_order_id}/actions/updateShipping",
body: attributes)
return unless response.body["outcome"] == "Updated"
Order.new response.body["order"]
end
|