airbytehq / airbyte

The leading data integration platform for ETL / ELT data pipelines from APIs, databases & files to data warehouses, data lakes & data lakehouses. Both self-hosted and Cloud-hosted.
https://airbyte.com
Other
15.56k stars 4.01k forks source link

New Connector: Amazon SP API #2935

Closed harshithmullapudi closed 3 years ago

harshithmullapudi commented 3 years ago

Tell us about the problem you're trying to solve

Need to get the Amazon MWS orders data to the destination

Describe the solution you’d like

Writing a connector for Amazon MWS and starting to support just orders features to get started

┆Issue is synchronized with this Asana task by Unito

sherifnada commented 3 years ago

@harshithmullapudi should we instead support the Sellers API as that seems to be the newer version of MWS?

sherifnada commented 3 years ago

Also @harshithmullapudi could you point to which endpoints in the API you'd like support for?

harshithmullapudi commented 3 years ago

yeah I also think we should support Sellers API. Thinking of starting with https://github.com/amzn/selling-partner-api-docs/blob/main/references/orders-api/ordersV0.md. @sherifnada

vitaliizazmic commented 3 years ago

Integration Vetting

The integration hasn't already been vetted. Selling Partner API (SP-API) is recommend to use for Source implementation. SP-API is the next generation suite of API-based automation functionality for Amazon's Selling Partners and is an evolution of Amazon Marketplace Web Service (Amazon MWS) APIs, which have been offering sellers programmatic access to critical Amazon features for more than 10 years

SP-API Documentation on GitHub

Please see the Selling Partner API Developer Guide for instructions to get started.

We must consider that there is difference for developing app for sellers and vendors.

Webhook-based? (no/partially/yes) No

Available authentication modes (API key/Oauth/other) The authorization model for the Selling Partner API is based on Login with Amazon, Amazon's implementation of OAuth 2.0. In this model the selling partner authorizes your application by interacting with pages displayed by Amazon and by your website.

The way applications are authorized depends on the application type. We can use self-authorization procedure. Before doing this we must register as a developer and register our application.

In the end of process we will obtain refresh token. Generating a new refresh token does not invalidate previous refresh tokens.

An Login with Amazon (LWA) refresh token is a long-lived token that is exchanged for an LWA access token. An access token obtained through this token exchange must be included with calls to all Selling Partner API operations except restricted operations and grantless operations, which use somewhat different authorization models. After an access token is issued it is valid for one hour. The same access token can be used for multiple API calls, until it expires.

To manually exchange a refresh token for an access token, see Connecting to the Selling Partner API.

Creating an account We can use existing account. Also free AWS account is available. We must register as a developer

How to populate the account with data? We can use Selling Partner API sandbox

Available streams for sync The references directory on GitHub contains API references for all available Selling Partner APIs. In order to use these APIs we must be a registered developer. Not all APIs are accessible by all registered developers and we must have approval from Amazon before can access these APIs.

It's requested to start from

Another APIs

Integration supports incremental sync? Partial

Other information/blockers Singer Tap doesn't exist.