UNPKG

@sp-api-sdk/orders-api-v0

Version:

Use the Orders Selling Partner API to programmatically retrieve order information. With this API, you can develop fast, flexible, and custom applications to manage order synchronization, perform order research, and create demand-based decision support too

81 lines (80 loc) 2.4 kB
import { createAxiosInstance } from '@sp-api-sdk/common'; import { Configuration, OrdersApi } from './api-model'; export const clientRateLimits = [ { method: 'get', // eslint-disable-next-line prefer-regex-literals urlRegex: new RegExp('^/orders/v0/orders$'), rate: 0.0167, burst: 20, }, { method: 'get', // eslint-disable-next-line prefer-regex-literals urlRegex: new RegExp('^/orders/v0/orders/[^/]*$'), rate: 0.5, burst: 30, }, { method: 'get', // eslint-disable-next-line prefer-regex-literals urlRegex: new RegExp('^/orders/v0/orders/[^/]*/buyerInfo$'), rate: 0.5, burst: 30, }, { method: 'get', // eslint-disable-next-line prefer-regex-literals urlRegex: new RegExp('^/orders/v0/orders/[^/]*/address$'), rate: 0.5, burst: 30, }, { method: 'get', // eslint-disable-next-line prefer-regex-literals urlRegex: new RegExp('^/orders/v0/orders/[^/]*/orderItems$'), rate: 0.5, burst: 30, }, { method: 'get', // eslint-disable-next-line prefer-regex-literals urlRegex: new RegExp('^/orders/v0/orders/[^/]*/orderItems/buyerInfo$'), rate: 0.5, burst: 30, }, { method: 'post', // eslint-disable-next-line prefer-regex-literals urlRegex: new RegExp('^/orders/v0/orders/[^/]*/shipment$'), rate: 5, burst: 15, }, { method: 'get', // eslint-disable-next-line prefer-regex-literals urlRegex: new RegExp('^/orders/v0/orders/[^/]*/regulatedInfo$'), rate: 0.5, burst: 30, }, { method: 'patch', // eslint-disable-next-line prefer-regex-literals urlRegex: new RegExp('^/orders/v0/orders/[^/]*/regulatedInfo$'), rate: 0.5, burst: 30, }, { method: 'post', // eslint-disable-next-line prefer-regex-literals urlRegex: new RegExp('^/orders/v0/orders/[^/]*/shipmentConfirmation$'), rate: 2, burst: 10, }, ]; export class OrdersApiClient extends OrdersApi { constructor(configuration) { const { axios, endpoint } = createAxiosInstance(configuration, clientRateLimits); super(new Configuration(), endpoint, axios); } }