C
C
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 C Downloads
#include <C_CkHttp.h>
#include <C_CkHttpRequest.h>
#include <C_CkHttpResponse.h>
void ChilkatSample(void)
{
BOOL success;
HCkHttp http;
HCkHttpRequest req;
HCkHttpResponse resp;
success = FALSE;
// This example assumes the Chilkat HTTP API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http = CkHttp_Create();
// 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.
req = CkHttpRequest_Create();
// Add query params
CkHttpRequest_AddParam(req,"Action","ListOrders");
CkHttpRequest_AddParam(req,"CreatedAfter","2016-12-31T23:00:00Z");
CkHttpRequest_AddParam(req,"MarketplaceId.Id.1","MWS_MARKETPLACE_ID");
CkHttpRequest_AddParam(req,"SellerId","MWS_SELLER_ID");
CkHttpRequest_AddParam(req,"AWSAccessKeyId","MWS_ACCESS_KEY_ID");
CkHttpRequest_AddParam(req,"SignatureVersion","2");
CkHttpRequest_AddParam(req,"SignatureMethod","HmacSHA256");
CkHttpRequest_AddParam(req,"Version","2013-09-01");
// Set the HTTP verb and path.
CkHttpRequest_putPath(req,"/Orders/2013-09-01");
CkHttpRequest_putHttpVerb(req,"POST");
// Add the MWS Signature after the verb, path, and all params have been set.
CkHttpRequest_AddMwsSignature(req,"mws.amazonservices.com","MWS_SECRET_ACCESS_KEY_ID");
CkHttpRequest_putContentType(req,"application/x-www-form-urlencoded");
resp = CkHttpResponse_Create();
success = CkHttp_HttpReq(http,"https://mws.amazonservices.com/Orders/2013-09-01",req,resp);
if (success == FALSE) {
printf("%s\n",CkHttp_lastErrorText(http));
CkHttp_Dispose(http);
CkHttpRequest_Dispose(req);
CkHttpResponse_Dispose(resp);
return;
}
if (CkHttpResponse_getStatusCode(resp) != 200) {
printf("Non-success status code: %d\n",CkHttpResponse_getStatusCode(resp));
printf("%s\n",CkHttpResponse_bodyStr(resp));
CkHttp_Dispose(http);
CkHttpRequest_Dispose(req);
CkHttpResponse_Dispose(resp);
return;
}
// Examine the XML returned in the response body.
printf("%s\n",CkHttpResponse_bodyStr(resp));
printf("----\n");
printf("Success.\n");
CkHttp_Dispose(http);
CkHttpRequest_Dispose(req);
CkHttpResponse_Dispose(resp);
}