Update a Product
Name
put_product
Description
Updates an existing product. [API reference]
Related Tables
Parameters
Parameter | Label | Required | Options | Description |
---|---|---|---|---|
Id | Product Id | YES | The ID of the product to be updated. |
Output Columns
Label | Data Type (SSIS) | Data Type (SQL) | Length | Raw | Description |
---|---|---|---|---|---|
Id |
DT_I8
|
bigint
|
False |
||
Title |
DT_WSTR
|
nvarchar(200)
|
200 | False |
|
BodyHtml |
DT_NTEXT
|
nvarchar(MAX)
|
False |
||
Vendor |
DT_WSTR
|
nvarchar(200)
|
200 | False |
|
ProductType |
DT_WSTR
|
nvarchar(200)
|
200 | False |
|
CreatedAt |
DT_DBTIMESTAMP
|
datetime
|
False |
||
UrlHandle |
DT_WSTR
|
nvarchar(200)
|
200 | False |
|
UpdatedAt |
DT_DBTIMESTAMP
|
datetime
|
False |
||
PublishedAt |
DT_DBTIMESTAMP
|
datetime
|
False |
||
TemplateSuffix |
DT_WSTR
|
nvarchar(200)
|
200 | False |
|
Status |
DT_WSTR
|
nvarchar(200)
|
200 | False |
|
PublishedScope |
DT_WSTR
|
nvarchar(200)
|
200 | False |
|
Tags |
DT_WSTR
|
nvarchar(4000)
|
4000 | False |
|
AdminGraphqlApiId |
DT_WSTR
|
nvarchar(200)
|
200 | False |
|
Variants |
DT_NTEXT
|
nvarchar(MAX)
|
False |
||
Options |
DT_WSTR
|
nvarchar(4000)
|
4000 | False |
|
Images |
DT_NTEXT
|
nvarchar(MAX)
|
4000 | False |
|
Image |
DT_WSTR
|
nvarchar(4000)
|
4000 | False |
|
ImageId |
DT_I8
|
bigint
|
False |
||
ImageProductId |
DT_I8
|
bigint
|
False |
||
ImagePosition |
DT_I4
|
int
|
False |
||
ImageCreatedAt |
DT_DBTIMESTAMP
|
datetime
|
False |
||
ImageUpdatedAt |
DT_DBTIMESTAMP
|
datetime
|
False |
||
ImageAlt |
DT_WSTR
|
nvarchar(4000)
|
4000 | False |
|
ImageWidth |
DT_I4
|
int
|
False |
||
ImageHeight |
DT_I4
|
int
|
False |
||
ImageSrc |
DT_WSTR
|
nvarchar(4000)
|
4000 | False |
|
ImageVariantIds |
DT_WSTR
|
nvarchar(500)
|
500 | False |
|
ImageAdminGraphqlApiId |
DT_WSTR
|
nvarchar(200)
|
200 | False |
|
Metafields |
DT_NTEXT
|
nvarchar(MAX)
|
False |
Input Columns
Label | Data Type (SSIS) | Data Type (SQL) | Length | Raw | Description |
---|---|---|---|---|---|
Title |
DT_WSTR
|
nvarchar(200)
|
200 | False |
|
BodyHtml |
DT_NTEXT
|
nvarchar(MAX)
|
False |
(maximum is 512 KB) | |
UrlHandle |
DT_WSTR
|
nvarchar(500)
|
500 | False |
|
ProductType |
DT_WSTR
|
nvarchar(200)
|
200 | False |
|
Status |
DT_WSTR
|
nvarchar(200)
|
200 | False |
|
Vendor |
DT_WSTR
|
nvarchar(200)
|
200 | False |
|
TemplateSuffix |
DT_WSTR
|
nvarchar(200)
|
200 | False |
|
PublishedScope |
DT_WSTR
|
nvarchar(200)
|
200 | False |
|
Tags |
DT_WSTR
|
nvarchar(4000)
|
4000 | True |
|
Variants |
DT_NTEXT
|
nvarchar(MAX)
|
True |
||
Options |
DT_WSTR
|
nvarchar(4000)
|
4000 | True |
|
Images |
DT_NTEXT
|
nvarchar(MAX)
|
True |
||
Metafields |
DT_NTEXT
|
nvarchar(MAX)
|
True |
||
SEOTitle |
DT_WSTR
|
nvarchar(1000)
|
1000 | False |
|
SEODescription |
DT_WSTR
|
nvarchar(4000)
|
4000 | False |
|
Id |
DT_I8
|
bigint
|
False |
Examples
SSIS
Use Shopify Connector in API Source component to read data or in API Destination component to read/write data:
Update rows in Products table using API Destination
This Endpoint belongs to Products table, therefore you cannot work with it directly. Use this table and table-operation pair instead:

ODBC application
Use these SQL queries in your ODBC application data source:
Update an existing product
This example shows how to update an existing product. Update product title, description (body html), images, variants and more
UPDATE Products
SET Title='Ice Cream - Updated'
, Status='draft' --active, archived, draft
, BodyHtml='<strong>Very yummy ice cream - updated!</strong>'
--first image becomes main image if you supply multiple images
--upload multiple images from URL (set "src")
, Images='[
{"src":"https://zappysys.com/images/tech/google-analytics-logo.png"},
{"src":"https://zappysys.com/images/tech/web-api-logo.png"}
]'
--OR upload multiple local image files (set "attachment")
--, Images='[
-- {"attachment":"<<c:\temp\icecream_1.png,FUN_FILE_BASE64ENC>>"},
-- {"attachment":"<<c:\temp\icecream_2.png,FUN_FILE_BASE64ENC>>"}
-- ]'
, Variants='[
{"price":20.5, "option1":"Chocolate","option2":"Small","sku":"ICE-CHO-SML","inventory_quantity":300},
{"price":21.5, "option1":"Vanilla","option2":"Small","sku":"ICE-VNL-MED","inventory_quantity":110}
]'
, PublishedScope='global' --or web
, Vendor ='IceGlobal'
, ProductType ='Cold Food'
, Tags ='["Frozen","Seasonal","Dad''s Fav"]'
--Update SEO URL
,UrlHandle='ice-cream-51'
--Update SEO title / description
, SEOTitle='Yum Ice Cream SEO Title-update'
, SEODescription='Yum Ice Cream SEO description-update'
Where Id=7348335771748
put_product
endpoint belongs to
Products
table(s), and can therefore be used via those table(s).
SQL Server
Use these SQL queries in SQL Server after you create a data source in Data Gateway:
Update an existing product
This example shows how to update an existing product. Update product title, description (body html), images, variants and more
DECLARE @MyQuery NVARCHAR(MAX) = 'UPDATE Products
SET Title=''Ice Cream - Updated''
, Status=''draft'' --active, archived, draft
, BodyHtml=''<strong>Very yummy ice cream - updated!</strong>''
--first image becomes main image if you supply multiple images
--upload multiple images from URL (set "src")
, Images=''[
{"src":"https://zappysys.com/images/tech/google-analytics-logo.png"},
{"src":"https://zappysys.com/images/tech/web-api-logo.png"}
]''
--OR upload multiple local image files (set "attachment")
--, Images=''[
-- {"attachment":"<<c:\temp\icecream_1.png,FUN_FILE_BASE64ENC>>"},
-- {"attachment":"<<c:\temp\icecream_2.png,FUN_FILE_BASE64ENC>>"}
-- ]''
, Variants=''[
{"price":20.5, "option1":"Chocolate","option2":"Small","sku":"ICE-CHO-SML","inventory_quantity":300},
{"price":21.5, "option1":"Vanilla","option2":"Small","sku":"ICE-VNL-MED","inventory_quantity":110}
]''
, PublishedScope=''global'' --or web
, Vendor =''IceGlobal''
, ProductType =''Cold Food''
, Tags =''["Frozen","Seasonal","Dad''''s Fav"]''
--Update SEO URL
,UrlHandle=''ice-cream-51''
--Update SEO title / description
, SEOTitle=''Yum Ice Cream SEO Title-update''
, SEODescription=''Yum Ice Cream SEO description-update''
Where Id=7348335771748';
EXEC (@MyQuery) AT [LS_TO_SHOPIFY_IN_GATEWAY];
put_product
endpoint belongs to
Products
table(s), and can therefore be used via those table(s).