- ProductListing
- What you can do with ProductListing
- ProductListing properties
- Endpoints
- Retrieve product listings that are published to your app
- Retrieve
product_ids
that are published to your app - Retrieve a count of products that are published to your app
- Retrieve a specific product listing that is published to your app
- Create a product listing to publish a product to your app
- Delete a product listing to unpublish a product from your app
ProductListing
Sales Channel SDK
The ProductListing resource is available to Sales Channel SDK applications only.
A ProductListing resource represents a Product which is available to your sales channel. Merchants can make products available to your sales channel directly from their Shopify admin.
You can use this resource to retrieve products that a merchant has published and display them to customers in your marketplace for sale.
A ProductListing resource itself is unable to have its attributes modified directly. The attributes of a ProductListing are inherited from the Product resource to which it is associated. Therefore, all attributes of a ProductListing should be considered read-only.
A product can have one of the following statuses: active
, draft
, or archived
. Draft and archived are considered non-active statuses. If you create a listing for a non-active product, then the product won’t be published immediately. You must change the product status to active to make the product available on a sales channel.
If the product is sold exclusively on subscription, then you can create a listing for the product only on an online store.
What you can do with ProductListing
The Shopify API lets you do the following with the ProductListing resource. More detailed versions of these general actions may be available:
- GET /admin/api/2021-01/product_listings.jsonRetrieve product listings that are published to your app
- GET /admin/api/2021-01/product_listings/product_ids.jsonRetrieve
product_ids
that are published to your app - GET /admin/api/2021-01/product_listings/count.jsonRetrieve a count of products that are published to your app
- GET /admin/api/2021-01/product_listings/{product_listing_id}.jsonRetrieve a specific product listing that is published to your app
- PUT /admin/api/2021-01/product_listings/{product_listing_id}.jsonCreate a product listing to publish a product to your app
- DELETE /admin/api/2021-01/product_listings/{product_listing_id}.jsonDelete a product listing to unpublish a product from your app
ProductListing properties
product_id READ-ONLY | plain "product_id": 1053727709 The unique identifer of the product this listing is for. The primary key for this resource. |
---|---|
body_html READ-ONLY | plain "body_html": "It's the small iPod with a big idea: Video." The description of the product, complete with HTML formatting. |
created_at READ-ONLY | plain "created_at": "2012-02-15T15:12:21-05:00" The date and time when the product was created. The API returns this in ISO 8601. |
handle READ-ONLY | plain "handle": "ipod-nano" A human-friendly unique string for the Product automatically generated from its title. |
images READ-ONLY | plain "images": [ { "src": "http://example.com/burton.jpg" } ] A list of image objects, each one representing an image associated with the product. |
options READ-ONLY | plain "options": [ { "name": "Title" } ] Custom product property names like “Size”, “Color”, and “Material”. |
product_type READ-ONLY | plain "product_type": "Cult Products" A categorization that a product can be tagged with, commonly used for filtering. |
published_at READ-ONLY | plain "published_at": "2007-12-31T19:00:00-05:00" The date and time when the product was published. The API returns this in ISO 8601. |
tags READ-ONLY | plain "tags": "Emotive, Flash Memory, MP3, Music" A categorization that a product can be tagged with, commonly used for filtering. |
title READ-ONLY | plain "title": "IPod Nano - 8GB" The name of the product. |
updated_at READ-ONLY | plain "updated_at": "2012-08-24T14:01:47-04:00" The date and time when the product was last modified. The API returns this in ISO 8601. |
variants READ-ONLY | plain "variants": { "barcode": "1234_pink", "compare_at_price": null, "created_at": "2012-08-24T14:01:47-04:00", "fulfillment_service": "manual", "grams": 567, "weight": 0.2, "weight_unit": "kg", "id": 808950810, "inventory_management": "shopify", "inventory_policy": "continue", "inventory_quantity": 10, "option1": "Pink", "position": 1, "price": 199.99, "product_id": 632910392, "requires_shipping": true, "sku": "IPOD2008PINK", "taxable": true, "title": "Pink", "updated_at": "2012-08-24T14:01:47-04:00" } A list of variant objects, each one representing a slightly different version of the product. For example, if a product comes in different sizes and colors, each size and color permutation (such as “small black”, “medium black”, “large blue”), would be a variant.To reorder variants, update the product with the variants in the desired order. The position attribute on the variant will be ignored. + barcode: The barcode, UPC or ISBN number for the product. + compare_at_price: The competitor’s price for the same item. + created_at: The date and time when the product variant was created. The API returns this in ISO 8601. + fulfillment_service: Service which is handling fulfillment. Valid values are: manual , gift_card , or the handle of a FulfillmentService.+ grams: The weight of the product variant in grams. + weight: The weight of the product variant in the unit system specified with weight_unit. + weight_unit: The unit system that the product variant’s weight is measure in. The weight_unit can be either “g”, “kg, “oz”, or “lb”. + id: The unique numeric identifier for the product variant. + inventory_management: Specifies whether or not Shopify tracks the number of items in stock for this product variant. + inventory_policy: Specifies whether or not customers are allowed to place an order for a product variant when it’s out of stock. + inventory_quantity: The number of items in stock for this product variant. + metafield: Attaches additional information to a shop’s resources. + option: Custom properties that a shop owner can use to define product variants. Multiple options can exist. Options are represented as: option1 , option2 , option3 , etc.+ position: The order of the product variant in the list of product variants. 1 is the first position. To reorder variants, update the product with the variants in the desired order. The position attribute on the variant will be ignored. + price: The price of the product variant. + product_id: The unique numeric identifier for the product. + requires_shipping: Specifies whether or not a customer needs to provide a shipping address when placing an order for this product variant. + sku: A unique identifier for the product in the shop. + taxable: Specifies whether or not a tax is charged when the product variant is sold. + title: The title of the product variant. + updated_at: The date and time when the product variant was last modified. The API returns this in ISO 8601. |
vendor READ-ONLY | plain "vendor": "Apple" The name of the vendor of the product. |
Endpoints
GET/admin/api/2021-01/product_listings.json Retrieve product listings that are published to your app. Note: As of version 2019-07, this endpoint implements pagination by using links that are provided in the response header. Sending the<font style="background-color:#F4F6F8;">page</font>
parameter will return an error. To learn more, see Making requests to paginated REST Admin API endpoints.
product_ids | A comma-separated list of product ids |
---|---|
limit | Amount of results (default: 50 , maximum: 1000 ) |
collection_id | Filter by products belonging to a particular collection |
updated_at_min | Filter by product listings last updated after a certain date and time (formatted in ISO 8601) |
handle | Filter by product handle |
Retrieve product listings that are published to your app
GET /admin/api/2021-01/product_listings.json
GET/admin/api/2021-01/product_listings/product_ids.json Retrieve<font style="background-color:#F4F6F8;">product_ids</font>
that are published to your app. Maximum 1,000 results per page.
limit | Amount of results (default: 50 , maximum: 1000 ) |
---|---|
Retrieve product_ids
that are published to your app
GET /admin/api/2021-01/product_listings/product_ids.json
GET/admin/api/2021-01/product_listings/count.json Retrieve a count of products that are published to your appRetrieve a count of products that are published to your app
GET /admin/api/2021-01/product_listings/count.json
GET/admin/api/2021-01/product_listings/{product_listing_id}.json Retrieve a specific product listing that is published to your appRetrieve a specific product listing that is published to your app
GET /admin/api/2021-01/product_listings/921728736.json
PUT/admin/api/2021-01/product_listings/{product_listing_id}.json Create a product listing to publish a product to your appCreate a product listing to publish a product to your app
PUT /admin/api/2021-01/product_listings/921728736.json
{
“product_listing”: {
"product_id": 921728736
}
}
DELETE/admin/api/2021-01/product_listings/{product_listing_id}.json Delete a product listing to unpublish a product from your appDelete a product listing to unpublish a product from your app
DELETE /admin/api/2021-01/product_listings/921728736.json