This is a Singer tap that produces JSON-formatted data following the Singer spec.
This tap:
- Pulls raw data from Amazon SP API
- Extracts the following resources:
- Outputs the schema for each resource
- Incrementally pulls data based on the input state
pip install tap-amazon-sp
- Follow Singer.io Best Practices for setting up separate
tap
andtarget
virtualenvs to avoid version conflicts. - Create a config file ~/config.json with Amazon Seller Partner API credentials. Multiple accounts across
different marketplaces are supported. Here is a list of marketplace names.
{ "accounts": [ { "selling_partner_id": "NA_SELLING_PARTNER_ID", "marketplaces": ["US", "MX", "CA"], "refresh_token": "env[NA_REFRESH_TOKEN]" }, { "selling_partner_id": "AU_SELLING_PARTNER_ID", "marketplaces": ["AU"], "refresh_token": "env[AU_REFRESH_TOKEN]" } ], "access_key_id": "ACCESS_KEY_ID", "secret_access_key": "env[SECRET_ACCESS_KEY]", "sp_role_arn": "arn:aws:iam::1234567890:role/RoleName", "lwa_client_id": "CLIENT_ID", "lwa_client_secret": "env[LWA_CLIENT_SECRET]", "start_date": "2021-01-01T00:00:00Z", "rate_limit_backoff_seconds": 60 }
- Discover catalog:
tap-amazon-sp -c config.json -d > catalog.json
- Select
orders
stream in the generatedcatalog.json
.... "stream": "orders", "metadata": [ { "breadcrumb": [], "metadata": { "table-key-properties": [ "AmazonOrderId" ], "forced-replication-method": "INCREMENTAL", "valid-replication-keys": [ "LastUpdateDate" ], "inclusion": "available", "selected": true <-- Somewhere in the huge catalog file, in stream metadata. } }, ... ] ...
- Use following command to sync all orders with order items, buyer info and shipping address (when available).
tap-amazon-sp -c config.json --catalog catalog.json > output.txt
Copyright © 2021 Vibe Inc