Sync Activity Monitor
Loading sync statistics...
🔄 Sync Information
Sync Interval 10 minutes
Sync Method Delta Sync (Fingerprinting + Watermark)
Last Sync --
System Status ✓ Operational
API Overview

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.

Base URL: https://nprityok25.execute-api.eu-north-1.amazonaws.com/prod
Authentication

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:

x-api-key: YOUR_API_KEY

Your API Key:

x-api-key: uVAXiKWnLm76kYb1m8yZY7DqJDFkwuL3aFS8VGZ5
Security Note: Keep your API key secure and do not share it publicly. Treat it like a password.
Products API
GET https://nprityok25.execute-api.eu-north-1.amazonaws.com/prod/products

Retrieve product catalog information including SKU, name, brand, category, pricing, and vendor details. The database contains approximately 15,739 products.

Query Parameters:

page number

Page number for pagination (default: 1)

pageSize number

Number of records per page (default: 50, max: 500)

sortBy string

Field name to sort by (e.g., "price", "name", "brand", "category", "stock")

sortOrder string

Sort direction: "asc" or "desc" (default: asc)

{field} string

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:

curl -X GET "https://nprityok25.execute-api.eu-north-1.amazonaws.com/prod/products" \ -H "x-api-key: uVAXiKWnLm76kYb1m8yZY7DqJDFkwuL3aFS8VGZ5"

Pagination Example:

curl -X GET "https://nprityok25.execute-api.eu-north-1.amazonaws.com/prod/products?page=2&pageSize=100" \ -H "x-api-key: uVAXiKWnLm76kYb1m8yZY7DqJDFkwuL3aFS8VGZ5"

Filtering Example:

curl -X GET "https://nprityok25.execute-api.eu-north-1.amazonaws.com/prod/products?brand=NIKE&category=BIKES" \ -H "x-api-key: uVAXiKWnLm76kYb1m8yZY7DqJDFkwuL3aFS8VGZ5"

Sorting Example:

curl -X GET "https://nprityok25.execute-api.eu-north-1.amazonaws.com/prod/products?sortBy=price&sortOrder=desc" \ -H "x-api-key: uVAXiKWnLm76kYb1m8yZY7DqJDFkwuL3aFS8VGZ5"

Combined Parameters Example:

curl -X GET "https://nprityok25.execute-api.eu-north-1.amazonaws.com/prod/products?page=1&pageSize=50&sortBy=price&sortOrder=desc&brand=NIKE&category=CLOTHING" \ -H "x-api-key: uVAXiKWnLm76kYb1m8yZY7DqJDFkwuL3aFS8VGZ5"

Sample Response:

{ "data": [ { "sku": "197057313464", "name": "PHANTOM ECO WEEKENDER 20 BOAR", "brand": "HURLEY", "category": "CLOTHING", "price": 319.0, "stock": 4.0, "vendor_code": "S1748", "vendor_name": "HURLEY 999 S" }, { "sku": "885176342512", "name": "W AIR ZOOM PEGASUS 36 BLACK", "brand": "NIKE", "category": "FOOTWEAR", "price": 399.0, "stock": 12.0, "vendor_code": "S1650", "vendor_name": "NIKE MIDDLE EAST" } ], "pagination": { "page": 1, "pageSize": 50, "totalRecords": 15739, "totalPages": 315 } }
Sales API
GET https://nprityok25.execute-api.eu-north-1.amazonaws.com/prod/sales

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

Page number for pagination (default: 1)

pageSize number

Number of records per page (default: 50, max: 500)

sortBy string

Field name to sort by (e.g., "selling_value", "sold_quantity", "selling_price")

sortOrder string

Sort direction: "asc" or "desc" (default: asc)

{field} string

Filter by any field (e.g., brand=NIKE, site_code=12004, vendor_code=S1350)

sku_vendor Composite Key

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:

curl -X GET "https://nprityok25.execute-api.eu-north-1.amazonaws.com/prod/sales" \ -H "x-api-key: uVAXiKWnLm76kYb1m8yZY7DqJDFkwuL3aFS8VGZ5"

Pagination Example:

curl -X GET "https://nprityok25.execute-api.eu-north-1.amazonaws.com/prod/sales?page=3&pageSize=200" \ -H "x-api-key: uVAXiKWnLm76kYb1m8yZY7DqJDFkwuL3aFS8VGZ5"

Filtering by Composite Key:

curl -X GET "https://nprityok25.execute-api.eu-north-1.amazonaws.com/prod/sales?sku_vendor=020211088253%23S1350" \ -H "x-api-key: uVAXiKWnLm76kYb1m8yZY7DqJDFkwuL3aFS8VGZ5"

Sorting by Sales Value:

curl -X GET "https://nprityok25.execute-api.eu-north-1.amazonaws.com/prod/sales?sortBy=selling_value&sortOrder=desc&pageSize=20" \ -H "x-api-key: uVAXiKWnLm76kYb1m8yZY7DqJDFkwuL3aFS8VGZ5"

Combined Parameters Example:

curl -X GET "https://nprityok25.execute-api.eu-north-1.amazonaws.com/prod/sales?page=1&pageSize=50&sortBy=sold_quantity&sortOrder=desc&brand=NIKE&site_code=12004" \ -H "x-api-key: uVAXiKWnLm76kYb1m8yZY7DqJDFkwuL3aFS8VGZ5"

Sample Response:

{ "data": [ { "sku": "020211088253", "sku_vendor": "020211088253#S1350", "name": "ALLOY PEDALS", "brand": "HIKERR", "category": "COMPONENTS", "sold_quantity": 2.0, "selling_price": 17.7, "selling_value": 35.4, "site_code": "12004", "site_description": "CIRCLE MAL", "vendor_code": "S1350", "vendor_name": "HIKERR OUTDOOR EXPERTS" }, { "sku": "885176342512", "sku_vendor": "885176342512#S1650", "name": "W AIR ZOOM PEGASUS 36 BLACK", "brand": "NIKE", "category": "FOOTWEAR", "sold_quantity": 15.0, "selling_price": 399.0, "selling_value": 5985.0, "site_code": "12001", "site_description": "DUBAI MALL", "vendor_code": "S1650", "vendor_name": "NIKE MIDDLE EAST" } ], "pagination": { "page": 1, "pageSize": 50, "totalRecords": 20174, "totalPages": 404 } }
Inventory API
GET https://nprityok25.execute-api.eu-north-1.amazonaws.com/prod/inventory

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

Page number for pagination (default: 1)

pageSize number

Number of records per page (default: 50, max: 500)

sortBy string

Field name to sort by (e.g., "stock_quantity", "stock_value", "site_code")

sortOrder string

Sort direction: "asc" or "desc" (default: asc)

{field} string

Filter by any field (e.g., brand=NIKE, site_code=12004, vendor_code=S1350)

sku_vendor Composite Key

Filter by SKU and vendor combination: "SKU#VENDOR_CODE" (e.g., "197057313464#S1748")

site_vendor Composite Key

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:

curl -X GET "https://nprityok25.execute-api.eu-north-1.amazonaws.com/prod/inventory" \ -H "x-api-key: uVAXiKWnLm76kYb1m8yZY7DqJDFkwuL3aFS8VGZ5"

Pagination Example:

curl -X GET "https://nprityok25.execute-api.eu-north-1.amazonaws.com/prod/inventory?page=5&pageSize=150" \ -H "x-api-key: uVAXiKWnLm76kYb1m8yZY7DqJDFkwuL3aFS8VGZ5"

Filtering by SKU and Vendor:

curl -X GET "https://nprityok25.execute-api.eu-north-1.amazonaws.com/prod/inventory?sku_vendor=197057313464%23S1748" \ -H "x-api-key: uVAXiKWnLm76kYb1m8yZY7DqJDFkwuL3aFS8VGZ5"

Filtering by Site and Vendor:

curl -X GET "https://nprityok25.execute-api.eu-north-1.amazonaws.com/prod/inventory?site_vendor=12004%23S1350" \ -H "x-api-key: uVAXiKWnLm76kYb1m8yZY7DqJDFkwuL3aFS8VGZ5"

Sorting by Stock Value:

curl -X GET "https://nprityok25.execute-api.eu-north-1.amazonaws.com/prod/inventory?sortBy=stock_value&sortOrder=desc&pageSize=25" \ -H "x-api-key: uVAXiKWnLm76kYb1m8yZY7DqJDFkwuL3aFS8VGZ5"

Combined Parameters Example:

curl -X GET "https://nprityok25.execute-api.eu-north-1.amazonaws.com/prod/inventory?page=1&pageSize=50&sortBy=stock_quantity&sortOrder=desc&brand=NIKE&site_code=12001" \ -H "x-api-key: uVAXiKWnLm76kYb1m8yZY7DqJDFkwuL3aFS8VGZ5"

Sample Response:

{ "data": [ { "sku": "197057313464", "sku_vendor": "197057313464#S1748", "site_vendor": "12004#S1748", "name": "PHANTOM ECO WEEKENDER 20 BOAR", "brand": "HURLEY", "category": "CLOTHING", "stock_quantity": 8.0, "stock_value": 2552.0, "site_code": "12004", "site_description": "CIRCLE MAL", "vendor_code": "S1748", "vendor_name": "HURLEY 999 S" }, { "sku": "885176342512", "sku_vendor": "885176342512#S1650", "site_vendor": "12001#S1650", "name": "W AIR ZOOM PEGASUS 36 BLACK", "brand": "NIKE", "category": "FOOTWEAR", "stock_quantity": 25.0, "stock_value": 9975.0, "site_code": "12001", "site_description": "DUBAI MALL", "vendor_code": "S1650", "vendor_name": "NIKE MIDDLE EAST" } ], "pagination": { "page": 1, "pageSize": 50, "totalRecords": 28093, "totalPages": 562 } }
HTTP Status Codes

The API uses standard HTTP status codes to indicate the success or failure of requests.

200 OK Request successful, data returned
400 Bad Request Invalid query parameters or malformed request
401 Unauthorized Missing or invalid API key
500 Internal Server Error Server-side error occurred
504 Gateway Timeout Request took too long to process (use pagination)

Error Response Format:

{ "error": { "code": "INVALID_API_KEY", "message": "The provided API key is invalid or missing" } }
Best Practices & Tips
  • 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.
Quick Reference

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
Note on URL Encoding:
When using composite keys with the # symbol in URLs, ensure proper encoding: # becomes %23. Most HTTP libraries handle this automatically.