Class: Prodigi::QuoteResource

Inherits:
Resource
  • Object
show all
Defined in:
lib/prodigi/resources/quotes.rb

Overview

Resource class for creating price quotes via the Prodigi API

Provides methods for generating cost estimates for orders before they are created. Quotes include itemized costs, shipping costs, and fulfillment location information.

Examples:

Creating a quote

quote = client.quotes.create(
  shippingMethod: "Budget",
  destinationCountryCode: "GB",
  currencyCode: "GBP",
  items: [
    {
      sku: "GLOBAL-CAN-10X10",
      copies: 5,
      attributes: { wrap: "ImageWrap" },
      assets: [{ printArea: "default" }]
    }
  ]
)

Accessing quote details

quote = client.quotes.create(...)
quote.quotes.each do |q|
  puts "Shipping: #{q.costSummary.shipping.amount} #{q.costSummary.shipping.currency}"
  puts "Items: #{q.costSummary.items.amount} #{q.costSummary.items.currency}"
end

See Also:

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

Constructor Details

This class inherits a constructor from Prodigi::Resource

Instance Method Details

#create(**attributes) ⇒ Object



34
35
36
37
38
39
# File 'lib/prodigi/resources/quotes.rb', line 34

def create(**attributes)
  response = post_request("quotes", body: attributes)
  return unless response.body["outcome"] == "Created"

  Quote.new response.body
end