Sample code for 30+ languages & platforms
Xbase++

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 Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oRest
LOCAL nBAutoReconnect
LOCAL oSbJson
LOCAL cJsonResponseStr

nSuccess := 0

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

oRest := CreateObject("Chilkat.Rest")

//  Connect using TLS.
nBAutoReconnect := 1
nSuccess := oRest:Connect("my-store.com", 443, 1, nBAutoReconnect)

//  test_product.txt contains this string:
oSbJson := CreateObject("Chilkat.StringBuilder")
oSbJson:Append('{"create": [{"name": "Woo Single #1","type": "simple","regular_price": "21.99"}]}')

//  Add query parameters

//  Add the Content-Type HTTP request header.
nSuccess := oRest:AddHeader("Content-Type", "application/json")

cJsonResponseStr := oRest:FullRequestString("POST", "/wp-json/wc/v2/products/batch?consumer_key=YOUR_CONSUMER_KEY&consumer_secret=YOUR_CONSUMER_SECRET", oSbJson:GetAsString())
IF (oRest:LastMethodSuccess != 1)
    ? oRest:LastErrorText
    oRest:destroy()
    oSbJson:destroy()
    RETURN
ENDIF

//  Show the JSON response.  (See below for a sample JSON response.)
? "Json Response: " + cJsonResponseStr

oRest:destroy()
oSbJson:destroy()