// define parameters for first request
Map<String, Object> mboxParameters1 = new HashMap<>();
mboxParameters1.put("status", "platinum");
// define parameters for second request
Map<String, Object> mboxParameters2 = new HashMap<>();
mboxParameters2.put("userType", "paid");
List<String> purchasedIds = new ArrayList<String>();
Map<String, Object> orderParameters2 = new HashMap<>();
orderParameters2.put("id", "ADCKKIM");
orderParameters2.put("total", "344.30");
orderParameters2.put("purchasedProductIds", purchasedIds);
Map<String, Object> productParameters2 = new HashMap<>();
productParameters2.put("id", "24D3412");
productParameters2.put("categoryId","Books");
TargetRequest request1 = new TargetRequest.Builder("mboxName1", "defaultContent1")
.setMboxParameters(mboxParameters1)
.setContentCallback(new AdobeCallback<String>() {
public void call(String value) {
// do something with target content.
TargetRequest request2 = new TargetRequest.Builder("mboxName2", "defaultContent2")
.setMboxParameters(mboxParameters2)
.setOrderParameters(orderParameters2)
.setProductParameters(productParameters2)
.setContentCallback(new AdobeCallback<String>() {
public void call(String value) {
// do something with target content.
// Creating Array of Request Objects
List<TargetRequest> locationRequests = new ArrayList<>();
locationRequests.add(request1);
locationRequests.add(request2);
// Define the profile parameters map.
Map<String, Object> profileParameters = new HashMap<>();
profileParameters.put("ageGroup", "20-32");
// Call the targetLoadRequests API.
Target.loadRequests(locationRequests, profileParameters);