Hmx Accounts

<back to all web services

GetChildProducts

Requires Authentication
The following routes are available for this service:
GET/api/products/{id}/childproductsGet Child Products for the product
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ProductDto:
    id: Optional[str] = None
    name: Optional[str] = None
    description: Optional[str] = None
    long_description: Optional[str] = None
    details: Optional[str] = None
    price: Optional[Decimal] = None
    product_type: Optional[str] = None
    year: Optional[int] = None
    application_id: Optional[str] = None
    required_product_id: Optional[str] = None
    scope: Optional[str] = None
    feature: Optional[str] = None
    is_visible: Optional[bool] = None
    icon_url: Optional[str] = None
    volume_discounts: Optional[Dict[int, Decimal]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetProductsResponse:
    results: Optional[List[ProductDto]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetChildProducts:
    id: Optional[str] = None

Python GetChildProducts DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /api/products/{id}/childproducts HTTP/1.1 
Host: accounts.dev.healthmonix.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	results: 
	[
		{
			id: String,
			name: String,
			description: String,
			longDescription: String,
			details: String,
			price: 0,
			productType: String,
			year: 0,
			applicationId: String,
			requiredProductId: String,
			scope: String,
			feature: String,
			isVisible: False,
			iconUrl: String,
			volumeDiscounts: 
			{
				0: 0
			}
		}
	]
}