notifications-api-v1
The Selling Partner API for Notifications lets you subscribe to notifications that are relevant to a selling partner's business. Using this API you can create a destination to receive notifications, subscribe to notifications, delete notification subscriptions, and more.
For more information, see the Notifications Use Case Guide.
Documentation
Learn more about this Selling Partner API by visiting the official documentation.
Also, see the generated documentation for this API client.
Installing
yarn add @sp-api-sdk/notifications-api-v1
npm install @sp-api-sdk/notifications-api-v1
Getting Started
With grantless API
import {SellingPartnerApiAuth, AuthorizationScope} from '@sp-api-sdk/auth'
import {NotificationsApiClient} from '@sp-api-sdk/notifications-api-v1'
const auth = new SellingPartnerApiAuth({
clientId: process.env.LWA_CLIENT_ID,
clientSecret: process.env.LWA_CLIENT_SECRET,
scopes: [AuthorizationScope.NOTIFICATIONS],
accessKeyId: '',
secretAccessKey: '',
role: {
arn: 'arn:aws:iam::…',
}
})
const client = new NotificationsApiClient({
auth,
region: 'eu'
})
With access token
import {SellingPartnerApiAuth} from '@sp-api-sdk/auth'
import {NotificationsApiClient} from '@sp-api-sdk/notifications-api-v1'
const auth = new SellingPartnerApiAuth({
clientId: process.env.LWA_CLIENT_ID,
clientSecret: process.env.LWA_CLIENT_SECRET,
refreshToken: 'Atzr|…',
accessKeyId: '',
secretAccessKey: '',
role: {
arn: 'arn:aws:iam::…',
},
})
const client = new NotificationsApiClient({
auth,
region: 'eu',
})
Rate Limiting
In order to retry rate limited requests (HTTP 429), you can configure the API client as such:
const client = new NotificationsApiClient({
auth,
region: 'eu',
rateLimiting: {
retry: true,
onRetry: (retryInfo) => {
console.log(retryInfo)
},
},
})
The rate limits used for each route are specified in the API documentation.
Logging
You can enable logging for both SP-API requests and responses by configuring the logging.request
and logging.response
properties.
const client = new NotificationsApiClient({
auth,
region: 'eu',
logging: {
request: {
logger: console.debug
},
response: {
logger: console.debug
},
error: true,
},
})
Specifying true
will use the default options, specifying an object will allow you to override the default options.
This uses axios-logger under the hood.
By default, if enabled, the request
and response
loggers will use console.info
and the error
logger will use console.error
.
License
MIT
Miscellaneous
╚⊙ ⊙╝
╚═(███)═╝
╚═(███)═╝
╚═(███)═╝
╚═(███)═╝
╚═(███)═╝
╚═(███)═╝