Java
Chilkat2 Java
Amazon SP-API Create Feed Doc
See more Amazon SP-API Examples
Creates a feed document. Amazon returns a feedDocumentId value, encryption details, and a URL for uploading the feed contents.Chilkat Java Downloads
import com.chilkatsoft.chilkat2.AuthAws;
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.JsonObject;
import com.chilkatsoft.chilkat2.Rest;
import com.chilkatsoft.chilkat2.StringBuilder;
public class ChilkatExample {
public static void main(String[] args) {
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
AuthAws authAws = new AuthAws();
authAws.setAccessKey("AWS_ACCESS_KEY");
authAws.setSecretKey("AWS_SECRET_KEY");
authAws.setServiceName("execute-api");
// Use the region that is correct for your needs.
authAws.setRegion("eu-west-1");
Rest rest = new Rest();
try {
rest.connect("sellingpartnerapi-eu.amazon.com", 443, true, true);
} catch (ChilkatException e) {
System.out.println(e.getLastErrorText());
return;
}
rest.setAuthAws(authAws);
// Load the previously obtained LWA access token.
// See Fetch SP-API LWA Access Token
JsonObject jsonToken = new JsonObject();
try {
jsonToken.loadFile("qa_data/tokens/sp_api_lwa_token.json");
} catch (ChilkatException e) {
System.out.println("Failed to load LWA access token.");
return;
}
// Add the x-amz-access-token request header.
String lwa_token = jsonToken.stringOf("access_token");
JsonObject jsonReq = new JsonObject();
jsonReq.updateString("contentType", "text/tab-separated-values; charset=UTF-8");
StringBuilder sbRequest = new StringBuilder();
jsonReq.emitSb(sbRequest);
rest.clearAllQueryParams();
rest.clearAllHeaders();
rest.addHeader("x-amz-access-token", lwa_token);
StringBuilder sbResponse = new StringBuilder();
String path = "/feeds/2021-06-30/documents";
try {
rest.fullRequestSb("POST", path, sbRequest, sbResponse);
} catch (ChilkatException e) {
System.out.println(e.getLastErrorText());
return;
}
// Examine the response status.
int statusCode = rest.getResponseStatusCode();
System.out.println("statusCode: " + statusCode);
if (statusCode != 201) {
System.out.println("Response status text: " + rest.getResponseStatusText());
System.out.println("Response body: ");
System.out.println(sbResponse.getAsString());
System.out.println("Failed.");
return;
}
System.out.println(sbResponse.getAsString());
// If successful, gets a JSON response such as the following:
// {
// "feedDocumentId": "3d4e42b5-1d6e-44e8-a89c-2abfca0625bb",
// "url": "https://d34o8swod1owfl.cloudfront.net/Feed_101__POST_PRODUCT_DATA_.xml"
// }
// Use this online tool to generate parsing code from sample JSON:
// Generate Parsing Code from JSON
JsonObject json = new JsonObject();
json.loadSb(sbResponse);
String feedDocumentId = json.stringOf("feedDocumentId");
String url = json.stringOf("url");
// Save the JSON to a file for the example that uploads the feed..
json.writeFile("qa_data/json/sp_api_feed_upload_info.json");
System.out.println("Success!");
}
}