Sample code for 30+ languages & platforms
PowerShell

WooCommerce List All Products

See more WooCommerce Examples

Gets WooCommerce product information in JSON format.

Chilkat PowerShell Downloads

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

$success = $false

# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

$http = New-Object Chilkat.Http

# Implements the following CURL command:

# curl https://example.com/wp-json/wc/v3/products \
#     -u consumer_key:consumer_secret

# Use the following online tool to generate HTTP code from a CURL command
# Convert a cURL Command to HTTP Source Code

$http.BasicAuth = $true
$http.Login = "consumer_key"
$http.Password = "consumer_secret"

$sbResponseBody = New-Object Chilkat.StringBuilder
$success = $http.QuickGetSb("https://example.com/wp-json/wc/v3/products",$sbResponseBody)
if ($success -eq $false) {
    $($http.LastErrorText)
    exit
}

$jarrResp = New-Object Chilkat.JsonArray
$jarrResp.LoadSb($sbResponseBody)
$jarrResp.EmitCompact = $false

$("Response Body:")
$($jarrResp.Emit())

$respStatusCode = $http.LastStatus
$("Response Status Code = " + $respStatusCode)
if ($respStatusCode -ge 400) {
    $("Response Header:")
    $($http.LastHeader)
    $("Failed.")
    exit
}

# Sample JSON response:
# (Sample code for parsing the JSON response is shown below)

# [
#   {
#     "id": 799,
#     "name": "Ship Your Idea",
#     "slug": "ship-your-idea-22",
#     "permalink": "https://example.com/product/ship-your-idea-22/",
#     "date_created": "2017-03-23T17:03:12",
#     "date_created_gmt": "2017-03-23T20:03:12",
#     "date_modified": "2017-03-23T17:03:12",
#     "date_modified_gmt": "2017-03-23T20:03:12",
#     "type": "variable",
#     "status": "publish",
#     "featured": false,
#     "catalog_visibility": "visible",
#     "description": "<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n",
#     "short_description": "<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\n",
#     "sku": "",
#     "price": "",
#     "regular_price": "",
#     "sale_price": "",
#     "date_on_sale_from": null,
#     "date_on_sale_from_gmt": null,
#     "date_on_sale_to": null,
#     "date_on_sale_to_gmt": null,
#     "price_html": "",
#     "on_sale": false,
#     "purchasable": false,
#     "total_sales": 0,
#     "virtual": false,
#     "downloadable": false,
#     "downloads": [
#     ],
#     "download_limit": -1,
#     "download_expiry": -1,
#     "external_url": "",
#     "button_text": "",
#     "tax_status": "taxable",
#     "tax_class": "",
#     "manage_stock": false,
#     "stock_quantity": null,
#     "stock_status": "instock",
#     "backorders": "no",
#     "backorders_allowed": false,
#     "backordered": false,
#     "sold_individually": false,
#     "weight": "",
#     "dimensions": {
#       "length": "",
#       "width": "",
#       "height": ""
#     },
#     "shipping_required": true,
#     "shipping_taxable": true,
#     "shipping_class": "",
#     "shipping_class_id": 0,
#     "reviews_allowed": true,
#     "average_rating": "0.00",
#     "rating_count": 0,
#     "related_ids": [
#       31,
#       22,
#       369,
#       414,
#       56
#     ],
#     "upsell_ids": [
#     ],
#     "cross_sell_ids": [
#     ],
#     "parent_id": 0,
#     "purchase_note": "",
#     "categories": [
#       {
#         "id": 9,
#         "name": "Clothing",
#         "slug": "clothing"
#       },
#       {
#         "id": 14,
#         "name": "T-shirts",
#         "slug": "t-shirts"
#       }
#     ],
#     "tags": [
#     ],
#     "images": [
#       {
#         "id": 795,
#         "date_created": "2017-03-23T14:03:08",
#         "date_created_gmt": "2017-03-23T20:03:08",
#         "date_modified": "2017-03-23T14:03:08",
#         "date_modified_gmt": "2017-03-23T20:03:08",
#         "src": "https://example.com/wp-content/uploads/2017/03/T_4_front-11.jpg",
#         "name": "",
#         "alt": ""
#       },
#       {
#         "id": 796,
#         "date_created": "2017-03-23T14:03:09",
#         "date_created_gmt": "2017-03-23T20:03:09",
#         "date_modified": "2017-03-23T14:03:09",
#         "date_modified_gmt": "2017-03-23T20:03:09",
#         "src": "https://example.com/wp-content/uploads/2017/03/T_4_back-10.jpg",
#         "name": "",
#         "alt": ""
#       },
#       {
#         "id": 797,
#         "date_created": "2017-03-23T14:03:10",
#         "date_created_gmt": "2017-03-23T20:03:10",
#         "date_modified": "2017-03-23T14:03:10",
#         "date_modified_gmt": "2017-03-23T20:03:10",
#         "src": "https://example.com/wp-content/uploads/2017/03/T_3_front-10.jpg",
#         "name": "",
#         "alt": ""
#       },
#       {
#         "id": 798,
#         "date_created": "2017-03-23T14:03:11",
#         "date_created_gmt": "2017-03-23T20:03:11",
#         "date_modified": "2017-03-23T14:03:11",
#         "date_modified_gmt": "2017-03-23T20:03:11",
#         "src": "https://example.com/wp-content/uploads/2017/03/T_3_back-10.jpg",
#         "name": "",
#         "alt": ""
#       }
#     ],
#     "attributes": [
#       {
#         "id": 6,
#         "name": "Color",
#         "position": 0,
#         "visible": false,
#         "variation": true,
#         "options": [
#           "Black",
#           "Green"
#         ]
#       },
#       {
#         "id": 0,
#         "name": "Size",
#         "position": 0,
#         "visible": true,
#         "variation": true,
#         "options": [
#           "S",
#           "M"
#         ]
#       }
#     ],
#     "default_attributes": [
#     ],
#     "variations": [
#     ],
#     "grouped_products": [
#     ],
#     "menu_order": 0,
#     "meta_data": [
#     ],
#     "_links": {
#       "self": [
#         {
#           "href": "https://example.com/wp-json/wc/v3/products/799"
#         }
#       ],
#       "collection": [
#         {
#           "href": "https://example.com/wp-json/wc/v3/products"
#         }
#       ]
#     }
#   },
#   {
#     "id": 794,
#     "name": "Premium Quality",
#     "slug": "premium-quality-19",
#     "permalink": "https://example.com/product/premium-quality-19/",
#     "date_created": "2017-03-23T17:01:14",
#     "date_created_gmt": "2017-03-23T20:01:14",
#     "date_modified": "2017-03-23T17:01:14",
#     "date_modified_gmt": "2017-03-23T20:01:14",
#     "type": "simple",
#     "status": "publish",
#     "featured": false,
#     "catalog_visibility": "visible",
#     "description": "<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>\n",
#     "short_description": "<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\n",
#     "sku": "",
#     "price": "21.99",
#     "regular_price": "21.99",
#     "sale_price": "",
#     "date_on_sale_from": null,
#     "date_on_sale_from_gmt": null,
#     "date_on_sale_to": null,
#     "date_on_sale_to_gmt": null,
#     "price_html": "<span class=\"woocommerce-Price-amount amount\"><span class=\"woocommerce-Price-currencySymbol\">&#36;</span>21.99</span>",
#     "on_sale": false,
#     "purchasable": true,
#     "total_sales": 0,
#     "virtual": false,
#     "downloadable": false,
#     "downloads": [
#     ],
#     "download_limit": -1,
#     "download_expiry": -1,
#     "external_url": "",
#     "button_text": "",
#     "tax_status": "taxable",
#     "tax_class": "",
#     "manage_stock": false,
#     "stock_quantity": null,
#     "stock_status": "instock",
#     "backorders": "no",
#     "backorders_allowed": false,
#     "backordered": false,
#     "sold_individually": false,
#     "weight": "",
#     "dimensions": {
#       "length": "",
#       "width": "",
#       "height": ""
#     },
#     "shipping_required": true,
#     "shipping_taxable": true,
#     "shipping_class": "",
#     "shipping_class_id": 0,
#     "reviews_allowed": true,
#     "average_rating": "0.00",
#     "rating_count": 0,
#     "related_ids": [
#       463,
#       47,
#       31,
#       387,
#       458
#     ],
#     "upsell_ids": [
#     ],
#     "cross_sell_ids": [
#     ],
#     "parent_id": 0,
#     "purchase_note": "",
#     "categories": [
#       {
#         "id": 9,
#         "name": "Clothing",
#         "slug": "clothing"
#       },
#       {
#         "id": 14,
#         "name": "T-shirts",
#         "slug": "t-shirts"
#       }
#     ],
#     "tags": [
#     ],
#     "images": [
#       {
#         "id": 792,
#         "date_created": "2017-03-23T14:01:13",
#         "date_created_gmt": "2017-03-23T20:01:13",
#         "date_modified": "2017-03-23T14:01:13",
#         "date_modified_gmt": "2017-03-23T20:01:13",
#         "src": "https://example.com/wp-content/uploads/2017/03/T_2_front-4.jpg",
#         "name": "",
#         "alt": ""
#       },
#       {
#         "id": 793,
#         "date_created": "2017-03-23T14:01:14",
#         "date_created_gmt": "2017-03-23T20:01:14",
#         "date_modified": "2017-03-23T14:01:14",
#         "date_modified_gmt": "2017-03-23T20:01:14",
#         "src": "https://example.com/wp-content/uploads/2017/03/T_2_back-2.jpg",
#         "name": "",
#         "alt": ""
#       }
#     ],
#     "attributes": [
#     ],
#     "default_attributes": [
#       {
#         "id": 6,
#         "name": "Color",
#         "option": "black"
#       },
#       {
#         "id": 0,
#         "name": "Size",
#         "option": "S"
#       }
#     ],
#     "variations": [
#     ],
#     "grouped_products": [
#     ],
#     "menu_order": 0,
#     "meta_data": [
#     ],
#     "_links": {
#       "self": [
#         {
#           "href": "https://example.com/wp-json/wc/v3/products/794"
#         }
#       ],
#       "collection": [
#         {
#           "href": "https://example.com/wp-json/wc/v3/products"
#         }
#       ]
#     }
#   }
# ]

# Sample code for parsing the JSON response...
# Use the following online tool to generate parsing code from sample JSON:
# Generate Parsing Code from JSON

$date_created = New-Object Chilkat.DtObj
$date_created_gmt = New-Object Chilkat.DtObj
$date_modified = New-Object Chilkat.DtObj
$date_modified_gmt = New-Object Chilkat.DtObj
$date_on_sale_from = New-Object Chilkat.DtObj
$date_on_sale_from_gmt = New-Object Chilkat.DtObj
$date_on_sale_to = New-Object Chilkat.DtObj
$date_on_sale_to_gmt = New-Object Chilkat.DtObj

$i = 0
$count_i = $jarrResp.Size
while ($i -lt $count_i) {
    $json = $jarrResp.ObjectAt($i)
    $id = $json.IntOf("id")
    $name = $json.StringOf("name")
    $slug = $json.StringOf("slug")
    $permalink = $json.StringOf("permalink")
    $json.DtOf("date_created",$false,$date_created)
    $json.DtOf("date_created_gmt",$false,$date_created_gmt)
    $json.DtOf("date_modified",$false,$date_modified)
    $json.DtOf("date_modified_gmt",$false,$date_modified_gmt)
    $v_type = $json.StringOf("type")
    $status = $json.StringOf("status")
    $featured = $json.BoolOf("featured")
    $catalog_visibility = $json.StringOf("catalog_visibility")
    $description = $json.StringOf("description")
    $short_description = $json.StringOf("short_description")
    $sku = $json.StringOf("sku")
    $price = $json.StringOf("price")
    $regular_price = $json.StringOf("regular_price")
    $sale_price = $json.StringOf("sale_price")
    $json.DtOf("date_on_sale_from",$false,$date_on_sale_from)
    $json.DtOf("date_on_sale_from_gmt",$false,$date_on_sale_from_gmt)
    $json.DtOf("date_on_sale_to",$false,$date_on_sale_to)
    $json.DtOf("date_on_sale_to_gmt",$false,$date_on_sale_to_gmt)
    $price_html = $json.StringOf("price_html")
    $on_sale = $json.BoolOf("on_sale")
    $purchasable = $json.BoolOf("purchasable")
    $total_sales = $json.IntOf("total_sales")
    $v_virtual = $json.BoolOf("virtual")
    $downloadable = $json.BoolOf("downloadable")
    $download_limit = $json.IntOf("download_limit")
    $download_expiry = $json.IntOf("download_expiry")
    $external_url = $json.StringOf("external_url")
    $button_text = $json.StringOf("button_text")
    $tax_status = $json.StringOf("tax_status")
    $tax_class = $json.StringOf("tax_class")
    $manage_stock = $json.BoolOf("manage_stock")
    $stock_quantity = $json.StringOf("stock_quantity")
    $stock_status = $json.StringOf("stock_status")
    $backorders = $json.StringOf("backorders")
    $backorders_allowed = $json.BoolOf("backorders_allowed")
    $backordered = $json.BoolOf("backordered")
    $sold_individually = $json.BoolOf("sold_individually")
    $weight = $json.StringOf("weight")
    $dimensionsLength = $json.StringOf("dimensions.length")
    $dimensionsWidth = $json.StringOf("dimensions.width")
    $dimensionsHeight = $json.StringOf("dimensions.height")
    $shipping_required = $json.BoolOf("shipping_required")
    $shipping_taxable = $json.BoolOf("shipping_taxable")
    $shipping_class = $json.StringOf("shipping_class")
    $shipping_class_id = $json.IntOf("shipping_class_id")
    $reviews_allowed = $json.BoolOf("reviews_allowed")
    $average_rating = $json.StringOf("average_rating")
    $rating_count = $json.IntOf("rating_count")
    $parent_id = $json.IntOf("parent_id")
    $purchase_note = $json.StringOf("purchase_note")
    $menu_order = $json.IntOf("menu_order")
    $j = 0
    $count_j = $json.SizeOfArray("downloads")
    while ($j -lt $count_j) {
        $json.J = $j
        $j = $j + 1
    }

    $j = 0
    $count_j = $json.SizeOfArray("related_ids")
    while ($j -lt $count_j) {
        $json.J = $j
        $intVal = $json.IntOf("related_ids[j]")
        $j = $j + 1
    }

    $j = 0
    $count_j = $json.SizeOfArray("upsell_ids")
    while ($j -lt $count_j) {
        $json.J = $j
        $j = $j + 1
    }

    $j = 0
    $count_j = $json.SizeOfArray("cross_sell_ids")
    while ($j -lt $count_j) {
        $json.J = $j
        $j = $j + 1
    }

    $j = 0
    $count_j = $json.SizeOfArray("categories")
    while ($j -lt $count_j) {
        $json.J = $j
        $id = $json.IntOf("categories[j].id")
        $name = $json.StringOf("categories[j].name")
        $slug = $json.StringOf("categories[j].slug")
        $j = $j + 1
    }

    $j = 0
    $count_j = $json.SizeOfArray("tags")
    while ($j -lt $count_j) {
        $json.J = $j
        $j = $j + 1
    }

    $j = 0
    $count_j = $json.SizeOfArray("images")
    while ($j -lt $count_j) {
        $json.J = $j
        $id = $json.IntOf("images[j].id")
        $json.DtOf("images[j].date_created",$false,$date_created)
        $json.DtOf("images[j].date_created_gmt",$false,$date_created_gmt)
        $json.DtOf("images[j].date_modified",$false,$date_modified)
        $json.DtOf("images[j].date_modified_gmt",$false,$date_modified_gmt)
        $src = $json.StringOf("images[j].src")
        $name = $json.StringOf("images[j].name")
        $alt = $json.StringOf("images[j].alt")
        $j = $j + 1
    }

    $j = 0
    $count_j = $json.SizeOfArray("attributes")
    while ($j -lt $count_j) {
        $json.J = $j
        $id = $json.IntOf("attributes[j].id")
        $name = $json.StringOf("attributes[j].name")
        $position = $json.IntOf("attributes[j].position")
        $visible = $json.BoolOf("attributes[j].visible")
        $variation = $json.BoolOf("attributes[j].variation")
        $k = 0
        $count_k = $json.SizeOfArray("attributes[j].options")
        while ($k -lt $count_k) {
            $json.K = $k
            $strVal = $json.StringOf("attributes[j].options[k]")
            $k = $k + 1
        }

        $j = $j + 1
    }

    $j = 0
    $count_j = $json.SizeOfArray("default_attributes")
    while ($j -lt $count_j) {
        $json.J = $j
        $id = $json.IntOf("default_attributes[j].id")
        $name = $json.StringOf("default_attributes[j].name")
        $v_option = $json.StringOf("default_attributes[j].option")
        $j = $j + 1
    }

    $j = 0
    $count_j = $json.SizeOfArray("variations")
    while ($j -lt $count_j) {
        $json.J = $j
        $j = $j + 1
    }

    $j = 0
    $count_j = $json.SizeOfArray("grouped_products")
    while ($j -lt $count_j) {
        $json.J = $j
        $j = $j + 1
    }

    $j = 0
    $count_j = $json.SizeOfArray("meta_data")
    while ($j -lt $count_j) {
        $json.J = $j
        $j = $j + 1
    }

    $j = 0
    $count_j = $json.SizeOfArray("_links.self")
    while ($j -lt $count_j) {
        $json.J = $j
        $href = $json.StringOf("_links.self[j].href")
        $j = $j + 1
    }

    $j = 0
    $count_j = $json.SizeOfArray("_links.collection")
    while ($j -lt $count_j) {
        $json.J = $j
        $href = $json.StringOf("_links.collection[j].href")
        $j = $j + 1
    }

    $i = $i + 1
}