Zig
Zig
MWS List Orders by Next Token (Amazon Marketplace Web Service)
See more Amazon MWS Examples
Returns the next page of orders using the NextToken parameter.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 requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// See MWS List Orders By Next Token for additional details
// We need to send a GET request like this:
// https://mws.amazonservices.jp/Orders/2013-09-01
// ?AWSAccessKeyId=0PB842EXAMPLE7N4ZTR2
// &Action=ListOrdersByNextToken
// &MWSAuthToken=amzn.mws.4ea38b7b-f563-7709-4bae-87aeaEXAMPLE
// &SellerId=A2986ZQ066CH2F
// &Signature=ZQLpf8vEXAMPLE0iC265pf18n0%3D
// &SignatureVersion=2
// &SignatureMethod=HmacSHA256
// &NextToken=2YgYW55IGNhcm5hbCBwbGVhc3VyZS4%3D
// &Timestamp=2017-02-05T18%3A12%3A21.687Z
// &Version=2013-09-01
const rest = try chilkat.Rest.init();
defer rest.deinit();
// Connect to the Amazon MWS REST server.
//
// Make sure to connect to the correct Amazon MWS Endpoint, 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
//
const b_tls = true;
const port = 443;
const b_auto_reconnect = true;
try rest.connect("mws.amazonservices.com", port, b_tls, b_auto_reconnect);
rest.setHost("mws.amazonservices.com");
// Add query params
rest.addQueryParam("NextToken", "THE_NEXT_TOKEN_FROM_THE_PREVIOUS_REPLY") catch {};
rest.addQueryParam("Action", "ListOrdersByNextToken") catch {};
rest.addQueryParam("MarketplaceId.Id.1", "MWS_MARKETPLACE_ID") catch {};
rest.addQueryParam("SellerId", "MWS_SELLER_ID") catch {};
rest.addQueryParam("AWSAccessKeyId", "MWS_ACCESS_KEY_ID") catch {};
rest.addQueryParam("SignatureVersion", "2") catch {};
rest.addQueryParam("SignatureMethod", "HmacSHA256") catch {};
rest.addQueryParam("Version", "2013-09-01") catch {};
// Add the MWS Signature param. (Also adds the Timestamp parameter using the curent system date/time.)
rest.addMwsSignature("POST", "/Orders/2013-09-01", "mws.amazonservices.com", "MWS_SECRET_ACCESS_KEY_ID") catch {};
const response_xml = rest.fullRequestFormUrlEncoded(alloc, "POST", "/Orders/2013-09-01") catch {
std.debug.print("{s}\n", .{try rest.getLastErrorText(alloc)});
return;
};
if (rest.getResponseStatusCode() != 200) {
// Examine the request/response to see what happened.
std.debug.print("response status code = {d}\n", .{rest.getResponseStatusCode()});
std.debug.print("response status text = {s}\n", .{try rest.getResponseStatusText(alloc)});
std.debug.print("response header: {s}\n", .{try rest.getResponseHeader(alloc)});
std.debug.print("response body: {s}\n", .{response_xml});
std.debug.print("---\n", .{});
std.debug.print("LastRequestStartLine: {s}\n", .{try rest.getLastRequestStartLine(alloc)});
std.debug.print("LastRequestHeader: {s}\n", .{try rest.getLastRequestHeader(alloc)});
}
// Examine the XML returned in the response body.
std.debug.print("{s}\n", .{response_xml});
std.debug.print("----\n", .{});
std.debug.print("Success.\n", .{});
}