Skip to main content

Item Classifications

The Item Classifications API allows you to retrieve KRA-managed product classification codes used when registering and validating items in the eTIMS OSCU system.

Item classifications define:

  • Product hierarchy levels
  • Tax applicability
  • Major / minor classification flags
  • Allowed item grouping rules

Endpoint


POST /selectItemClsList


Purpose

This API:

  • Retrieves item classification master data
  • Returns classifications created or modified after lastReqDt
  • Ensures items are registered using valid KRA classification codes

ℹ️ Item classification data should be cached locally and refreshed periodically.


Request Object: ItemClsSearchReq

Request Fields

FieldDescriptionTypeRequiredLength
lastReqDtLast Request Date (YYYYMMDDHHmmss)CHAR✅ Yes14

🔎 Only item classifications registered or updated after lastReqDt are returned.


JSON Request Example

{
"lastReqDt": "20180523000000"
}

Response Object: ItemClsSearchRes

Top-Level Fields

FieldDescriptionType
resultCdResult code (000 = success)CHAR(3)
resultMsgResult messageCHAR
resultDtResponse timestampCHAR(14)

Item Classification List (itemClsList)

Each entry represents a single product classification.

FieldDescriptionTypeLength
itemClsCdItem Class CodeCHAR10
itemClsNmItem Class NameCHAR200
itemClsLvlItem Class LevelNUMBER
taxTyCdTaxation Type CodeCHAR5
mjrTgYnMajor Target Indicator (Y/N)CHAR1
useYnUsage Status (Y/N)CHAR1

📘 taxTyCd values must match Taxation Types retrieved from Code Lists.


JSON Response Example

{
"resultCd": "000",
"resultMsg": "It is succeeded",
"resultDt": "20200226185625",
"data": {
"itemClsList": [
{
"itemClsCd": "14111400",
"itemClsNm": "Paper products nouse",
"itemClsLvl": 3,
"taxTyCd": null,
"mjrTgYn": null,
"useYn": "Y"
},
{
"itemClsCd": "3133130600",
"itemClsNm": "Non metallic sonic welded structural assemblies",
"itemClsLvl": 5,
"taxTyCd": "B",
"mjrTgYn": "N",
"useYn": "Y"
}
]
}
}

resultCd = 000 indicates a successful request.


SDK Usage Examples

$itemClasses = $etims->selectItemClasses([
'lastReqDt' => lastReqDt('-30 days')
]);

$itemClsList = $itemClasses['data']['itemClsList'] ?? [];

echo "Item Classes found: " . count($itemClsList) . PHP_EOL;

foreach ($itemClsList as $item) {
echo "- Item Class Code: {$item['itemClsCd']}" . PHP_EOL;
echo " Name: {$item['itemClsNm']}" . PHP_EOL;
echo " Level: {$item['itemClsLvl']}" . PHP_EOL;
echo " Tax Type Code: {$item['taxTyCd']}" . PHP_EOL;
echo " Major Target: {$item['mjrTgYn']}" . PHP_EOL;
echo " Use Status: {$item['useYn']}" . PHP_EOL . PHP_EOL;
}


Best Practices

  • Cache item classifications locally
  • Refresh periodically (daily or weekly)
  • Always validate item registrations against this list
  • Never hard-code classification codes

Next Steps