Inventory & Products | CN Codes | Set CN Codes

Set CN Codes

This endpoint creates new CN customs codes or updates existing ones through https://easycms.fi/public_api/set_cn_codes/. CN codes classify products for EU customs (Combined Nomenclature).



Endpoint and Method

  • Endpoint: https://easycms.fi/public_api/set_cn_codes/
  • Method: POST
  • Content-Type: application/json



Authentication

  • Header: Authorization1: {API_TOKEN}
  • Body parameters: username, password, account



Request Parameters

Creating a CN code (omit cn_code_id)

Parameter Type Required Description
username string Yes API username
password string Yes API password
account string Yes Account domain
cn_code_value string Yes The CN code itself (e.g. 0201.10.00)
cn_code_name string | object Yes Code description. A plain string is stored as en_GB; or pass a {lang: name} object
cn_codeNumber integer No Sorting number. Defaults to MAX + 1
parent_id integer No Parent CN code ID for hierarchies (default 0)
visible integer No 1 = visible (default), 0 = hidden

Updating a CN code (include cn_code_id)

Parameter Type Required Description
username string Yes API username
password string Yes API password
account string Yes Account domain
cn_code_id integer Yes CN code ID to update
cn_code_value string No New code value
cn_code_name string | object No New description (string or {lang: name} object)
cn_codeNumber integer No New sorting number
parent_id integer No Parent CN code ID
visible integer No 1 = visible, 0 = hidden

Only the fields you provide are updated.



Behavior

  • Create: validates the required fields, resolves cn_codeNumber (MAX+1 when omitted), inserts the CN code, and returns the new cn_code_id.
  • Update: validates that cn_code_id exists, applies only the provided fields, and returns the refreshed row plus a changes summary (old → new per field).
  • Every CN code insert/update writes to the account's activity log automatically.



Response Format

{
    "status": "success",
    "message": "CN code created successfully",
    "data": {
        "cn_code_id": 42,
        "cn_code": {
            "cn_code_id": "42",
            "visible": "1",
            "parent_id": "0",
            "cn_codeNumber": "42",
            "cn_code_value": "0201.10.00",
            "cn_code_name": "a:1:{s:5:\"en_GB\";s:26:\"Bovine carcasses and halves\";}"
        }
    },
    "changes": {
        "cn_code_created": {
            "cn_code_id": 42,
            "cn_code_value": "0201.10.00",
            "cn_codeNumber": 42
        }
    }
}

Update responses carry message: "CN code updated successfully" and a changes.cn_code object with old/new values per updated field.



Error Responses

HTTP Code Error Code Description
400 MISSING_REQUIRED_FIELDS cn_code_value and/or cn_code_name missing on create
400 NOTHING_TO_UPDATE No valid CN code fields provided on update
404 CN_CODE_NOT_FOUND cn_code_id does not exist
500 CREATE_FAILED / UPDATE_FAILED Database write failed



Call Examples

Create a CN code

curl -X POST "https://easycms.fi/public_api/set_cn_codes/" \
  -H "Content-Type: application/json" \
  -H "Authorization1: YOUR_API_TOKEN" \
  -d '{
    "username": "your_username",
    "password": "your_password",
    "account": "your_account",
    "cn_code_value": "0201.10.00",
    "cn_code_name": {"en_GB": "Bovine carcasses and half-carcasses"}
  }'

Update a CN code description

curl -X POST "https://easycms.fi/public_api/set_cn_codes/" \
  -H "Content-Type: application/json" \
  -H "Authorization1: YOUR_API_TOKEN" \
  -d '{
    "username": "your_username",
    "password": "your_password",
    "account": "your_account",
    "cn_code_id": 42,
    "cn_code_name": "Bovine animals, fresh or chilled"
  }'