Skip to main content

Product Catalog Management

Product Catalog Management

Purpose:
Dynamic product catalog maintenance with real-time pricing updates, inventory synchronization, and product lifecycle management.

Description:
The catalog management system maintains the master product database with real-time synchronization across all sales channels. It handles product information updates, pricing changes, inventory levels, and product lifecycle transitions. The system supports bulk operations, automated pricing rules, and integration with supplier systems for seamless catalog maintenance.

Catalog Operations:

  • Bulk pricing updates with validation
  • Product addition and removal procedures
  • Inventory synchronization across multiple systems
  • Product specification and metadata management
  • Automated pricing rule application

Business Value:
Ensures pricing accuracy across all channels, reduces manual catalog maintenance effort, enables dynamic pricing strategies, maintains inventory accuracy, and supports rapid product launches and updates.


Partner Device Catalog Onboarding

The partner needs to send us a device catalog list to establish the base catalog for the rental program. Bolttech will provide a template Excel file that the partner can fill out with their device information. This completed template will become the master device list for the program.

The template will include fields for all necessary device attributes, such as brand, model, capacity, color and other relevant specifications. Once completed by the partner and returned to Bolttech, this master device list will serve as the reference for all devices available in the rental program.

This standardized approach ensures that all required device information is captured in a consistent format, making it easier to integrate the data into our systems and maintain an up-to-date catalog of available devices for rental.

Note: It is worth mentioning that when new devices are added in the future, the process should be repeated, but only for the new device

Product Catalog Flow Management Diagram


Device Pricing Update

POST /v4.1/catalog/action (Device Price Update)

Purpose:
Manages product catalog operations including price updates, product removal, and inventory synchronization with comprehensive validation and audit trails.

Endpoint Explanation:
[Rental Only]This multi-action endpoint handles various catalog management operations through action-based processing. The system supports bulk price updates with validation against business rules, product removal procedures with dependency checking, and inventory synchronization across multiple systems. Each operation maintains comprehensive audit trails, validates data integrity, and triggers appropriate downstream updates to ensure catalog consistency across all platform components. The endpoint handles incremental updates for efficiency and supports rollback capabilities for operational safety.

Fields Dictionary

PropertyTypeDescription
incrementalbooleanThe parameter defines whether the input contains whole pricelist which will overwrites old records in BT system OR the input contains only these records which have changed since last upload
assetModelPricesArray of assetModelPricesDTOCollection of device prices identified by the partnerID (SKU) or EAN
eanStringEuropean Article Number
partnerDeviceIdStringThis is an identifier deriving from device catalog synchronization during the manual exchange of information with a partner in the onboarding phase
priceNetIntThe net price amount of the device
    curl -X POST https://api.rc.saas.bolttech.asia/v4.1/catalog/action \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"configuration": {
"action_id": "update_price",
"product_code": "string",
"callback_url": "string"
},
"payload": {
"incremental": false,
"asset_model_prices": [
{
"ean": "8801643665432",
"partner_device_id": "SAMS-S23U-512-BLK",
"price_net": 899900
},
{
"ean": "6901443457892",
"partner_device_id": "HUAW-P50P-256-GLD",
"price_net": 699900
},
{
"ean": "0190199723634",
"partner_device_id": "APPL-IP14P-256-BLK",
"price_net": 999900
},
{
"ean": "7350028569832",
"partner_device_id": "NOTH-PH2-256-GRY",
"price_net": 499900
},
{
"ean": "4548736134492",
"partner_device_id": "SONY-XP1-128-PUR",
"price_net": 599900
}
]
}
}'
{
"status": "success"
}

Remove device from catalog

POST /v4.1/catalog/action (Remove Device)

Purpose:
Manages product catalog operations including price updates, product removal, and inventory synchronization with comprehensive validation and audit trails.

Endpoint Explanation:
[Rental Only]This multi-action endpoint handles various catalog management operations through action-based processing. The system supports bulk price updates with validation against business rules, product removal procedures with dependency checking, and inventory synchronization across multiple systems. Each operation maintains comprehensive audit trails, validates data integrity, and triggers appropriate downstream updates to ensure catalog consistency across all platform components. The endpoint handles incremental updates for efficiency and supports rollback capabilities for operational safety.

curl -X POST https://api.rc.saas.bolttech.asia/v4.1/catalog/action \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"configuration": {
"action_id": "remove_device",
"product_code": "string",
"callback_url": "string"
},
"payload": {
"partnerDeviceId": "DEV-SAMSUNG-S23-256-BLK"
}
}'
{
"status": "success"
}

Get Stock Availability

POST /v4.1/catalog/action (Get Stock Availability)

Purpose:
Get stock availability for a product or a list of products on the rental program for a specific partner where product code is specific to the partner rental program.

Endpoint Explanation:
[Rental Only]This endpoint allows partners to check real-time inventory levels for rental products in their catalog. It supports both single product queries and batch requests for multiple products simultaneously.

PropertyTypeDescription
productCodeStringThe ID of rental process
partnerDeviceIdArray of stringUnique identifier for device id
updatedStringThe date which will be used to filter the response showing only these devices which stock amounts changed after provided date
stockArray of StockDTOCollection of device volumes identified by the warehouseCode in the BT warehouse
stockDTO: partnerDeviceIdStringThe identifier of the device in the warehouse - stock keeping unit
stockDTO: volumeintThe amount of devices available in the warehouse globally
stockDTO: storageSystemsArray of StorageSystemsDTOThe amount of devices available differentiated by the warehouse systems and internal warehouse storages
storageSystemsDTO: systemCodeStringThe code of the system which provides warehouse functionality
storageSystemsDTO: volumeintThe sum of amounts of devices available in the all warehouse storages (in the particular warehouse system)
storageSystemsDTO: VolumesArray of VolumesDTODevices volumes differentiated by internal warehouse storages for the particular warehouse system
VolumesDTO: storageStringThe code of the warehouse storage in the particular warehouse system
VolumesDTO: volumeintThe amount of devices available in the warehouse storage (in the particular warehouse system)
  curl -X POST https://api.rc.saas.bolttech.asia/v4.1/catalog/action \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '
{
"configuration": {
"action_id": "get_stock",
"product_code": "string",
"callback_url": "string"
},
"payload": {
"updated": "YYY",
"partner_device_id": 111
}
}
'

Get Rental Pricing

POST /v4.1/catalog/action (Get Rental Pricing)

Purpose:

Get a rental price for a product or a list of products available on the rental program for a specific partner where product code is specific to the partner rental program

Endpoint Explanation:
This endpoint allows partners to check real-time pricing. It supports both single product queries and batch requests for multiple products simultaneously.

PropertyTypeDescription
productCodeStringThe ID of rental process
pricingIdListArray of stringThe ID of desired pricelist which will be used for response filtering
deviceTypeArray of stringThe asset types of desired device types for which the pricelist will be returned (smartphone, laptop, etc.)
warehouseCodeStringThe stock keeping unit Ids for which we would like to fetch the stock amounts
customerTypeStringThe customer types for which the pricelist will be returned (b2b, b2c, etc.)
rentalPricingArray of rentalPricingDTOThe list of pricing lines in the BT pricelist with rental option & device properties
rentalPricingDTO:idStringThe internal ID of the priceline (required for contract creation)
rentalPricingDTO:deviceTypeStringThe device type of the particular device (smartphone, laptop, etc.)
rentalPricingDTO:manufacturerStringThe manufacturer of the particular device
rentalPricingDTO:modelStringThe model name of the particular device
rentalPricingDTO:memoryStringThe memory of the particular device
rentalPricingDTO:colourStringThe colour of the particular device
rentalPricingDTO:gradeStringThe grade of the particular device
rentalPricingDTO:partnerDeviceIdStringThe stock keeping unit ID of the particular device
rentalPricingDTO:customerTypeStringThe customer type for the particular priceline (rental option)(B2C,B2B)
rentalPricingDTO:tenorintThe tenor for the particular priceline (rental option)
rentalPricingDTO:initialValueNetdecimalThe initial net amount for the particular priceline
rentalPricingDTO:initialValueGrossdecimalThe initial gross amount for the particular priceline
rentalPricingDTO:residualValueNetdecimalThe RV net amount for the particular priceline
rentalPricingDTO:residualValueGrossdecimalThe RV gross amount for the particular priceline
rentalPricingDTO:monthlyPaymentNetdecimalThe monthly net rent amount for the particular priceline (incl. rental + protection)
rentalPricingDTO:monthlyPaymentGrossdecimalThe monthly gross rent amount for the particular priceline (incl. rental + protection)
rentalPricingDTO:beforeDiscountNetdecimalThe monthly rent net amount before discount application for the particular priceline
rentalPricingDTO:beforeDiscountGrossdecimalThe monthly rent gross amount before discount application for the particular priceline
rentalPricingDTO:rentalMonthlyPaymentNetdecimalThe monthly net rent amount for the particular priceline
rentalPricingDTO:rentalMonthlyPaymentGrossdecimalThe monthly gross rent amount for the particular priceline
rentalPricingDTO:packageMonthlyChargeNetdecimalThe monthly protection fee amount for the particular priceline
rentalPricingDTO:packageMonthlyChargeGrossdecimalThe monthly gross protection amount for the particular priceline
rentalPricingDTO:packageNameStringThe name of the protection package applied to the particular priceline
repoDocumentsArray of repoDocumentsDTOThe list of the rental process documents (T&C, contract template, etc)
repoDocuments:idStringThe ID of the product document
repoDocuments:nameStringThe name of the product document
repoDocuments:typeStringThe type of the product document
repoDocuments:docsArray of repoDocumentsDTOThe list of the archived files
  curl -X POST https://api.rc.saas.bolttech.asia/v4.1/catalog/action \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '
{
"configuration": {
"action_id": "get_pricing",
"product_code": "string",
"callback_url": "string"
},
"payload": {
"customerType": "YYY",
"warehouseCode": "ZZZ",
"pricingIdList": [111],
"deviceType": ["XYZ"]
}
'

POST /v4/verify/imei

Purpose:
Verifies device IMEI numbers against blacklists and validates device authenticity with comprehensive database checks.

Endpoint Explanation:
This endpoint performs IMEI verification by checking device identifiers against global blacklist databases, stolen device registries, and manufacturer databases. The system validates device authenticity, checks for reported theft or fraud, and provides device specification verification to ensure accurate coverage and pricing.

  curl -X POST https://api.rc.saas.bolttech.asia/v4/verify/imei \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"imei": "861248007147070",
"deviceDetails": {
"make": "Apple",
"model": "iPhone 15 Pro",
"purchaseDate": "2024-01-15",
"purchasePrice": 1199.99
},
"verificationLevel": "comprehensive",
"checkBlacklist": true,
"checkStolen": true,
"checkAuthenticity": true
}'
  {
"imei": "861248007147070",
"verificationStatus": "verified",
"deviceValid": true,
"blacklistStatus": "clean",
"stolenStatus": "not_reported",
"authenticityCheck": "passed",
"deviceInfo": {
"make": "Apple",
"model": "iPhone 15 Pro",
"storage": "256GB",
"color": "Natural Titanium",
"manufactureDate": "2023-12-10",
"warrantyStatus": "active"
},
"verificationTimestamp": "2024-03-01T13:45:30Z",
"confidence": "high"
}