LogoLogo
System Status
  • Digital River API
  • Getting started
  • Using our services
    • Local pricing
    • Item classification
    • Subscriptions
    • e-Invoicing
  • Integration options
    • Low-code checkouts
      • Implementing a Prebuilt Checkout
      • Implementing a Components checkout
      • Offering local pricing
      • Using a shipping endpoint
      • Processing subscription acquisitions
      • Adding custom fields
      • Offering store credit
      • Displaying policies and getting consent
      • Collecting e-invoice information
      • Handling completed checkout-sessions
    • Direct integrations
      • Standard flow
      • Building checkouts
        • Checking out guest and registered customers
        • Describing line items
          • Setting the price of an item
          • Managing items with shared SKU identifiers
        • Providing address information
        • Handling shipping choice
        • Tax identifiers
        • Applying a discount
        • Setting the customer type
        • Providing the IP address
        • Selecting a currency
        • Initiating a charge
        • Setting the purchase location
        • Configuring taxes
        • Accessing regulatory fee information
        • Localizing invoices and credit memos
        • Providing an upstream identifier
        • Applying store credit
        • Handling e-invoicing requirements
        • Landed cost
        • Tax calculation inputs
        • Selling entities
        • Payment sessions
        • Applying store credit (legacy)
        • Country specs
      • Building payment workflows
        • Handling redirect payment methods
        • Handling delayed payment methods
      • Subscription acquisitions
        • Handling subscription acquisitions
        • Handling external subscription acquisitions
        • Subscription information
      • Digital River coordinated fulfillments
        • Checking inventory levels
        • Using shipping quotes
        • Reserving inventory items
        • Managing a fulfillment order
        • Cancelling a fulfillment order
    • Connectors
  • Order management
    • Processing orders
    • Handling a rejected order
    • Accessing invoices and credit memos
    • Fulfilling goods and services
    • Capturing and cancelling charges
    • Payment reauthorizations
    • Handling reversals
      • Return basics
        • Digital River coordinated returns
        • Third party coordinated returns
      • Refund basics
        • Issuing refunds
        • Refunding asynchronous payment methods
      • Disputes and chargebacks
    • Customer notifications
    • Responding to events
      • Events
        • Key event types
        • All event types
      • Webhooks
        • Creating a webhook
        • Digital River API safelist
        • Digital River signature
      • Expanding events
      • Preventing webhooks from getting disabled
    • Distributor model
  • Subscription Management
    • Managing a subscription
    • Managing an external subscription
  • Payments
    • Payment solutions
      • Drop-in payments
        • How Drop-in payments work
        • Drop-in payments integration guide
      • DigitalRiver.js with Elements
        • Elements integration guide
        • Configuring payment methods
          • Configuring Afterpay
          • Configuring Alipay+ (cross-border)
          • Configuring Alipay (domestic)
          • Configuring Amazon Pay
          • Configuring Apple Pay
          • Configuring Bancontact
          • Configuring BNP Paribas
          • Configuring BLIK
          • Configuring CCAvenue
          • Configuring Clearpay
          • Configuring Credit Cards
          • Configuring FPX Online Banking
          • Configuring Google Pay
          • Configuring iDEAL
          • Configuring Klarna
          • Configuring Konbini
          • Configuring Online Banking (IBP)
          • Configuring Online Banking (Korea Bank Transfer)
          • Configuring PayCo
          • Configuring PayPal
          • Configuring SEPA Direct Debit
          • Configuring Trustly
          • Configuring Wire Transfer
          • Common payment sources
          • Common payment objects
    • Supported payment methods
      • Afterpay
      • Alipay (domestic)
      • Alipay+ (cross-border)
      • Amazon Pay
      • Apple Pay
      • Bancontact
      • BNP Paribas
      • BLIK
      • CCAvenue
      • Clearpay
      • Credit Cards
      • FPX Online Banking
      • Google Pay
      • iDEAL
      • Klarna
      • Konbini
      • Korea Bank Transfer (Online Banking)
      • Online Banking (IBP)
      • Pay with Installments France
      • PayCo
      • PayPal
      • PayPal Billing Agreement
      • PayPal Credit
      • PayPal Pay in 3
      • PayPal Pay in 4
      • PayPal RatenZahlung (Installment Payment)
      • SEPA Direct Debit
      • Trustly
      • Wire Transfer
    • Source basics
      • Managing sources
      • Handling credit card sources
      • Retrieving sources
    • Authorization declines
    • PSD2 and SCA
      • How to ensure SCA compliance
    • Payment testing scenarios
  • Product management
    • Product basics
    • Managing SKUs
    • Using product details
    • Grouping SKUs
    • SKU-inventory item pairs
    • Managing inventory items
    • Regulatory fees
      • What are regulatory fees?
        • Fees terminology
        • Regulatory fee management
        • European regulatory fees
        • Compliance obligations
        • WEEE directive requirements
        • Copyright directive requirements
        • Compliance challenges
      • Managing regulatory fees
  • Customer management
    • Customer basics
    • Creating and updating customers
    • Setting up tax exemptions
    • Recording a customer's request to be forgotten
  • Financial reporting
    • Financials basics
    • Sales transactions
      • Returning a list of sales transactions
      • Getting a sales transaction by ID
    • Sales summaries
      • Returning a list of sales summaries
      • Getting a sales summary by ID
    • Payouts
      • Returning a list of payouts
      • Getting a payout by ID
      • Get a list of transactions included in payout by ID
  • Developer resources
    • Digital River API reference
    • DigitalRiver.js reference
      • Including DigitalRiver.js
      • Initializing DigitalRiver.js
      • DigitalRiver object
      • Elements
        • Amazon Pay element
        • Apple Pay elements
        • Google Pay elements
        • IBAN element
        • iDEAL element
        • Konbini elements
        • Compliance element
        • Offline Refund elements
        • Online Banking elements
        • Tax Identifier element
        • Invoice attribute element
        • Delayed Payment Instructions element
        • PayPal elements
      • Guidelines for capturing payment details
      • Security
      • Digital River payment objects
      • Error types, codes, and objects
    • DigitalRiverCheckout.js reference
      • Including DigitalRiverCheckout.js
      • Initializing DigitalRiverCheckout.js
        • DigitalRiverCheckout configuration object
      • DigitalRiverCheckout object
        • Configuring Prebuilt Checkout
          • Performing actions
          • Defining experience
        • Components
          • Configuring components
          • Address component
          • Shipping component
          • Tax identifier component
          • Invoice component
          • Wallet component
          • Payment component
          • Compliance component
          • Order summary component
          • Thank you component
        • Rendering a checkout button
          • Performing actions on the checkout button
        • Determining the checkout's status
      • Accessing country and currency
    • DynamicPricing.js reference
    • Postman collection
  • administration
    • Sign in
    • Digital River Dashboard
      • Digital River Dashboard quick start guide
      • Key features
      • Reset your password
      • Test and production environments
      • Account
        • Adding an account
        • Switching accounts
        • Account access
      • Profile settings
        • Viewing your personal information
        • Changing your password
        • Updating your phone number
        • Enabling multi-factor authentication
      • Finance
        • Payouts
          • Viewing your payout details
          • Filtering your payouts
          • Exporting your payouts
        • Sales summaries
          • Viewing your sales summaries details
          • Filtering your sales summaries
          • Exporting your sales summaries
          • Exporting your sales summary details
        • Transactions
          • Viewing your transaction details
          • Filtering your transactions
          • Exporting your transactions
      • Order management
        • Orders
          • Searching for orders
          • Filtering your orders
          • Viewing the order details
          • Cancelling items
          • Fulfilling items
          • Downloading an invoice
          • Downloading a credit memo
          • Creating shipping labels
          • Recording a customer's request to be forgotten
          • Viewing returns and refunds
          • Creating a return
          • Accepting a return
          • Creating a refund
          • Viewing the order's timeline
        • Checkouts
          • Searching for checkouts
          • Filtering your checkouts
          • Viewing the checkout details
        • Prebuilt Checkout links
          • Generate Prebuilt Checkout links
          • View and work with Prebuilt Checkout link details
          • Add a customer during Prebuilt Checkout
          • Add a product during Prebuilt Checkout
      • Customers
        • Viewing customer details
        • Searching for customers
        • Filtering your customers
        • Editing account information
        • Adding a customer
        • Tax IDs and certificates
          • Adding a tax certificate
          • Adding a tax ID
          • Deleting a tax ID
        • Metadata
          • Adding metadata
          • Editing metadata
        • Manage subscriptions from the Customer Details page
        • Disabling a customer
        • Recording a customer's request to be forgotten
        • Deleting a customer
      • Catalog
        • SKUs
          • Viewing the SKU details
          • Searching for SKUs
          • Filtering your SKUs
          • Adding a SKU
          • Editing a SKU
          • Deleting a SKU
          • Adding a fee to a SKU
          • Editing a fee
          • Deleting a fee
          • Viewing product tariff codes
        • Managing customer subscriptions from Digital River Dashboard
      • Developers
        • API keys
          • Updating your API version
          • Getting your API keys
          • Changing the API version for your key
          • Creating a restricted key
          • Editing a restricted key
          • Deleting a restricted key
          • Rotating keys
        • Webhooks
          • Creating a webhook
          • Editing a webhook
          • Deleting a webhook
          • Rotating a webhook's secret
        • API logs
          • Filtering the API log
          • Viewing the API log details
        • Event logs
          • Filtering the events log
          • Viewing the event details
      • Settings
        • Users and roles
          • Roles
          • Searching for a user by name or email
          • Filtering your users and roles
          • Adding a user
          • Editing a user
          • Deleting a user
        • Prebuilt Checkout
        • Payment methods
          • Viewing your payment methods
          • Viewing payment method details
            • Enabling currencies
            • Managing countries
          • Enabling or disabling a payment method
  • General Resources
    • eCompass
    • eCompass documentation
    • Release notes
      • 2024
      • 2023
      • 2022
      • 2021
      • 2020
      • 2019
    • Standards and certifications
      • Certification process
      • Compliance requirements
      • Documentation requirements
      • Integration checklists
        • Admin portal
        • Products and SKUs
        • Customers and tax exemptions
        • Checkouts, payment sources, and orders
        • Disclosures, compliance statements, and emails
        • Fulfillments and cancellations
        • Customer portal
        • Order refund synchronization
        • Reversals
        • Error handling
      • Test and use cases
    • Commerce infrastructure
    • Versioning
    • Glossary
Powered by GitBook
On this page
  • Requesting shipping quotes
  • Items to ship
  • Shipping destination and type
  • Shipping quotes
  • Unique identifier and service levels
  • Shipping costs
  • Signature requirements
  • Estimated delivery times
  • Inventory item identifier and availability
  • Ship from addresses
  • Using a shipping quote
  1. Integration options
  2. Direct integrations
  3. Digital River coordinated fulfillments

Using shipping quotes

Learn how to provide your customers shipping options and process their selection

PreviousChecking inventory levelsNextReserving inventory items

Last updated 2 months ago

This page explains how to use the in 2020-12-17, 2020-02-23, and 2021-03-23 as part of a .

In , you call the during to provide customers with shipping options.

In a , you must you'd like to ship and .

In the response, we give you an array of , each describing the quote's , , , , , and ship-from.

These shipping quotes can then be displayed to the customer. Once the customer selects, you can .

Your logistics partner must obtain the checkout's in .

Requesting shipping quotes

In a request, you need to provide the currency used to pay for the shipping, the , and their .

This call to the typically occurs late in the , after customers have finalized their carts and you've collected their shipping address. So, much of the data you need to define the request can be retrieved from the .

Checkout

POST/shipping-quotes

currency

âž”

currency

items[].skuId

âž”

items[].inventoryItemId

items[].amount

âž”

items[].price

items[].quantity

âž”

items[].quantity

shipTo.postalCode

âž”

shipTo.postalCode

shipTo.state

âž”

shipTo.state

shipTo.country

âž”

shipTo.country

curl --location --request POST 'http://api.digitalriver.com/shipping-quotes' \
--header 'Authorization: Bearer <API_key>' \
--header 'Content-Type: application/json' \
...
--data-raw '{
    "currency": "USD",
    "shipTo": {
        "postalCode": "11111",
        "state": "BU",
        "country": "JP",
        "type": "standard"
    },
    "items": [
        {
            "inventoryItemId": "78fd6209-91e7-4347-aadc-af73edb8b18b",
            "price": 9.99,
            "quantity": 1
        }
    ]
}'

Items to ship

Shipping destination and type

For Digital River to return accurate shipping quotes, you need to specify the shipTo block's state, country, and postalCode.

Standard deliveries

A standard delivery type is the most common and consists of the shipping carrier bringing the goods directly to the customer's home or place of business.

Access point deliveries

With access_point deliveries, customers pick up their products at stand-alone lockers located in high-traffic areas like shopping centers and train stations. Alternatively, the goods can be delivered to so-called "parcel shops", such as convenience and grocery stores, where the customer picks them up.

Cash on delivery

When you specify cash_on_delivery, end customers must pay the shipping carrier for the goods at the time of delivery. This cash-on-delivery (COD) payment method is particularly popular in Japan, China, Mexico, Indonesia, Germany, Spain, Turkey, UAE, Russia and other countries.

Shipping quotes

Unique identifier and service levels

{
    "shipTo": {
        ...
        "type": "standard"
    },
    "quotes": [
        {
            "id": "IC",
            ...
            "serviceLevel": "InternationalStandard",
            ...
            "total": 10.0,
            ...
        },
        {
            "id": "IS",
            ...
            "serviceLevel": "InternationalExpress",
            ...
            "total": 20.0,
            ...
        }
    ],
    ...
}

The following table lists these enumerated shipping quote identifiers, their associated service levels, and the delivery type they support.

Identifier
Shipping service level
Supported delivery type

A1

accessPointExpress

access_point

AG

accessPointStandard

access_point

D1

expressNextDay

standard

D2

expressSecondDay

standard

IH

inHome

standard

IC

internationalExpress

standard

IS

internationalStandard

standard

SG

standard

standard

COD

standardCOD

cash_on_delivery

Shipping costs

We will also give you information on any fees incurred for non-standard services that may have been applied to the order.

Signature requirements

The value indicates whether the shipping carrier requires an adult to sign for delivery or a standard signer of any age is acceptable.

If signatureRequiredType is not contained in the response, it means that no delivery confirmation is needed for any of the products in the shipping quote.

Shipping carriers typically charge for performing this signature collection service. If you decide to pass this cost on to customers, then the amount the carrier charged is reflected in handling.

On orders with split shipments, meaning items are going to different addresses or arriving at the same address at different times, handling indicates the total signature collection cost for all the different shipments.

The order shipped notification you send customers should indicate whether they must provide a signature upon delivery.

Enabling the signature required feature

You must contact your account manager to configure and enable the signature required feature.

The configuration process involves several steps. First, specific products within your channel's catalog need to be flagged. When these flagged products are included in an order, they trigger the signature required feature.

You can also set item-level and order-level amount thresholds. These tell us when to activate the feature. Let's say you have a product that is not flagged for signature collection. But a customer orders enough of these products to exceed your pre-defined amount threshold, triggering a mandatory signature collection.

And finally, you'll need to tell us whether you or the customer will pay the cost the shipping carrier charges for providing this service.

Estimated delivery times

The estimatedMinimumDeliveryTime and estimatedMaximumDeliveryTime represent estimated minimum and maximum delivery times (in minutes) for this shipping method.

Inventory item identifier and availability

For each item in a shipping quote, we provide you its inventoryItemId as well as its quantity, availableQuantity, and availableTime.

Ship from addresses

{
    ...
    "quotes": [
        {
            "id": "SG",
            ...
            "items": [
                {
                    "inventoryItemId": "f785a6ac-d37b-46ca-92ed-2bea6f9dd14a",
                    ...
                    "shipFrom": {
                        "address": {
                            "line1": "27081 Aliso Creek Rd",
                            "city": "Aliso Viejo",
                            "postalCode": "92656",
                            "state": "CA",
                            "country": "US"
                        }
                    },
                    ...
                }
            ]
        },
        ...
    ],
    "liveMode": false
}

Using a shipping quote

Specifically, you should retrieve the shipping quote's id and total and use these values to set the checkout's shippingChoice.serviceLevel and shippingChoice.amount.

Shipping quote
POST/checkouts/{id}

quotes[].id

âž”

shippingChoice.serviceLevel

quotes[].total

âž”

shippingChoice.amount

quotes[].items[].shipFrom

âž”

shipFrom or items[].shipFrom

You must provide an array of products in your shipping quote request. Each element of the items array represents a specific . For each inventory item, you're required to specify its unique identifier, price, and quantity.

In , your form synchronous pairs. So the items[].skuId can be used to set the items[].inventoryItemId.

You can also use shipTo to set type. This parameter represents the final step in the fulfillment process, actually delivering the products to a customer. The type options are (default), , or . The delivery type affects .

If you set type to cash_on_delivery, once is initiated, we send this data downstream to the fulfiller, who, in turn, notifies the shipping carrier to collect COD.

A successful request returns a quotes array. Each object of that array represents a . This object always contains a , information on , where the , and .

Depending on your configuration, you may also get back data on and .

Every contains a unique id which is associated with a shipping method. This shipping method is designated by serviceLevel. That service level is, in turn, associated with the you specify in the request.

As an example, if you specify a of access_point in the POST/shipping-quotes request, you'll get back a maximum of two shipping quotes. That is the number of service levels this delivery type supports.

A provides you with order-level and item-level shipping and handling costs. We aggregate these amounts into both an item total and an order total.

A signatureRequiredType indicates whether a signature is needed upon delivery and, if it is, what type of signature is required. It's commonly used to prevent the theft of high-dollar items from a customer's doorstep after the goods have been delivered.

You can also retrieve this same data by making a request.

In a , each element of the items array provides you with a shipFrom address. This indicates the warehouse location from which that specific product is shipped. This allows you to .

In that use either the or , after you , present them to the customer.

Once the customer selects a specific shipping quote, retrieve its data and send it in a or request. This associates the shipping quote with the .

If all of a are identical, you can use this one address to specify . However, when , you have the ability to . So, if the shipping quote contains items with different ship from addresses, pass each of these unique values to the checkout's corresponding line item.

physical fulfillment
standard
access_point
cash_on_delivery
the returned service levels
signature requirements
estimated delivery times
shipTo.type
Digital River coordinated fulfillment
Digital River coordinated fulfillments
checkout
shipping information
checkout process
shipping quote request
describe the items
where those items are going
shipping quotes
service level
shipping costs
signature requirements
estimated delivery times
inventory availability
addresses
use the data from a shipping quote to continue processing the checkout
items to ship
destination and delivery type
Digital River coordinated fulfillments
SKUs and inventory items
Digital River coordinated fulfillments
receive an array of shipping quotes
describing a checkout's items
shipping quote's ship from values
unique identifier associated with a shipping service level
shipping costs
items are shipping from
product availability
delivery type
checkout
inventory item
third-party coordinated fulfillments
versions
checkout's
shipping quotes'
POST /shipping-quotes
shipping quote
shipping quote
shipping quote
shipping quote's
GET /inventory-levels
create
update checkout
Shipping Quotes API
POST /shipping-quotes
Shipping Quotes API
checkout
Shipping Quotes API
shipping quote
distributed model
orchestrated model
build checkouts with products that ship from different addresses in different countries
the checkout's shipFrom
set shipFrom at the line-item level