Sample code for 30+ languages & platforms
Delphi DLL

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 Delphi DLL Downloads

Delphi DLL
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Rest, StringBuilder;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
rest: HCkRest;
bAutoReconnect: Boolean;
sbJson: HCkStringBuilder;
jsonResponseStr: PWideChar;

begin
success := False;

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

rest := CkRest_Create();

// Connect using TLS.
bAutoReconnect := True;
success := CkRest_Connect(rest,'my-store.com',443,True,bAutoReconnect);

// test_product.txt contains this string:
sbJson := CkStringBuilder_Create();
CkStringBuilder_Append(sbJson,'{"create": [{"name": "Woo Single #1","type": "simple","regular_price": "21.99"}]}');

// Add query parameters

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

jsonResponseStr := CkRest__fullRequestString(rest,'POST','/wp-json/wc/v2/products/batch?consumer_key=YOUR_CONSUMER_KEY&consumer_secret=YOUR_CONSUMER_SECRET',CkStringBuilder__getAsString(sbJson));
if (CkRest_getLastMethodSuccess(rest) <> True) then
  begin
    Memo1.Lines.Add(CkRest__lastErrorText(rest));
    Exit;
  end;

// Show the JSON response.  (See below for a sample JSON response.)
Memo1.Lines.Add('Json Response: ' + jsonResponseStr);

CkRest_Dispose(rest);
CkStringBuilder_Dispose(sbJson);

end;