This topic builds on the concepts covered in How to set up worldwide shipping.

Specifying the regions covered by a shipping service

You can define a list of shippingServices for each ShippingOption element you configure. This means you can give buyers a choice of shipping services, for either their domestic or international shipments, from any one fulfillment policy.

The shipToLocations field in each shippingService element specifies the regions that the shipping service covers.

Note: Shipping regions are only valid for international shipping services, so set the regionIncluded and regionExcluded fields only in the container where optionType is set to INTERNATIONAL.

The following fulfillment policy snippet configures two shipping services, where each covers different international regions. The first shipping service covers shipments made to Europe and the second shipping service covers Australia and Japan, which means that the seller supports buyers from these three regions:

    {
      "costType": "CALCULATED",
      "optionType": "INTERNATIONAL",
      "shippingServices": [
        {
          "buyerResponsibleForShipping": "true",
          "freeShipping": "false",
          "shippingCarrierCode": "USPS",
          "shippingServiceCode": "USPSPriorityMailInternational",
          "shipToLocations": { 
            "regionIncluded": [ 
              {
                "regionName": "Europe"
              }
            ]
          }
        },
        {
          "buyerResponsibleForShipping": "true",
          "freeShipping": "false",
          "shippingCarrierCode": "USPS",
          "shippingServiceCode": "USPSPriorityMailInternationalSmallFlatRateBox",
          "shipToLocations": { 
            "regionIncluded": [ 
              {
                "regionName": "AU"
              },
              {
                "regionName": "JP"
              }
            ]
          }
        }
      ]
    }

Important! The shipToLocations field appears at both the top-level of the fulfillment policy and within each individual shippingOptions.shippingService container. Within a shippingService container, shipToLocations is used to specify the regions that the shipping service covers; it is not used to specify the regions that the service does not cover. Because of this, within a shippingService container, populate only the shipToLocations.regionIncluded field and do not populate it's sibling regionExcluded field.

Excluding regions covered by a shipping service

There are times when a seller might want to exclude an area from a larger worldwide region that they've configured as a ship-to location in a shipping service.

For example, the snippet in the section above configures a shipping service that covers the region defined as "Europe". Suppose, for perhaps a contractual reason, that the seller cannot ship to Germany (which is included in the European region). Here, the seller must exclude Germany as a ship-to location. They can do so by creating a fulfillment policy that covers Europe, but specifically excludes Germany as region into which they ship.

Important! To exclude a region (or set of regions) as a ship-to location, use the regionExcluded field that's located in the top-level shipToLocations field.

How to exclude several regions from a fulfillment policy

The example below configures one domestic and one international shipping service. For the international portion, the fulfillment policy configures a single world region into which the seller will ship, which is the area defined as "Europe". However, because the seller has agreed to not compete with her brother, she has decided to not sell into the islands of Jersey (JE) and Guernsey (GU)—please note this is just an example—no disrespect is meant to the inhabitants of these colorful Channel Islands!

Review the regionExcluded configuration in the top-level shipToLocations field to see how to exclude a set of regions from the areas that are otherwise included as ship-to locations:

{
  "categoryTypes": [
    {
      "name": "ALL_EXCLUDING_MOTORS_VEHICLES"
    }
  ],
  "marketplaceId": "EBAY_US",
  "name": "Domestic and international buyer-pays shipping, excluding Channel Islands of Europe",
  "shippingOptions": [
    {
      "costType": "CALCULATED",
      "optionType": "DOMESTIC",
      "shippingServices": [
        {
          "buyerResponsibleForShipping": "true",
          "freeShipping": "false",
          "shippingCarrierCode": "USPS",
          "shippingServiceCode": "USPSFirstClass"
        }
      ]
    },
    {
      "costType": "CALCULATED",
      "optionType": "INTERNATIONAL",
      "shippingServices": [
        {
          "buyerResponsibleForShipping": "true",
          "freeShipping": "false",
          "shippingCarrierCode": "USPS",
          "shippingServiceCode": "USPSPriorityMailInternational",
          "shipToLocations": {  
            "regionIncluded": [ 
              {
                "regionName": "Europe"
              }
            ]
          }
        }
      ]
    }
  ],
  "shipToLocations": { 
    "regionExcluded": [ 
      {
        "regionName": "GG"
      },
      {
        "regionName": "JE"
      }
    ]
  }
}

Note that if a buyer's primary ship-to location is a location that you have listed as an excluded ship-to location (or if the buyer does not have a primary ship-to location), they will receive an error message if they attempt to buy or place a bid on your item.

Setting regionName values

To indicate a shipping location (either to specifically include or exclude an area), specify a value for regionName.

The tricky part is that the values you can use for regionName depend on whether you're including or excluding an area. In another way, regionIncluded.regionName accepts a different set of values than does the field regionExcluded.regionName.

Tip: Each eBay marketplace supports its own set of regionName values and you must be sure to use the values that are applicable to the marketplace where the fulfillment policy is used. When you get values for regionName, be sure to get the appropriate values for all of the marketplaces where the sellers lists inventory, and create marketplace-specific fulfillment policies for each of these marketplaces.

Including specific regions

When you configure a shipping service, call GeteBayDetails to retrieve the values you can use to populate the regionIncluded.regionName field. In the GeteBayDetails call, set DetailName to ShippingLocationDetails, then review the ShippingLocation fields in the response for the strings that you can use for regionIncluded.regionName.

The list of regionName values that you can use with regionIncluded is a short list consisting of world-region names and two-letter country codes. The world regions in this list include:

  • Americas
  • Asia
  • Europe
  • Worldwide

Excluding specific regions

When you configure a shipToLocations container to specify the areas where you do not ship, call GeteBayDetails with DetailName set to ExcludeShippingLocationDetails, then review the Location fields in the response for the strings that you can use to populate the regionExcluded.regionName field. Note that you can use any of the Location values to exclude regions with regionExcluded.regionName.

You'll find that the list of regions you can exclude as shipping locations is more robust than the list of locations that you can specify as ship-to locations. This is because it's assumed you'll want to ship to as many countries as possible and will create fulfillment policies that have a "Worldwide" shipping option. If you indicate worldwide shipping, you can use both world region names and country codes to accurately define a list of the regions where you do not ship.

Tip: You can use the results of a call to GeteBayDetails with DetailName set to ExcludeShippingLocationDetails to examine the list of countries included in each of the high-level "world regions" defined by eBay. In the response to the call, review the Region fields of the entries that are represented by two-letter country codes, these values define the overarching world region of which the country is a part.