with Selling Partner API (SP-API) and PostgreSQL?
Emit new event when a new inbound shipment to FBA is created. See the documentation
Emit new event when a new column is added to a table. See the documentation
Emit new event when a new order is created in Amazon Seller Central. See the documentation
Emit new event when a row is added or modified. See the documentation
Emit new event when a new row is added to a table. See the documentation
Retrieves inventory summaries from Amazon fulfillment centers to monitor stock availability. See the documentation
Retrieves a list of orders based on a specified date range, buyer email, or order ID. See the documentation
Requests reports on sales, inventory, and fulfillment performance. See the documentation
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
amazon_selling_partner: {
type: "app",
app: "amazon_selling_partner",
}
},
async run({steps, $}) {
// Define the mapping between Seller Central URLs (from your App Config) and SP-API Endpoints
const getEndpoint = (sellerCentralUrl) => {
const na = "https://sellingpartnerapi-na.amazon.com";
const eu = "https://sellingpartnerapi-eu.amazon.com";
const fe = "https://sellingpartnerapi-fe.amazon.com";
const map = {
// North America
"https://sellercentral.amazon.com": na,
"https://sellercentral.amazon.ca": na,
"https://sellercentral.amazon.com.mx": na,
"https://sellercentral.amazon.com.br": na,
// Europe (The Big 5 often share one URL, but newer ones have specific URLs)
"https://sellercentral-europe.amazon.com": eu,
"https://sellercentral.amazon.com.be": eu,
"https://sellercentral.amazon.nl": eu,
"https://sellercentral.amazon.pl": eu,
"https://sellercentral.amazon.se": eu,
"https://sellercentral.amazon.com.tr": eu,
// India (Uses EU endpoint)
"https://sellercentral.amazon.in": eu,
// Far East
"https://sellercentral.amazon.sg": fe,
"https://sellercentral.amazon.com.au": fe,
"https://sellercentral.amazon.co.jp": fe,
};
return map[sellerCentralUrl];
};
// 1. Get the Marketplace URL selected by the user in the App Connection
const marketplaceUrl = this.amazon_selling_partner.$auth.marketplace;
// 2. Resolve the correct SP-API Endpoint
const apiEndpoint = getEndpoint(marketplaceUrl);
if (!apiEndpoint) {
throw new Error(`Could not map Seller Central URL (${marketplaceUrl}) to an SP-API Endpoint.`);
}
// 3. Make the request
return await axios($, {
url: `${apiEndpoint}/inbound/fba/2024-03-20/inboundPlans`,
headers: {
"x-amz-access-token": `${this.amazon_selling_partner.$auth.oauth_access_token}`,
},
});
},
})
On Pipedream, you can leverage the PostgreSQL app to create workflows that automate database operations, synchronize data across platforms, and react to database events in real-time. Think handling new row entries, updating records from webhooks, or even compiling reports on a set schedule. Pipedream's serverless platform provides a powerful way to connect PostgreSQL with a variety of apps, enabling you to create tailored automation that fits your specific needs.
import postgresql from "@pipedream/postgresql"
export default defineComponent({
props: {
postgresql,
},
async run({ steps, $ }) {
// Component source code:
// https://github.com/PipedreamHQ/pipedream/tree/master/components/postgresql
const queryObj = {
text: "SELECT NOW()",
values: [], // Ignored since query does not contain placeholders
};
return await this.postgresql.executeQuery(queryObj);
},
})