Products
Product catalog (public endpoints)
Query parameters
pageintegerOptionalDefault:
1per_pageinteger · max: 100OptionalDefault:
20searchstringOptional
in_stockbooleanOptional
sortstring · enumOptionalPossible values:
orderstring · enumOptionalDefault:
ascPossible values: Responses
200
List of products
application/json
successbooleanOptionalExample:
trueget/products
GET /api/v2/products HTTP/1.1
Host: bulkmail.shop
Accept: */*
200
List of products
{
"success": true,
"data": [
{
"id": 1,
"name": "Hotmail PVA",
"sku": "HOTMAIL-PVA-001",
"description": "text",
"price": 0.5,
"stock_quantity": 1500,
"in_stock": true,
"bulk_pricing_enabled": true,
"bulk_tiers": [
{
"min_quantity": 1,
"price": 1
}
]
}
],
"meta": {
"current_page": 1,
"per_page": 20,
"total": 100,
"total_pages": 5
}
}Path parameters
idintegerRequired
Responses
200
Product details
application/json
successbooleanOptionalExample:
true404
Resource not found
application/json
get/products/{id}
GET /api/v2/products/{id} HTTP/1.1
Host: bulkmail.shop
Accept: */*
{
"success": true,
"data": {
"id": 1,
"name": "Hotmail PVA",
"sku": "HOTMAIL-PVA-001",
"description": "text",
"price": 0.5,
"stock_quantity": 1500,
"in_stock": true,
"bulk_pricing_enabled": true,
"bulk_tiers": [
{
"min_quantity": 1,
"price": 1
}
]
}
}Path parameters
idintegerRequired
Body
quantityinteger · min: 1Required
Responses
200
Price calculation
application/json
successbooleanOptionalExample:
truepost/products/{id}/calculate-price
POST /api/v2/products/{id}/calculate-price HTTP/1.1
Host: bulkmail.shop
Content-Type: application/json
Accept: */*
Content-Length: 14
{
"quantity": 1
}200
Price calculation
{
"success": true,
"data": {
"quantity": 1,
"unit_price": 1,
"total_price": 1,
"discount_applied": true,
"savings": 1
}
}Last updated