Class: Spree::Api::V2::Tenant::DraftOrdersController
- Inherits:
-
BaseController
- Object
- ResourceController
- BaseController
- Spree::Api::V2::Tenant::DraftOrdersController
- Defined in:
- app/controllers/spree/api/v2/tenant/draft_orders_controller.rb
Instance Method Summary collapse
-
#create ⇒ Object
Creates a generic draft order from a locally-assembled cart in a single request.
Methods inherited from BaseController
#current_vendor, #render_serialized_payload, #require_tenant, #scope
Instance Method Details
#create ⇒ Object
Creates a generic draft order from a locally-assembled cart in a single request. Endpoint: POST /api/v2/tenant/draft_orders Params:
- line_items: Array of { variant_id:, quantity:, options: {}, public_metadata: {}, private_metadata: {} } (required)
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'app/controllers/spree/api/v2/tenant/draft_orders_controller.rb', line 10 def create result = SpreeCmCommissioner::DraftOrder::Create.call( line_items: draft_order_line_items, user: spree_current_user, store: current_store, currency: current_currency, tenant: @tenant ) if result.success? render_serialized_payload { serialize_resource(serializable_order(result.value[:order])) } else render_error_payload(result.error) end end |