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 messages#
You 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_randshops_wcombined 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 Section#
Shop 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
titlewith a string to display at the top of a section in the shop.Execute a createShopSection POST request with a
shops_wscope 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
updateListingPUT request that includesshop_idandlisting_idin the URL, alistings_wscoped OAuth token andx-api-keyin the header, and the new section ID in the request body. For example, if yourshop_idis 12345678, yourlisting_idis 192837465, and yoursection_idis 55566585, then the updateListing URL is:
- JavaScript fetch
- PHP curl