Seller Forums
Sign in
Sign in
user profile
Sign in
user profile
Sign in
user profile
Seller_h7T0V8faac5Nw

How To Get Variations Product From Amazon seller-central API

I am integrating Amazon for a store. In Amazon, every product has a default variation, but I couldn’t find it in Amazon’s documentation, has anyone experienced this process?

I read this document but i can’t find it . https://developer-docs.amazon.com/sp-api/docs/what-is-the-selling-partner-api.

i want get variation of every classificationid without ASIN number
for example Books doesn’t have default variation but shoes have default variations (size - color )
i want get list of variations every category with api

24 views
1 reply
10
Reply
1 reply
user profile
Seller_E4y6o7Wv464xm

package lambda;

import com.amazonaws.services.dynamodbv2.AmazonDynamoDB;

import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder;

import com.amazonaws.services.dynamodbv2.model.AttributeValue;

import com.amazonaws.services.dynamodbv2.model.GetItemRequest;

import com.amazonaws.services.dynamodbv2.model.GetItemResult;

import com.amazonaws.services.lambda.runtime.Context;

import com.amazonaws.services.lambda.runtime.LambdaLogger;

import com.amazonaws.services.lambda.runtime.RequestHandler;

import io.swagger.client.model.mfn.PackageDimensions;

import io.swagger.client.model.mfn.UnitOfLength;

import io.swagger.client.model.mfn.UnitOfWeight;

import io.swagger.client.model.mfn.Weight;

import lambda.utils.MfnOrder;

import lambda.utils.MfnOrderItem;

import java.math.BigDecimal;

import java.util.HashMap;

import java.util.Map;

import static java.lang.Long.parseLong;

import static lambda.utils.Constants.INVENTORY_TABLE_HASH_KEY_NAME;

import static lambda.utils.Constants.INVENTORY_TABLE_HEIGTH_ATTRIBUTE_NAME;

import static lambda.utils.Constants.INVENTORY_TABLE_LENGTH_ATTRIBUTE_NAME;

import static lambda.utils.Constants.INVENTORY_TABLE_NAME_ENV_VARIABLE;

import static lambda.utils.Constants.INVENTORY_TABLE_SIZE_UNIT_ATTRIBUTE_NAME;

import static lambda.utils.Constants.INVENTORY_TABLE_STOCK_ATTRIBUTE_NAME;

import static lambda.utils.Constants.INVENTORY_TABLE_WEIGHT_UNIT_ATTRIBUTE_NAME;

import static lambda.utils.Constants.INVENTORY_TABLE_WEIGHT_VALUE_ATTRIBUTE_NAME;

import static lambda.utils.Constants.INVENTORY_TABLE_WIDTH_ATTRIBUTE_NAME;

public class InventoryCheckHandler implements RequestHandler<MfnOrder, MfnOrder> {

public MfnOrder handleRequest(MfnOrder input, Context context) {

LambdaLogger logger = context.getLogger();

logger.log("InventoryCheck Lambda input: " + input);

long packageWeightValue = 0;

String packageWeightUnit = "";

long packageLength = 0;

long packageWidth = 0;

long packageHeight = 0;

String packageSizeUnit = "";

//Iterate over all order items and retrieve stock, size and weight from the database

for (MfnOrderItem orderItem : input.getOrderItems()) {

//Retrieve the item from DynamoDB by SKU

//Update this section to match your product's logic

Map<String, AttributeValue> key = new HashMap<>();

key.put(INVENTORY_TABLE_HASH_KEY_NAME, new AttributeValue(orderItem.getSku()));

GetItemRequest getItemRequest = new GetItemRequest()

.withTableName(System.getenv(INVENTORY_TABLE_NAME_ENV_VARIABLE))

.withKey(key);

AmazonDynamoDB dynamoDB = AmazonDynamoDBClientBuilder.defaultClient();

GetItemResult getItemResult = dynamoDB.getItem(getItemRequest);

Map<String, AttributeValue> item = getItemResult.getItem();

String stock = item.get(INVENTORY_TABLE_STOCK_ATTRIBUTE_NAME).getN();

if (parseLong(stock) < orderItem.getQuantity()) {

throw new InternalError(

String.format("Stock level for SKU {%s} is not enough to fulfill the requested quantity",

orderItem.getSku()));

}

long itemWeightValue = parseLong(item.get(INVENTORY_TABLE_WEIGHT_VALUE_ATTRIBUTE_NAME).getN());

//Valid values for the database records are uppercase: [OZ, G]

String itemWeightUnit = item.get(INVENTORY_TABLE_WEIGHT_UNIT_ATTRIBUTE_NAME).getS();

long itemLength = parseLong(item.get(INVENTORY_TABLE_LENGTH_ATTRIBUTE_NAME).getN());

long itemWidth = parseLong(item.get(INVENTORY_TABLE_WIDTH_ATTRIBUTE_NAME).getN());

long itemHeight = parseLong(item.get(INVENTORY_TABLE_HEIGTH_ATTRIBUTE_NAME).getN());

//Valid values for the database records are uppercase: [INCHES, CENTIMETERS]

String itemSizeUnit = item.get(INVENTORY_TABLE_SIZE_UNIT_ATTRIBUTE_NAME).getS();

Weight itemWeight = new Weight();

itemWeight.setValue(BigDecimal.valueOf(itemWeightValue));

itemWeight.setUnit(UnitOfWeight.valueOf(itemWeightUnit));

orderItem.setItemWeight(itemWeight);

//Package weight is calculated by adding the individual weights

//Update this section to match your selling partners' logic

packageWeightValue += itemWeightValue;

packageWeightUnit = itemWeightUnit;

//Package size is calculated by adding the individual sizes

//Update this section to match your selling partners' logic

packageLength += itemLength;

packageWidth += itemWidth;

packageHeight += itemHeight;

packageSizeUnit = itemSizeUnit;

}

input.setWeight(new Weight()

.value(BigDecimal.valueOf(packageWeightValue))

.unit(UnitOfWeight.valueOf(packageWeightUnit)));

input.setPackageDimensions(new PackageDimensions()

.length(BigDecimal.valueOf(packageLength))

.width(BigDecimal.valueOf(packageWidth))

.height(BigDecimal.valueOf(packageHeight))

.unit(UnitOfLength.valueOf(packageSizeUnit)));

return input;

}

}

00
There are no more posts to display
user profile
Seller_h7T0V8faac5Nw

How To Get Variations Product From Amazon seller-central API

I am integrating Amazon for a store. In Amazon, every product has a default variation, but I couldn’t find it in Amazon’s documentation, has anyone experienced this process?

I read this document but i can’t find it . https://developer-docs.amazon.com/sp-api/docs/what-is-the-selling-partner-api.

i want get variation of every classificationid without ASIN number
for example Books doesn’t have default variation but shoes have default variations (size - color )
i want get list of variations every category with api

24 views
1 reply
10
Reply
user profile

How To Get Variations Product From Amazon seller-central API

by Seller_h7T0V8faac5Nw

I am integrating Amazon for a store. In Amazon, every product has a default variation, but I couldn’t find it in Amazon’s documentation, has anyone experienced this process?

I read this document but i can’t find it . https://developer-docs.amazon.com/sp-api/docs/what-is-the-selling-partner-api.

i want get variation of every classificationid without ASIN number
for example Books doesn’t have default variation but shoes have default variations (size - color )
i want get list of variations every category with api

Tags:ASIN
10
24 views
1 reply
Reply
1 reply
1 reply
Quick filters
Sort by
user profile
Seller_E4y6o7Wv464xm

package lambda;

import com.amazonaws.services.dynamodbv2.AmazonDynamoDB;

import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder;

import com.amazonaws.services.dynamodbv2.model.AttributeValue;

import com.amazonaws.services.dynamodbv2.model.GetItemRequest;

import com.amazonaws.services.dynamodbv2.model.GetItemResult;

import com.amazonaws.services.lambda.runtime.Context;

import com.amazonaws.services.lambda.runtime.LambdaLogger;

import com.amazonaws.services.lambda.runtime.RequestHandler;

import io.swagger.client.model.mfn.PackageDimensions;

import io.swagger.client.model.mfn.UnitOfLength;

import io.swagger.client.model.mfn.UnitOfWeight;

import io.swagger.client.model.mfn.Weight;

import lambda.utils.MfnOrder;

import lambda.utils.MfnOrderItem;

import java.math.BigDecimal;

import java.util.HashMap;

import java.util.Map;

import static java.lang.Long.parseLong;

import static lambda.utils.Constants.INVENTORY_TABLE_HASH_KEY_NAME;

import static lambda.utils.Constants.INVENTORY_TABLE_HEIGTH_ATTRIBUTE_NAME;

import static lambda.utils.Constants.INVENTORY_TABLE_LENGTH_ATTRIBUTE_NAME;

import static lambda.utils.Constants.INVENTORY_TABLE_NAME_ENV_VARIABLE;

import static lambda.utils.Constants.INVENTORY_TABLE_SIZE_UNIT_ATTRIBUTE_NAME;

import static lambda.utils.Constants.INVENTORY_TABLE_STOCK_ATTRIBUTE_NAME;

import static lambda.utils.Constants.INVENTORY_TABLE_WEIGHT_UNIT_ATTRIBUTE_NAME;

import static lambda.utils.Constants.INVENTORY_TABLE_WEIGHT_VALUE_ATTRIBUTE_NAME;

import static lambda.utils.Constants.INVENTORY_TABLE_WIDTH_ATTRIBUTE_NAME;

public class InventoryCheckHandler implements RequestHandler<MfnOrder, MfnOrder> {

public MfnOrder handleRequest(MfnOrder input, Context context) {

LambdaLogger logger = context.getLogger();

logger.log("InventoryCheck Lambda input: " + input);

long packageWeightValue = 0;

String packageWeightUnit = "";

long packageLength = 0;

long packageWidth = 0;

long packageHeight = 0;

String packageSizeUnit = "";

//Iterate over all order items and retrieve stock, size and weight from the database

for (MfnOrderItem orderItem : input.getOrderItems()) {

//Retrieve the item from DynamoDB by SKU

//Update this section to match your product's logic

Map<String, AttributeValue> key = new HashMap<>();

key.put(INVENTORY_TABLE_HASH_KEY_NAME, new AttributeValue(orderItem.getSku()));

GetItemRequest getItemRequest = new GetItemRequest()

.withTableName(System.getenv(INVENTORY_TABLE_NAME_ENV_VARIABLE))

.withKey(key);

AmazonDynamoDB dynamoDB = AmazonDynamoDBClientBuilder.defaultClient();

GetItemResult getItemResult = dynamoDB.getItem(getItemRequest);

Map<String, AttributeValue> item = getItemResult.getItem();

String stock = item.get(INVENTORY_TABLE_STOCK_ATTRIBUTE_NAME).getN();

if (parseLong(stock) < orderItem.getQuantity()) {

throw new InternalError(

String.format("Stock level for SKU {%s} is not enough to fulfill the requested quantity",

orderItem.getSku()));

}

long itemWeightValue = parseLong(item.get(INVENTORY_TABLE_WEIGHT_VALUE_ATTRIBUTE_NAME).getN());

//Valid values for the database records are uppercase: [OZ, G]

String itemWeightUnit = item.get(INVENTORY_TABLE_WEIGHT_UNIT_ATTRIBUTE_NAME).getS();

long itemLength = parseLong(item.get(INVENTORY_TABLE_LENGTH_ATTRIBUTE_NAME).getN());

long itemWidth = parseLong(item.get(INVENTORY_TABLE_WIDTH_ATTRIBUTE_NAME).getN());

long itemHeight = parseLong(item.get(INVENTORY_TABLE_HEIGTH_ATTRIBUTE_NAME).getN());

//Valid values for the database records are uppercase: [INCHES, CENTIMETERS]

String itemSizeUnit = item.get(INVENTORY_TABLE_SIZE_UNIT_ATTRIBUTE_NAME).getS();

Weight itemWeight = new Weight();

itemWeight.setValue(BigDecimal.valueOf(itemWeightValue));

itemWeight.setUnit(UnitOfWeight.valueOf(itemWeightUnit));

orderItem.setItemWeight(itemWeight);

//Package weight is calculated by adding the individual weights

//Update this section to match your selling partners' logic

packageWeightValue += itemWeightValue;

packageWeightUnit = itemWeightUnit;

//Package size is calculated by adding the individual sizes

//Update this section to match your selling partners' logic

packageLength += itemLength;

packageWidth += itemWidth;

packageHeight += itemHeight;

packageSizeUnit = itemSizeUnit;

}

input.setWeight(new Weight()

.value(BigDecimal.valueOf(packageWeightValue))

.unit(UnitOfWeight.valueOf(packageWeightUnit)));

input.setPackageDimensions(new PackageDimensions()

.length(BigDecimal.valueOf(packageLength))

.width(BigDecimal.valueOf(packageWidth))

.height(BigDecimal.valueOf(packageHeight))

.unit(UnitOfLength.valueOf(packageSizeUnit)));

return input;

}

}

00
There are no more posts to display
user profile
Seller_E4y6o7Wv464xm

package lambda;

import com.amazonaws.services.dynamodbv2.AmazonDynamoDB;

import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder;

import com.amazonaws.services.dynamodbv2.model.AttributeValue;

import com.amazonaws.services.dynamodbv2.model.GetItemRequest;

import com.amazonaws.services.dynamodbv2.model.GetItemResult;

import com.amazonaws.services.lambda.runtime.Context;

import com.amazonaws.services.lambda.runtime.LambdaLogger;

import com.amazonaws.services.lambda.runtime.RequestHandler;

import io.swagger.client.model.mfn.PackageDimensions;

import io.swagger.client.model.mfn.UnitOfLength;

import io.swagger.client.model.mfn.UnitOfWeight;

import io.swagger.client.model.mfn.Weight;

import lambda.utils.MfnOrder;

import lambda.utils.MfnOrderItem;

import java.math.BigDecimal;

import java.util.HashMap;

import java.util.Map;

import static java.lang.Long.parseLong;

import static lambda.utils.Constants.INVENTORY_TABLE_HASH_KEY_NAME;

import static lambda.utils.Constants.INVENTORY_TABLE_HEIGTH_ATTRIBUTE_NAME;

import static lambda.utils.Constants.INVENTORY_TABLE_LENGTH_ATTRIBUTE_NAME;

import static lambda.utils.Constants.INVENTORY_TABLE_NAME_ENV_VARIABLE;

import static lambda.utils.Constants.INVENTORY_TABLE_SIZE_UNIT_ATTRIBUTE_NAME;

import static lambda.utils.Constants.INVENTORY_TABLE_STOCK_ATTRIBUTE_NAME;

import static lambda.utils.Constants.INVENTORY_TABLE_WEIGHT_UNIT_ATTRIBUTE_NAME;

import static lambda.utils.Constants.INVENTORY_TABLE_WEIGHT_VALUE_ATTRIBUTE_NAME;

import static lambda.utils.Constants.INVENTORY_TABLE_WIDTH_ATTRIBUTE_NAME;

public class InventoryCheckHandler implements RequestHandler<MfnOrder, MfnOrder> {

public MfnOrder handleRequest(MfnOrder input, Context context) {

LambdaLogger logger = context.getLogger();

logger.log("InventoryCheck Lambda input: " + input);

long packageWeightValue = 0;

String packageWeightUnit = "";

long packageLength = 0;

long packageWidth = 0;

long packageHeight = 0;

String packageSizeUnit = "";

//Iterate over all order items and retrieve stock, size and weight from the database

for (MfnOrderItem orderItem : input.getOrderItems()) {

//Retrieve the item from DynamoDB by SKU

//Update this section to match your product's logic

Map<String, AttributeValue> key = new HashMap<>();

key.put(INVENTORY_TABLE_HASH_KEY_NAME, new AttributeValue(orderItem.getSku()));

GetItemRequest getItemRequest = new GetItemRequest()

.withTableName(System.getenv(INVENTORY_TABLE_NAME_ENV_VARIABLE))

.withKey(key);

AmazonDynamoDB dynamoDB = AmazonDynamoDBClientBuilder.defaultClient();

GetItemResult getItemResult = dynamoDB.getItem(getItemRequest);

Map<String, AttributeValue> item = getItemResult.getItem();

String stock = item.get(INVENTORY_TABLE_STOCK_ATTRIBUTE_NAME).getN();

if (parseLong(stock) < orderItem.getQuantity()) {

throw new InternalError(

String.format("Stock level for SKU {%s} is not enough to fulfill the requested quantity",

orderItem.getSku()));

}

long itemWeightValue = parseLong(item.get(INVENTORY_TABLE_WEIGHT_VALUE_ATTRIBUTE_NAME).getN());

//Valid values for the database records are uppercase: [OZ, G]

String itemWeightUnit = item.get(INVENTORY_TABLE_WEIGHT_UNIT_ATTRIBUTE_NAME).getS();

long itemLength = parseLong(item.get(INVENTORY_TABLE_LENGTH_ATTRIBUTE_NAME).getN());

long itemWidth = parseLong(item.get(INVENTORY_TABLE_WIDTH_ATTRIBUTE_NAME).getN());

long itemHeight = parseLong(item.get(INVENTORY_TABLE_HEIGTH_ATTRIBUTE_NAME).getN());

//Valid values for the database records are uppercase: [INCHES, CENTIMETERS]

String itemSizeUnit = item.get(INVENTORY_TABLE_SIZE_UNIT_ATTRIBUTE_NAME).getS();

Weight itemWeight = new Weight();

itemWeight.setValue(BigDecimal.valueOf(itemWeightValue));

itemWeight.setUnit(UnitOfWeight.valueOf(itemWeightUnit));

orderItem.setItemWeight(itemWeight);

//Package weight is calculated by adding the individual weights

//Update this section to match your selling partners' logic

packageWeightValue += itemWeightValue;

packageWeightUnit = itemWeightUnit;

//Package size is calculated by adding the individual sizes

//Update this section to match your selling partners' logic

packageLength += itemLength;

packageWidth += itemWidth;

packageHeight += itemHeight;

packageSizeUnit = itemSizeUnit;

}

input.setWeight(new Weight()

.value(BigDecimal.valueOf(packageWeightValue))

.unit(UnitOfWeight.valueOf(packageWeightUnit)));

input.setPackageDimensions(new PackageDimensions()

.length(BigDecimal.valueOf(packageLength))

.width(BigDecimal.valueOf(packageWidth))

.height(BigDecimal.valueOf(packageHeight))

.unit(UnitOfLength.valueOf(packageSizeUnit)));

return input;

}

}

00
user profile
Seller_E4y6o7Wv464xm

package lambda;

import com.amazonaws.services.dynamodbv2.AmazonDynamoDB;

import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder;

import com.amazonaws.services.dynamodbv2.model.AttributeValue;

import com.amazonaws.services.dynamodbv2.model.GetItemRequest;

import com.amazonaws.services.dynamodbv2.model.GetItemResult;

import com.amazonaws.services.lambda.runtime.Context;

import com.amazonaws.services.lambda.runtime.LambdaLogger;

import com.amazonaws.services.lambda.runtime.RequestHandler;

import io.swagger.client.model.mfn.PackageDimensions;

import io.swagger.client.model.mfn.UnitOfLength;

import io.swagger.client.model.mfn.UnitOfWeight;

import io.swagger.client.model.mfn.Weight;

import lambda.utils.MfnOrder;

import lambda.utils.MfnOrderItem;

import java.math.BigDecimal;

import java.util.HashMap;

import java.util.Map;

import static java.lang.Long.parseLong;

import static lambda.utils.Constants.INVENTORY_TABLE_HASH_KEY_NAME;

import static lambda.utils.Constants.INVENTORY_TABLE_HEIGTH_ATTRIBUTE_NAME;

import static lambda.utils.Constants.INVENTORY_TABLE_LENGTH_ATTRIBUTE_NAME;

import static lambda.utils.Constants.INVENTORY_TABLE_NAME_ENV_VARIABLE;

import static lambda.utils.Constants.INVENTORY_TABLE_SIZE_UNIT_ATTRIBUTE_NAME;

import static lambda.utils.Constants.INVENTORY_TABLE_STOCK_ATTRIBUTE_NAME;

import static lambda.utils.Constants.INVENTORY_TABLE_WEIGHT_UNIT_ATTRIBUTE_NAME;

import static lambda.utils.Constants.INVENTORY_TABLE_WEIGHT_VALUE_ATTRIBUTE_NAME;

import static lambda.utils.Constants.INVENTORY_TABLE_WIDTH_ATTRIBUTE_NAME;

public class InventoryCheckHandler implements RequestHandler<MfnOrder, MfnOrder> {

public MfnOrder handleRequest(MfnOrder input, Context context) {

LambdaLogger logger = context.getLogger();

logger.log("InventoryCheck Lambda input: " + input);

long packageWeightValue = 0;

String packageWeightUnit = "";

long packageLength = 0;

long packageWidth = 0;

long packageHeight = 0;

String packageSizeUnit = "";

//Iterate over all order items and retrieve stock, size and weight from the database

for (MfnOrderItem orderItem : input.getOrderItems()) {

//Retrieve the item from DynamoDB by SKU

//Update this section to match your product's logic

Map<String, AttributeValue> key = new HashMap<>();

key.put(INVENTORY_TABLE_HASH_KEY_NAME, new AttributeValue(orderItem.getSku()));

GetItemRequest getItemRequest = new GetItemRequest()

.withTableName(System.getenv(INVENTORY_TABLE_NAME_ENV_VARIABLE))

.withKey(key);

AmazonDynamoDB dynamoDB = AmazonDynamoDBClientBuilder.defaultClient();

GetItemResult getItemResult = dynamoDB.getItem(getItemRequest);

Map<String, AttributeValue> item = getItemResult.getItem();

String stock = item.get(INVENTORY_TABLE_STOCK_ATTRIBUTE_NAME).getN();

if (parseLong(stock) < orderItem.getQuantity()) {

throw new InternalError(

String.format("Stock level for SKU {%s} is not enough to fulfill the requested quantity",

orderItem.getSku()));

}

long itemWeightValue = parseLong(item.get(INVENTORY_TABLE_WEIGHT_VALUE_ATTRIBUTE_NAME).getN());

//Valid values for the database records are uppercase: [OZ, G]

String itemWeightUnit = item.get(INVENTORY_TABLE_WEIGHT_UNIT_ATTRIBUTE_NAME).getS();

long itemLength = parseLong(item.get(INVENTORY_TABLE_LENGTH_ATTRIBUTE_NAME).getN());

long itemWidth = parseLong(item.get(INVENTORY_TABLE_WIDTH_ATTRIBUTE_NAME).getN());

long itemHeight = parseLong(item.get(INVENTORY_TABLE_HEIGTH_ATTRIBUTE_NAME).getN());

//Valid values for the database records are uppercase: [INCHES, CENTIMETERS]

String itemSizeUnit = item.get(INVENTORY_TABLE_SIZE_UNIT_ATTRIBUTE_NAME).getS();

Weight itemWeight = new Weight();

itemWeight.setValue(BigDecimal.valueOf(itemWeightValue));

itemWeight.setUnit(UnitOfWeight.valueOf(itemWeightUnit));

orderItem.setItemWeight(itemWeight);

//Package weight is calculated by adding the individual weights

//Update this section to match your selling partners' logic

packageWeightValue += itemWeightValue;

packageWeightUnit = itemWeightUnit;

//Package size is calculated by adding the individual sizes

//Update this section to match your selling partners' logic

packageLength += itemLength;

packageWidth += itemWidth;

packageHeight += itemHeight;

packageSizeUnit = itemSizeUnit;

}

input.setWeight(new Weight()

.value(BigDecimal.valueOf(packageWeightValue))

.unit(UnitOfWeight.valueOf(packageWeightUnit)));

input.setPackageDimensions(new PackageDimensions()

.length(BigDecimal.valueOf(packageLength))

.width(BigDecimal.valueOf(packageWidth))

.height(BigDecimal.valueOf(packageHeight))

.unit(UnitOfLength.valueOf(packageSizeUnit)));

return input;

}

}

00
Reply
There are no more posts to display

Similar Discussions

Similar Discussions

Go to original post