The RFR Seller Portal API provides access to three core endpoints for managing products, sales, and inventory data. All endpoints support advanced querying with pagination, sorting, and filtering capabilities.
https://nprityok25.execute-api.eu-north-1.amazonaws.com/prod
All API requests require an API key to be included in the request headers. The API key authenticates your requests and ensures secure access to the data.
Header Format:
Your API Key:
Retrieve product catalog information including SKU, name, brand, category, pricing, and vendor details. The database contains approximately 15,739 products.
Query Parameters:
Page number for pagination (default: 1)
Number of records per page (default: 50, max: 500)
Field name to sort by (e.g., "price", "name", "brand", "category", "stock")
Sort direction: "asc" or "desc" (default: asc)
Filter by any field (e.g., brand=NIKE, category=BIKES, vendor_code=S1748)
Response Fields:
sku - Product SKU identifier
name - Product name/description
brand - Product brand
category - Product category
price - Product price
stock - Available stock quantity
vendor_code - Vendor identifier code
vendor_name - Vendor business name
curl Examples:
Basic Request:
Pagination Example:
Filtering Example:
Sorting Example:
Combined Parameters Example:
Sample Response:
Retrieve sales transaction data including quantities sold, selling prices, values, and site information. The database contains approximately 20,174 sales records.
Query Parameters:
Page number for pagination (default: 1)
Number of records per page (default: 50, max: 500)
Field name to sort by (e.g., "selling_value", "sold_quantity", "selling_price")
Sort direction: "asc" or "desc" (default: asc)
Filter by any field (e.g., brand=NIKE, site_code=12004, vendor_code=S1350)
Filter by SKU and vendor combination: "SKU#VENDOR_CODE" (e.g., "197057313464#S1748")
Response Fields:
sku - Product SKU identifier
sku_vendor - Composite key (SKU#VENDOR_CODE)
name - Product name/description
brand - Product brand
category - Product category
sold_quantity - Quantity of units sold
selling_price - Unit selling price
selling_value - Total sales value (quantity × price)
site_code - Store/site code
site_description - Store/site name
vendor_code - Vendor identifier code
vendor_name - Vendor business name
curl Examples:
Basic Request:
Pagination Example:
Filtering by Composite Key:
Sorting by Sales Value:
Combined Parameters Example:
Sample Response:
Retrieve inventory stock data including on-hand quantities, stock values, and location information. The database contains approximately 28,093 inventory records.
Query Parameters:
Page number for pagination (default: 1)
Number of records per page (default: 50, max: 500)
Field name to sort by (e.g., "stock_quantity", "stock_value", "site_code")
Sort direction: "asc" or "desc" (default: asc)
Filter by any field (e.g., brand=NIKE, site_code=12004, vendor_code=S1350)
Filter by SKU and vendor combination: "SKU#VENDOR_CODE" (e.g., "197057313464#S1748")
Filter by site and vendor combination: "SITE_CODE#VENDOR_CODE" (e.g., "12004#S1350")
Response Fields:
sku - Product SKU identifier
sku_vendor - Composite key (SKU#VENDOR_CODE)
site_vendor - Composite key (SITE_CODE#VENDOR_CODE)
name - Product name/description
brand - Product brand
category - Product category
stock_quantity - On-hand stock quantity
stock_value - Total inventory value
site_code - Store/site code
site_description - Store/site name
vendor_code - Vendor identifier code
vendor_name - Vendor business name
curl Examples:
Basic Request:
Pagination Example:
Filtering by SKU and Vendor:
Filtering by Site and Vendor:
Sorting by Stock Value:
Combined Parameters Example:
Sample Response:
The API uses standard HTTP status codes to indicate the success or failure of requests.
Error Response Format:
-
1. Use Appropriate Page Sizes
Start with pageSize=50 for balanced performance. Increase up to 500 for bulk operations, but be mindful of timeout limits. Smaller page sizes (10-50) are ideal for real-time applications. -
2. Implement Pagination for Large Datasets
Always paginate when retrieving large result sets. Use the pagination metadata (totalRecords, totalPages) to build navigation and progress indicators. Avoid requesting all data in a single call. -
3. Use Filters to Reduce Data Transfer
Apply field filters (brand, category, vendor_code, etc.) to retrieve only relevant records. This improves performance and reduces bandwidth consumption. Combine multiple filters for precise queries. -
4. Leverage Composite Keys for Performance
Use sku_vendor (SKU#VENDOR_CODE) and site_vendor (SITE#VENDOR_CODE) composite keys for faster, vendor-specific queries. These are indexed and optimized for quick lookups. -
5. Cache Results When Appropriate
Since data syncs every 10 minutes, you can safely cache API responses for up to 10 minutes. This reduces API calls and improves application performance. Implement cache invalidation based on sync schedule. -
6. Handle Errors Gracefully
Implement proper error handling for all status codes. Retry 504 timeout errors with smaller page sizes. Display user-friendly messages for 401 authentication errors. -
7. Monitor Sync Schedule
Data syncs occur every 10 minutes from source systems. Check the Dashboard's "Sync Activity Monitor" to view real-time sync status and history. Plan data-intensive operations around sync intervals.
Common Use Cases:
Get all products for a specific brand:
GET /products?brand=NIKE&pageSize=100
Get top-selling products:
GET /sales?sortBy=selling_value&sortOrder=desc&pageSize=20
Get low stock inventory:
GET /inventory?sortBy=stock_quantity&sortOrder=asc&pageSize=50
Get vendor-specific sales:
GET /sales?vendor_code=S1748&sortBy=sold_quantity&sortOrder=desc
Get inventory at specific site:
GET /inventory?site_code=12004&pageSize=100
When using composite keys with the # symbol in URLs, ensure proper encoding: # becomes %23. Most HTTP libraries handle this automatically.