Zig Requires Chilkat v11.0.0+
Zig
HTTPS MWS List Orders (Amazon Marketplace Web Service)
See more HTTP Misc Examples
Send an HTTPS MWS ListOrders request to return a list of orders created or updated during a time frame.Chilkat Zig Downloads
const std = @import("std");
const chilkat = @import("chilkat");
pub fn main(init: std.process.Init) !void {
const alloc = init.arena.allocator();
// This example assumes the Chilkat HTTP API to have been previously unlocked.
// See Global Unlock Sample for sample code.
const http = try chilkat.Http.init();
defer http.deinit();
// Make sure to connect to the correct Amazon MWS Endpoing, otherwise
// you'll get an HTTP 401 response code.
//
// The possible servers are:
//
// North America (NA) https://mws.amazonservices.com
// Europe (EU) https://mws-eu.amazonservices.com
// India (IN) https://mws.amazonservices.in
// China (CN) https://mws.amazonservices.com.cn
// Japan (JP) https://mws.amazonservices.jp
//
// Build the HTTP request.
const req = try chilkat.HttpRequest.init();
defer req.deinit();
// Add query params
req.addParam("Action", "ListOrders");
req.addParam("CreatedAfter", "2016-12-31T23:00:00Z");
req.addParam("MarketplaceId.Id.1", "MWS_MARKETPLACE_ID");
req.addParam("SellerId", "MWS_SELLER_ID");
req.addParam("AWSAccessKeyId", "MWS_ACCESS_KEY_ID");
req.addParam("SignatureVersion", "2");
req.addParam("SignatureMethod", "HmacSHA256");
req.addParam("Version", "2013-09-01");
// Set the HTTP verb and path.
req.setPath("/Orders/2013-09-01");
req.setHttpVerb("POST");
// Add the MWS Signature after the verb, path, and all params have been set.
req.addMwsSignature("mws.amazonservices.com", "MWS_SECRET_ACCESS_KEY_ID") catch {};
req.setContentType("application/x-www-form-urlencoded");
const resp = try chilkat.HttpResponse.init();
defer resp.deinit();
http.httpReq("https://mws.amazonservices.com/Orders/2013-09-01", req, resp) catch {
std.debug.print("{s}\n", .{try http.getLastErrorText(alloc)});
return;
};
if (resp.getStatusCode() != 200) {
std.debug.print("Non-success status code: {d}\n", .{resp.getStatusCode()});
std.debug.print("{s}\n", .{try resp.getBodyStr(alloc)});
return;
}
// Examine the XML returned in the response body.
std.debug.print("{s}\n", .{try resp.getBodyStr(alloc)});
std.debug.print("----\n", .{});
std.debug.print("Success.\n", .{});
}