Sample code for 30+ languages & platforms
Perl

ETrade v1 List Orders

See more HTTP Misc Examples

Gets the order details for a selected brokerage account based on the search criteria provided.

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

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

$http = chilkat::CkHttp->new();

$http->put_OAuth1(1);
$http->put_OAuthVerifier("");
$http->put_OAuthConsumerKey("ETRADE_CONSUMER_KEY");
$http->put_OAuthConsumerSecret("ETRADE_CONSUMER_SECRET");

# Load the access token previously obtained via the OAuth1 3-Legged Authorization examples Step1 and Step2.
$json = chilkat::CkJsonObject->new();
$success = $json->LoadFile("qa_data/tokens/etrade.json");
if ($success != 1) {
    print "Failed to load OAuth1 token" . "\r\n";
    exit;
}

$http->put_OAuthToken($json->stringOf("oauth_token"));
$http->put_OAuthTokenSecret($json->stringOf("oauth_token_secret"));

# See the ETrade v1 API documentation HERE.

$http->SetUrlVar("accountIdKey","vsnhtF7d9jXxBy6HyaAC4vQ");
$respStr = $http->quickGetStr("https://apisb.etrade.com/v1/accounts/{$accountIdKey}/orders?securityType=EQ&count=100");
if ($http->get_LastMethodSuccess() != 1) {
    print $http->lastErrorText() . "\r\n";
    exit;
}

# A 200 status code indicates success.
$statusCode = $http->get_LastStatus();
print "statusCode = " . $statusCode . "\r\n";

# Use the following online tool to generate parsing code from sample XML: 
# Generate Parsing Code from XML

# A sample XML response is shown below...

$xml = chilkat::CkXml->new();
$xml->LoadXml($respStr);

$i = 0;
$count_i = $xml->NumChildrenHavingTag("Order");
while ($i < $count_i) {
    $xml->put_I($i);
    $orderId = $xml->GetChildIntValue("Order[i]|orderId");
    $details = $xml->getChildContent("Order[i]|details");
    $orderType = $xml->getChildContent("Order[i]|orderType");
    $OrderDetail = $xml->getChildContent("Order[i]|OrderDetail");
    $i = $i + 1;
}

# Sample XML Response
# <?xml version="1.0" encoding="UTF-8"?>
# <OrdersResponse>
#    <Order>
#       <orderId>96</orderId>
#       <details>https://api.etrade.com/v1/accounts/ZrnXF-hPu853sBzwHfWGBQ/orders/96</details>
#       <orderType>EQ</orderType>
#       <OrderDetail>�</OrderDetail>
#    </Order>
#    <Order>
#       <orderId>95</orderId>
#       <details>https://api.etrade.com/v1/accounts/ZrnXF-hPu853sBzwHfWGBQ/orders/95</details>
#       <orderType>EQ</orderType>
#       <OrderDetail>�</OrderDetail>
#    </Order>
#    <Order>
#       <orderId>94</orderId>
#       <details>https://api.etrade.com/v1/accounts/ZrnXF-hPu853sBzwHfWGBQ/orders/94</details>
#       <orderType>EQ</orderType>
#       <OrderDetail>�</OrderDetail>
#    </Order>
#    <Order>
#       <orderId>93</orderId>
#       <details>https://api.etrade.com/v1/accounts/ZrnXF-hPu853sBzwHfWGBQ/orders/93</details>
#       <orderType>EQ</orderType>
#       <OrderDetail>�</OrderDetail>
#    </Order>
# </OrdersResponse>