Chilkat Examples

ChilkatHOMEAndroid™Classic ASPCC++C#Mono C#.NET Core C#C# UWP/WinRTDataFlexDelphi ActiveXDelphi DLLVisual FoxProJavaLianjaMFCObjective-CPerlPHP ActiveXPHP ExtensionPowerBuilderPowerShellPureBasicCkPythonChilkat2-PythonRubySQL ServerSwift 2Swift 3/4TclUnicode CUnicode C++Visual Basic 6.0VB.NETVB.NET UWP/WinRTVBScriptXojo PluginNode.jsExcelGo

Node.js Web API Examples

Primary Categories

Facebook
GeoOp
Jira
PayPal
Peoplevox
QuickBooks

Shopify
Stripe
SugarCRM
Twitter
VoiceBase
Walmart
Xero
eBay
effectconnect

 

 

 

(Node.js) Peoplevox GetReportData

Demonstrates how to export data from a Peoplevox Warehouse Management System (WMS) using a system report template.

Install Chilkat for Node.js and Electron using npm at

Chilkat npm packages for Node.js

Chilkat npm packages for Electron

on Windows, Linux, MacOSX, and ARM

var os = require('os');
if (os.platform() == 'win32') {  
    if (os.arch() == 'ia32') {
        var chilkat = require('@chilkat/ck-node11-win-ia32');
    } else {
        var chilkat = require('@chilkat/ck-node11-win64'); 
    }
} else if (os.platform() == 'linux') {
    if (os.arch() == 'arm') {
        var chilkat = require('@chilkat/ck-node11-arm');
    } else if (os.arch() == 'x86') {
        var chilkat = require('@chilkat/ck-node11-linux32');
    } else {
        var chilkat = require('@chilkat/ck-node11-linux64');
    }
} else if (os.platform() == 'darwin') {
    var chilkat = require('@chilkat/ck-node11-macosx');
}

function chilkatExample() {

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

    var success;

    // Sends a POST that looks like this:

    // 	POST /PEOPLEVOX_CLIENT_ID/resources/integrationservicev4.asmx HTTP/1.1
    // 	Content-Type: text/xml;charset=UTF-8
    // 	SOAPAction: http://www.peoplevox.net/GetReportData
    // 	Content-Length: (automatically computed and added by Chilkat)
    // 	Host: qac.peoplevox.net
    // 
    // 	<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:peop="http://www.peoplevox.net/">
    // 	   <soap:Header>
    // 	      <peop:UserSessionCredentials>
    // 	         <peop:UserId>PEOPLEVOX_USER_ID</peop:UserId>
    // 	         <peop:ClientId>PEOPLEVOX_CLIENT_ID</peop:ClientId>
    // 	         <peop:SessionId>PEOPLEVOX_SESSION_ID</peop:SessionId>
    // 	      </peop:UserSessionCredentials>
    // 	   </soap:Header>
    //         <soap:Body>
    //           <peop:GetReportData>
    //              <peop:getReportRequest>
    //                 <peop:TemplateName>Item movement history</peop:TemplateName>
    //                 <peop:PageNo>1</peop:PageNo>
    //                 <peop:ItemsPerPage>20</peop:ItemsPerPage>
    //                 <peop:OrderBy>[Date timestamp]</peop:OrderBy>
    //                 <peop:Columns>[Item code],[Date timestamp],[From],[To],[Quantity],[Comments]</peop:Columns>
    //                 <peop:SearchClause>([Date timestamp] > DateTime(2016,01,01,09,00,00))</peop:SearchClause>
    //              </peop:getReportRequest>
    //           </peop:GetReportData>
    //        </soap:Body>
    // 	</soap:Envelope>
    // 

    // Notice that a UserId is needed here.  This is different than the username required for Peoplevox authentication.
    //    The UserId for the admin account is 1.
    //     
    var sbSoapXml = new chilkat.StringBuilder();
    sbSoapXml.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n");
    sbSoapXml.Append("<soap:Envelope xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:peop=\"http://www.peoplevox.net/\">\r\n");
    sbSoapXml.Append("   <soap:Header>\r\n");
    sbSoapXml.Append("      <peop:UserSessionCredentials>\r\n");
    sbSoapXml.Append("         <peop:UserId>PEOPLEVOX_USER_ID</peop:UserId>\r\n");
    sbSoapXml.Append("         <peop:ClientId>PEOPLEVOX_CLIENT_ID</peop:ClientId>\r\n");
    sbSoapXml.Append("         <peop:SessionId>PEOPLEVOX_SESSION_ID</peop:SessionId>\r\n");
    sbSoapXml.Append("      </peop:UserSessionCredentials>\r\n");
    sbSoapXml.Append("   </soap:Header>\r\n");
    sbSoapXml.Append("   <soap:Body>\r\n");
    sbSoapXml.Append("      <peop:GetReportData>\r\n");
    sbSoapXml.Append("         <peop:getReportRequest>\r\n");
    sbSoapXml.Append("            <peop:TemplateName>Item movement history</peop:TemplateName>\r\n");
    sbSoapXml.Append("            <peop:PageNo>1</peop:PageNo>\r\n");
    sbSoapXml.Append("            <peop:ItemsPerPage>20</peop:ItemsPerPage>\r\n");
    sbSoapXml.Append("            <peop:OrderBy>[Date timestamp]</peop:OrderBy>\r\n");
    sbSoapXml.Append("            <peop:Columns>[Item code],[Date timestamp],[From],[To],[Quantity],[Comments]</peop:Columns>\r\n");
    sbSoapXml.Append("            <peop:SearchClause>([Date timestamp] > DateTime(2016,01,01,09,00,00))</peop:SearchClause>\r\n");
    sbSoapXml.Append("         </peop:getReportRequest>\r\n");
    sbSoapXml.Append("      </peop:GetReportData>\r\n");
    sbSoapXml.Append("   </soap:Body>\r\n");
    sbSoapXml.Append("</soap:Envelope>");

    var req = new chilkat.HttpRequest();
    req.HttpVerb = "POST";
    req.SendCharset = true;
    req.Charset = "utf-8";
    req.AddHeader("Content-Type","text/xml");
    req.AddHeader("SOAPAction","http://www.peoplevox.net/GetReportData");
    req.Path = "/PEOPLEVOX_CLIENT_ID/resources/integrationservicev4.asmx";
    success = req.LoadBodyFromString(sbSoapXml.GetAsString(),"utf-8");

    var http = new chilkat.Http();
    http.FollowRedirects = true;

    // resp: HttpResponse
    var resp = http.SynchronousRequest("qac.peoplevox.net",443,true,req);
    if (http.LastMethodSuccess !== true) {
        console.log(http.LastErrorText);
        return;
    }

    // We should expect a 200 response if successful.
    if (resp.StatusCode !== 200) {
        console.log("Response StatusCode = " + resp.StatusCode);
        console.log("Response StatusLine: " + resp.StatusLine);
        console.log("Response Header:");
        console.log(resp.Header);
        console.log(resp.BodyStr);
        return;
    }

    var xmlResponse = new chilkat.Xml();
    success = xmlResponse.LoadXml(resp.BodyStr);
    console.log(xmlResponse.GetXml());

    var detail = xmlResponse.ChilkatPath("soap:Body|GetReportDataResponse|GetReportDataResult|Detail|*");

    var csv = new chilkat.Csv();
    csv.HasColumnNames = true;
    csv.LoadFromString(detail);

    console.log("NumRows = " + csv.NumRows);
    console.log("NumColumns = " + csv.NumColumns);

    // Iterate over the rows, getting the ItemCode, Name, and Barcode
    var i = 0;
    var numRows = csv.NumRows;
    while (i < numRows) {
        console.log("Item code: " + csv.GetCellByName(i,"Item code"));
        console.log("Date timestamp: " + csv.GetCellByName(i,"Date timestamp"));
        console.log("From: " + csv.GetCellByName(i,"From"));
        console.log("To: " + csv.GetCellByName(i,"To"));
        console.log("Quantity: " + csv.GetCellByName(i,"Quantity"));
        console.log("Comments: " + csv.GetCellByName(i,"Comments"));
        console.log("-");
        i = i+1;
    }


}

chilkatExample();

 

© 2000-2019 Chilkat Software, Inc. All Rights Reserved.