Sample code for 30+ languages & platforms
PureBasic

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 PureBasic Downloads

PureBasic
IncludeFile "CkRest.pb"
IncludeFile "CkStringBuilder.pb"

Procedure ChilkatExample()

    success.i = 0

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

    rest.i = CkRest::ckCreate()
    If rest.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    ; Connect using TLS.
    bAutoReconnect.i = 1
    success = CkRest::ckConnect(rest,"my-store.com",443,1,bAutoReconnect)

    ; test_product.txt contains this string:
    sbJson.i = CkStringBuilder::ckCreate()
    If sbJson.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkStringBuilder::ckAppend(sbJson,"{" + Chr(34) + "create" + Chr(34) + ": [{" + Chr(34) + "name" + Chr(34) + ": " + Chr(34) + "Woo Single #1" + Chr(34) + "," + Chr(34) + "type" + Chr(34) + ": " + Chr(34) + "simple" + Chr(34) + "," + Chr(34) + "regular_price" + Chr(34) + ": " + Chr(34) + "21.99" + Chr(34) + "}]}")

    ; Add query parameters

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

    jsonResponseStr.s = CkRest::ckFullRequestString(rest,"POST","/wp-json/wc/v2/products/batch?consumer_key=YOUR_CONSUMER_KEY&consumer_secret=YOUR_CONSUMER_SECRET",CkStringBuilder::ckGetAsString(sbJson))
    If CkRest::ckLastMethodSuccess(rest) <> 1
        Debug CkRest::ckLastErrorText(rest)
        CkRest::ckDispose(rest)
        CkStringBuilder::ckDispose(sbJson)
        ProcedureReturn
    EndIf

    ; Show the JSON response.  (See below for a sample JSON response.)
    Debug "Json Response: " + jsonResponseStr


    CkRest::ckDispose(rest)
    CkStringBuilder::ckDispose(sbJson)


    ProcedureReturn
EndProcedure