Sample code for 30+ languages & platforms
Lua

Duplicate curl POST with JSON Body

See more REST Examples

Demonstrates how to duplicate the following curl command, which sends a POST w/ a JSON body.
curl -H "Content-Type: application/json" -i https://my-store.com/wp-json/wc/v2/products/batch?consumer_key=YOUR_CONSUMER_KEY&consumer_secret=YOUR_CONSUMER_SECRET  -d @test_product.txt

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

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

local rest = chilkat.Rest.new()

-- Connect using TLS.
local bAutoReconnect = true
local success = rest:connect("my-store.com", 443, true, bAutoReconnect)

-- test_product.txt contains this string:
local sbJson = chilkat.StringBuilder.new()
sbJson:append("{\"create\": [{\"name\": \"Woo Single #1\",\"type\": \"simple\",\"regular_price\": \"21.99\"}]}")

-- Add query parameters

-- Add the Content-Type HTTP request header.
success = rest:add_header("Content-Type", "application/json")

local jsonResponseStr = rest:full_request_string("POST", "/wp-json/wc/v2/products/batch?consumer_key=YOUR_CONSUMER_KEY&consumer_secret=YOUR_CONSUMER_SECRET", sbJson:get_as_string())
if not rest.last_method_success then
    print(rest.last_error_text)
    return
end

-- Show the JSON response.  (See below for a sample JSON response.)
print("Json Response: " .. jsonResponseStr)