Shop Management Tutorial
important
These tutorials are subject to change as endpoints change during our feedback period development. We welcome your feedback! If you find an error or have a suggestion, please post it in the Open API GitHub Repository.
An Etsy shop is a common resource to organize a seller's listings and service buyers, and every Etsy user has at least one shop. Shops contain references to all resource, listing, and sales records, including previously uploaded files, images, shipping profiles, and deleted listings. Apps create or update most of these references using resource-specific endpoints, but require a shop ID to access them. You can update the shop and create shop sections using requests to the shop resource directly. The Etsy Open API v3 supports managing individual shops or shops across the Etsy marketplace as a whole, depending on your application's Access Level.
Throughout this tutorial, the instructions reference REST resources, endpoints, parameters, and response fields, which we cover in detail in Request Standards and URL Syntax.
Authorization
and x-api-key
header parameters#
The endpoints in this tutorial require an OAuth token in the header with shops_r
and shops_w
scope. In addition, to assign Listings to a shop section (see below), you require an OAuth token with a listings_w
scope. See the Authentication topic for instructions on how to generate an OAuth token with these scopes.
In addition, all Open API V3 requests require the x-api-key:
parameter in the header with your shop's Etsy App API Key keystring, which you can find in Your Apps.
#
Customize announcements and sales messagesYou can assign and change the following attributes for a shop using the updateShop
endpoint:
title
: The title displayed at the top of all the shop's pagesannouncement
: A message displayed on the shop's homepagesale_message
: A message sent to the buyer's Etsy messages when they purchase any product from this shopdigital_sale_message
: A message sent to the buyer's Etsy messages when they purchase any digital product from this shop
The following procedure changes the messages for a shop:
Form a valid URL for
updateShop
, which must include yourshop_id
. For example, if your shop_id is 12345678, the updateShop URL is:Build the updateShop request body with the messages you want to update. All the parameters accept string values.
Execute an updateShop PUT request with a
shops_r
andshops_w
combined scope OAuth token andx-api-key
. For example, an updateShop request to update all messages for Manny's Land of Carpets would look like the following:
- JavaScript fetch
- PHP curl
#
Add a Shop SectionShop sections organize listings displayed in an Etsy shop. You can create shop sections using the createShopSection
endpoint, which provides the new shop section ID in the response. To add a listing to a shop section, use the updateListing
endpoint with the section_id
parameter set to a section ID.
The following procedure creates a new shop section and updates a listing to display in the new shop section:
Form a valid URL for
createShopSection
, which must include yourshop_id
. For example, if your shop_id is 12345678, the createShopSection URL is:Build the createShopSection request body, which must include
title
with a string to display at the top of a section in the shop.Execute a createShopSection POST request with a
shops_w
scope OAuth token andx-api-key
. For example, a createShopSection request to create the "Spiral Carpet" section might look like the following:
- JavaScript fetch
- PHP curl
- Set all listings' section_ids to the section ID for the section in which you want to display the listings with an
updateListing
PUT request that includesshop_id
andlisting_id
in the URL, alistings_w
scoped OAuth token andx-api-key
in the header, and the new section ID in the request body. For example, if yourshop_id
is 12345678, yourlisting_id
is 192837465, and yoursection_id
is 55566585, then the updateListing URL is:
- JavaScript fetch
- PHP curl