Sample code for 30+ languages & platforms
Pascal (Lazarus/Delphi)

WIN Air Freight - Send New Pouch Request

See more HTTP Misc Examples

Sends a "POST /api/v1/Awb" to send a new pouch request.

Chilkat Pascal (Lazarus/Delphi) Downloads

Pascal (Lazarus/Delphi)
program ChilkatDemo;

// Demonstrates using the Chilkat Pascal wrapper via the C bridge DLL.
// Builds as a console application under Lazarus (FPC) or Delphi.

{$IFDEF FPC}
  {$MODE DELPHI}
{$ENDIF}
{$APPTYPE CONSOLE}

uses
  {$IFDEF UNIX}
  cthreads,
  {$ENDIF}
  SysUtils,
  CkDllLoader,
  Chilkat.Http,
  Chilkat.HttpResponse,
  Chilkat.Xml;

// ---------------------------------------------------------------------------

procedure RunDemo;
var
  success: Boolean;
  http: THttp;
  xml: TXml;
  httpRequestBody: string;
  resp: THttpResponse;
  xmlResponse: TXml;

begin
  success := False;

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

  http := THttp.Create;

  //  Set the "Accept" header to tell the web server that we'll accept an XML response.
  http.Accept := 'application/xml';

  //  Tell Chilkat to cache any received cookies to files in a particular directory
  http.CookieDir := 'c:/qa_data/cookies';
  http.SaveCookies := True;

  //  Also tell Chilkat to load and send matching cookies from the CookieDir.
  //  The authToken cookie is first obtained in the login request. Each subsequent
  //  request sends the authToken cookie and saves the new authToken cookie to the CookieDir.
  http.SendCookies := True;

  //  Build out XML pouch request...
  xml := TXml.Create;
  xml.Tag := 'PouchDTO';
  xml.UpdateChildContent('Mawb|AwbID','');
  xml.UpdateChildContent('Mawb|AwbNumber','001-12312123');
  xml.UpdateChildContent('Mawb|AwbStatus','D');
  xml.UpdateChildContent('Mawb|eAWB','false');
  xml.UpdateChildContent('Mawb|WithPaper','false');
  xml.UpdateChildContent('Mawb|Parties|Shipper|WinID','444444');
  xml.UpdateChildContent('Mawb|Parties|Shipper|AccountNumber','12345');
  xml.UpdateChildContent('Mawb|Parties|Shipper|Name','AABC SHIPPING & PACKAGING, INC.');
  xml.UpdateChildContent('Mawb|Parties|Shipper|Phone','111-222-3334');
  xml.UpdateChildContent('Mawb|Parties|Shipper|Fax','222-111-3334');
  xml.UpdateChildContent('Mawb|Parties|Shipper|Email','');
  xml.UpdateChildContent('Mawb|Parties|Shipper|Address|Line1','500 HARBOR DRIVE');
  xml.UpdateChildContent('Mawb|Parties|Shipper|Address|Line2','SUITE B1211');
  xml.UpdateChildContent('Mawb|Parties|Shipper|Address|Place','BEAUFORT');
  xml.UpdateChildContent('Mawb|Parties|Shipper|Address|PostalCode','28516');
  xml.UpdateChildContent('Mawb|Parties|Shipper|Address|StateProvince','NC');
  xml.UpdateChildContent('Mawb|Parties|Shipper|Address|Country|Code','US');
  xml.UpdateChildContent('Mawb|Parties|Shipper|Address|Country|Name','U.S.A.');
  xml.UpdateChildContent('Mawb|Parties|Consignee|WinID','0');
  xml.UpdateChildContent('Mawb|Parties|Consignee|AccountNumber','');
  xml.UpdateChildContent('Mawb|Parties|Consignee|Name','DELTA MANUFACTURING');
  xml.UpdateChildContent('Mawb|Parties|Consignee|Phone','444-555-3333');
  xml.UpdateChildContent('Mawb|Parties|Consignee|Fax','');
  xml.UpdateChildContent('Mawb|Parties|Consignee|Email','');
  xml.UpdateChildContent('Mawb|Parties|Consignee|Address|Line1','185 RUE LAMANDE');
  xml.UpdateChildContent('Mawb|Parties|Consignee|Address|Line2','');
  xml.UpdateChildContent('Mawb|Parties|Consignee|Address|Place','PARIS');
  xml.UpdateChildContent('Mawb|Parties|Consignee|Address|PostalCode','75017');
  xml.UpdateChildContent('Mawb|Parties|Consignee|Address|StateProvince','');
  xml.UpdateChildContent('Mawb|Parties|Consignee|Address|Country|Code','FR');
  xml.UpdateChildContent('Mawb|Parties|Consignee|Address|Country|Name','FRANCE');
  xml.UpdateChildContent('Mawb|Parties|Notify|WinID','');
  xml.UpdateChildContent('Mawb|Parties|Notify|AccountNumber','');
  xml.UpdateChildContent('Mawb|Parties|Notify|Name','AABC SHIPPING, INC.');
  xml.UpdateChildContent('Mawb|Parties|Notify|Phone','');
  xml.UpdateChildContent('Mawb|Parties|Notify|Fax','');
  xml.UpdateChildContent('Mawb|Parties|Notify|Email','');
  xml.UpdateChildContent('Mawb|Parties|Notify|Address|Line1','110 FARA WAY');
  xml.UpdateChildContent('Mawb|Parties|Notify|Address|Line2','');
  xml.UpdateChildContent('Mawb|Parties|Notify|Address|Place','OZ');
  xml.UpdateChildContent('Mawb|Parties|Notify|Address|PostalCode','11222');
  xml.UpdateChildContent('Mawb|Parties|Notify|Address|StateProvince','NY');
  xml.UpdateChildContent('Mawb|Parties|Notify|Address|Country|Code','US');
  xml.UpdateChildContent('Mawb|Parties|Notify|Address|Country|Name','U.S.A.');
  xml.UpdateChildContent('Mawb|Parties|Agent|WinID','');
  xml.UpdateChildContent('Mawb|Parties|Agent|AccountNumber','FACCT#1234');
  xml.UpdateChildContent('Mawb|Accounting|Identifier','GEN');
  xml.UpdateChildContent('Mawb|Accounting|Information','SARFWER');
  xml.UpdateChildContent('Mawb|Accounting|Identifier','MCO');
  xml.UpdateChildContent('Mawb|Accounting|Information','WERWERWER');
  xml.UpdateChildContent('Mawb|ShipmentReference|ReferenceNumber','ZDFASF');
  xml.UpdateChildContent('Mawb|ShipmentReference|AdditionalInformation','ZDFASF');
  xml.UpdateChildContent('Mawb|RoutingDetails|FromAirportCode','EWN');
  xml.UpdateChildContent('Mawb|RoutingDetails|ToAirportCode','LON');
  xml.UpdateChildContent('Mawb|RoutingDetails|CarrierCode','AA');
  xml.UpdateChildContent('Mawb|RoutingDetails|FlightNumber','N123');
  xml.UpdateChildContent('Mawb|RoutingDetails|FlightDate','2016-11-30T00:00:00');
  xml.UpdateChildContent('Mawb|ChargesDeclaration|CurrencyCode','USD');
  xml.UpdateChildContent('Mawb|ChargesDeclaration|ChargeCode','PP');
  xml.UpdateChildContent('Mawb|ChargesDeclaration|WeightOrValuation','P');
  xml.UpdateChildContent('Mawb|ChargesDeclaration|Other','P');
  xml.UpdateChildContent('Mawb|ChargesDeclaration|ValuesForCarriage','1300.00');
  xml.UpdateChildContent('Mawb|ChargesDeclaration|ValuesForCustoms','12000.00');
  xml.UpdateChildContent('Mawb|ChargesDeclaration|ValuesForInsurance','11000.00');
  xml.UpdateChildContent('Mawb|Handling|SpecialServiceInformation','Please Notify Consigneetestwwwww');
  xml.UpdateChildContent('Mawb|Handling|OtherServiceInformation','');
  xml.UpdateChildContent('Mawb|Handling|SCI','');
  xml.UpdateChildContent('Mawb|Handling|SpecialHandling|Code','AOG');
  xml.UpdateChildContent('Mawb|Handling|SpecialHandling|Code','ATT');
  xml.UpdateChildContent('Mawb|Rates|NumberOfPieces','12');
  xml.UpdateChildContent('Mawb|Rates|GrossWeight|Value','244.70');
  xml.UpdateChildContent('Mawb|Rates|GrossWeight|UOM','L');
  xml.UpdateChildContent('Mawb|Rates|SLAC','12');
  xml.UpdateChildContent('Mawb|Rates|RateClassCode','N');
  xml.UpdateChildContent('Mawb|Rates|CommodityItemNumber','');
  xml.UpdateChildContent('Mawb|Rates|ChargeableWeight','245.0');
  xml.UpdateChildContent('Mawb|Rates|RateOrCharge','8.00');
  xml.UpdateChildContent('Mawb|Rates|ChargeAmount','1960.00');
  xml.UpdateChildContent('Mawb|Rates|NatureAndQuantityOfGoods','CONSOLIDATION PER ATTACHED MANIFEST.');
  xml.UpdateChildContent('Mawb|Rates|Dims|Pcs','12');
  xml.UpdateChildContent('Mawb|Rates|Dims|Length','4');
  xml.UpdateChildContent('Mawb|Rates|Dims|Width','8');
  xml.UpdateChildContent('Mawb|Rates|Dims|Height','4');
  xml.UpdateChildContent('Mawb|Rates|Dims|UOM','CMT');
  xml.UpdateChildContent('Mawb|ChargesSummary|WeightCharge','1960.00');
  xml.UpdateChildContent('Mawb|OtherCharges|Description','AW');
  xml.UpdateChildContent('Mawb|OtherCharges|Amount','123.00');
  xml.UpdateChildContent('Mawb|OtherCharges|ChargeIdentifier','C');
  xml.UpdateChildContent('Mawb|OtherCharges|PrepaidCollect','C');
  xml.UpdateChildContent('Mawb|OtherCharges|Description','FC');
  xml.UpdateChildContent('Mawb|OtherCharges|Amount','55.00');
  xml.UpdateChildContent('Mawb|OtherCharges|ChargeIdentifier','A');
  xml.UpdateChildContent('Mawb|OtherCharges|PrepaidCollect','P');
  xml.UpdateChildContent('Mawb|OtherCharges|Description','FC');
  xml.UpdateChildContent('Mawb|OtherCharges|Amount','101.00');
  xml.UpdateChildContent('Mawb|OtherCharges|ChargeIdentifier','C');
  xml.UpdateChildContent('Mawb|OtherCharges|PrepaidCollect','C');
  xml.UpdateChildContent('Mawb|EmailNotifications|Name','');
  xml.UpdateChildContent('Mawb|EmailNotifications|Email','');
  xml.UpdateChildContent('Mawb|EmailNotifications|Name','');
  xml.UpdateChildContent('Mawb|EmailNotifications|Email','');
  xml.UpdateChildContent('Mawb|EmailNotifications|Name','');
  xml.UpdateChildContent('Mawb|EmailNotifications|Email','');
  xml.UpdateChildContent('Mawb|EmailNotifications|Name','');
  xml.UpdateChildContent('Mawb|EmailNotifications|Email','');
  xml.UpdateChildContent('Mawb|Execution|Date','2015-08-07T00:00:00');
  xml.UpdateChildContent('Mawb|Execution|Place','OZ NY');
  xml.UpdateChildContent('Mawb|Execution|ShipperSignature','OAS FREIGHT FORWARDE');
  xml.UpdateChildContent('Mawb|Execution|CarrierSignature','OAS FREIGHT FORWARDE');
  xml.UpdateChildContent('Hawbs|AwbNumber','001-12312123');
  xml.UpdateChildContent('Hawbs|HawbNumber','CGL201107-27');
  xml.UpdateChildContent('Hawbs|HawbStatus','D');
  xml.UpdateChildContent('Hawbs|NumberOfPieces','12');
  xml.UpdateChildContent('Hawbs|GrossWeight|Value','244.70');
  xml.UpdateChildContent('Hawbs|GrossWeight|UOM','K');
  xml.UpdateChildContent('Hawbs|Locations|PortOfOrigin|Code','EWN');
  xml.UpdateChildContent('Hawbs|Locations|PortOfDestination|Code','LON');
  xml.UpdateChildContent('Hawbs|Commodity','HWB #: CGL20110');
  xml.UpdateChildContent('Hawbs|SLAC','12');
  xml.UpdateChildContent('Hawbs|Parties|Shipper|Name','ABC SHIPPNG AGAIN');
  xml.UpdateChildContent('Hawbs|Parties|Shipper|Phone','111-222-3333');
  xml.UpdateChildContent('Hawbs|Parties|Shipper|Fax','');
  xml.UpdateChildContent('Hawbs|Parties|Shipper|Email','');
  xml.UpdateChildContent('Hawbs|Parties|Shipper|Address|Line1','100 MAIN STREET');
  xml.UpdateChildContent('Hawbs|Parties|Shipper|Address|Place','OZ');
  xml.UpdateChildContent('Hawbs|Parties|Shipper|Address|PostalCode','ZIP');
  xml.UpdateChildContent('Hawbs|Parties|Shipper|Address|StateProvince','NY');
  xml.UpdateChildContent('Hawbs|Parties|Shipper|Address|Country|Code','US');
  xml.UpdateChildContent('Hawbs|Parties|Consignee|Name','AABC SHIPPING & PACKAGING, INC.');
  xml.UpdateChildContent('Hawbs|Parties|Consignee|Phone','111-222-3334');
  xml.UpdateChildContent('Hawbs|Parties|Consignee|Fax','222-111-3334');
  xml.UpdateChildContent('Hawbs|Parties|Consignee|Email','');
  xml.UpdateChildContent('Hawbs|Parties|Consignee|Address|Line1','500 HARBOR DRIVE');
  xml.UpdateChildContent('Hawbs|Parties|Consignee|Address|Place','BEAUFORT');
  xml.UpdateChildContent('Hawbs|Parties|Consignee|Address|PostalCode','28516');
  xml.UpdateChildContent('Hawbs|Parties|Consignee|Address|StateProvince','NC');
  xml.UpdateChildContent('Hawbs|Parties|Consignee|Address|Country|Code','US');
  xml.EmitXmlDecl := False;

  httpRequestBody := xml.GetXml();
  resp := THttpResponse.Create;
  success := http.HttpStr('POST','http://integration.winwebconnect.com/api/v1/Awb',httpRequestBody,'utf-8','application/xml',resp);
  if (success = False) then
    begin
      WriteLn(http.LastErrorText);
      Exit;
    end;

  xmlResponse := TXml.Create;
  xmlResponse.LoadXml(resp.BodyStr);

  //  See below for an example XML response body.
  WriteLn('Response Body:');
  WriteLn(xmlResponse.GetXml());
  WriteLn('---');

  WriteLn('Response Header:');
  WriteLn(resp.Header);
  WriteLn('Success.');


  http.Free;
  xml.Free;
  resp.Free;
  xmlResponse.Free;

end;

// ---------------------------------------------------------------------------

begin

  try
    RunDemo;
  except
    on E: Exception do
      WriteLn('Unhandled exception: ', E.ClassName, ': ', E.Message);
  end;

  WriteLn;
  {$IFDEF MSWINDOWS}
  WriteLn('Press Enter to exit...');
  ReadLn;
  {$ENDIF}
end.