Erply Product Category API
The Product Category API from Erply — 8 operation(s) for product category.
The Product Category API from Erply — 8 operation(s) for product category.
swagger: '2.0'
info:
description: "\n\n## Overview\n\n\n\nThis application offers an API for managing assignments and tasks.\n\n\n\nGraphQL endpoint for the same API is [also available](/graph)\n\n\n\n<details><summary>Authentication</summary>\n\n\n\n> \n\n> Authenticate using your Erply credentials and get a sessionKey. This sessionKey and your Erply clientCode must be provided in the HTTP headers of every request. You do not have to authenticate against this API - valid Erply sessionKey-s from other sources are also acceptable. To authenticate using this API, use the `POST /api/v1/auth` endpoint.\n\n>\n\n</details>\n\n"
title: assignments Assortment Product Category API
contact: {}
version: 2.36.5
host: ''
basePath: ''
schemes: []
tags:
- name: Product Category
paths:
/v1/product/category:
get:
security:
- sk: []
- cc: []
- jwt: []
description: Get Product Categories
consumes:
- application/json
produces:
- application/json
tags:
- Product Category
summary: Get Categories
parameters:
- type: integer
description: skip n records
name: skip
in: query
- type: integer
description: 'items to take, default: 20, max: 100000'
name: take
in: query
- type: string
description: the sort parameter is explained in the `Filtering & Sorting` section on top of the Swagger documentation
name: sort
in: query
- type: string
description: the filter parameter is explained in the `Filtering & Sorting` section on top of the Swagger documentation
name: filter
in: query
- type: boolean
description: optionally return total number of records in the X-Total-Count response header
name: withTotalCount
in: query
responses:
'200':
description: OK
schema:
type: array
items:
$ref: '#/definitions/categorymodels.Response'
headers:
X-Total-Count:
type: uint
description: total number of records (ignores skip & take parameters)
'400':
description: Bad Request
schema:
$ref: '#/definitions/responses.MessageResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/responses.MessageResponse'
post:
security:
- sk: []
- cc: []
- jwt: []
description: Create Product Category
consumes:
- application/json
produces:
- application/json
tags:
- Product Category
summary: Create Product Category
parameters:
- description: Name and ParentID
name: nameWithParent
in: body
required: true
schema:
$ref: '#/definitions/categorymodels.Request'
responses:
'201':
description: Created
schema:
$ref: '#/definitions/responses.Response'
'400':
description: Bad Request
schema:
$ref: '#/definitions/responses.MessageResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/responses.MessageResponse'
/v1/product/category/bulk:
post:
security:
- sk: []
- cc: []
- jwt: []
description: each request contains the category data
consumes:
- application/json
produces:
- application/json
tags:
- Product Category
summary: Create categories in bulk
parameters:
- description: bulk create request
name: request
in: body
required: true
schema:
$ref: '#/definitions/categorymodels.BulkCreateRequest'
responses:
'200':
description: OK
schema:
$ref: '#/definitions/responses.BulkResponseWithResults'
/v1/product/category/bulk/get:
post:
security:
- sk: []
- cc: []
- jwt: []
consumes:
- application/json
produces:
- application/json
tags:
- Product Category
summary: Get categories in bulk
parameters:
- description: requests have the parameters that the original get request has, but in json format. This way you can apply the parameters to each request separately.
name: request
in: body
required: true
schema:
$ref: '#/definitions/parammodels.BulkReadRequest'
responses:
'200':
description: OK
schema:
$ref: '#/definitions/categorymodels.BulkReadResponse'
/v1/product/category/indented:
get:
security:
- sk: []
- cc: []
- jwt: []
description: The result is a indented list of category ids and names sorted by orders and prefixed by the dash (―) sign if is a parent
consumes:
- application/json
produces:
- application/json
tags:
- Product Category
summary: Get Indented List of Categories
parameters:
- type: string
description: Language code (ISO 639). Return the name in the requested language or leave empty for account default language.
name: lang
in: query
responses:
'200':
description: OK
schema:
type: array
items:
$ref: '#/definitions/indentation.Result'
'400':
description: Bad Request
schema:
$ref: '#/definitions/responses.MessageResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/responses.MessageResponse'
/v1/product/category/tree:
get:
security:
- sk: []
- cc: []
- jwt: []
description: 'Optionally you can get products that belong to each category
You must specify the fields to you want to get from the categories and products (models can be found under GET /product/category and GET /product)'
consumes:
- application/json
produces:
- application/json
tags:
- Product Category
summary: Get Tree of product categories
parameters:
- type: array
items:
type: string
description: You must specify the fields to you want to get from the categories and products (models can be found under GET /product/group and GET /product)
name: categoryFields
in: query
- type: array
items:
type: string
description: You must specify the fields to you want to get from the categories and products (models can be found under GET /product/group and GET /product)
name: productFields
in: query
- type: boolean
description: Optionally you can get products that belong to each category
name: withProducts
in: query
- type: string
description: Optionally specify the language ISO 639-1 code for the translatable fields. Default is the default language of the account.
name: languageCode
in: query
- type: integer
description: skip n records
name: skip
in: query
- type: integer
description: 'items to take, default: 20, max: 100000'
name: take
in: query
- type: boolean
description: optionally return total number of records in the X-Total-Count response header
name: withTotalCount
in: query
- type: string
description: the sort parameter is explained in the `Filtering & Sorting` section on top of the Swagger documentation
name: sort
in: query
- type: string
description: the filter parameter is explained in the `Filtering & Sorting` section on top of the Swagger documentation
name: itemFilters
in: query
- type: string
description: the filter parameter is explained in the `Filtering & Sorting` section on top of the Swagger documentation
name: productFilters
in: query
responses:
'200':
description: OK
schema:
type: array
items:
$ref: '#/definitions/indentation.CategoryTreeResultSample'
'400':
description: Bad Request
schema:
$ref: '#/definitions/responses.MessageResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/responses.MessageResponse'
/v1/product/category/{ids}:
delete:
security:
- sk: []
- cc: []
- jwt: []
consumes:
- application/json
produces:
- application/json
tags:
- Product Category
summary: Delete Product Categories
parameters:
- type: string
description: up to 100 semicolon delimited category IDs
name: ids
in: path
required: true
responses:
'200':
description: OK
schema:
$ref: '#/definitions/responses.Response'
'400':
description: Bad Request
schema:
$ref: '#/definitions/responses.MessageResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/responses.MessageResponse'
/v1/product/category/{id}:
put:
security:
- sk: []
- cc: []
- jwt: []
consumes:
- application/json
produces:
- application/json
tags:
- Product Category
summary: Update Product Category
parameters:
- type: integer
description: category ID
name: id
in: path
required: true
- description: Name and ParentID
name: nameWithParent
in: body
required: true
schema:
$ref: '#/definitions/categorymodels.Request'
responses:
'200':
description: OK
schema:
$ref: '#/definitions/responses.Response'
'400':
description: Bad Request
schema:
$ref: '#/definitions/responses.MessageResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/responses.MessageResponse'
/v1/product/category/{id}/move:
put:
security:
- sk: []
- cc: []
- jwt: []
description: 'position has to be one of the following: `lastChild` | `before` | `after`'
consumes:
- application/json
produces:
- application/json
tags:
- Product Category
summary: Move Product Category
parameters:
- type: integer
description: Category ID
name: id
in: path
required: true
- description: moveRequest
name: moveRequest
in: body
required: true
schema:
$ref: '#/definitions/models.MoveRequest'
responses:
'200':
description: OK
schema:
$ref: '#/definitions/responses.Response'
'400':
description: Bad Request
schema:
$ref: '#/definitions/responses.MessageResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/responses.MessageResponse'
definitions:
parammodels.SortRequest:
type: object
properties:
desc:
description: If true - descending, if false - ascending
type: boolean
language:
description: Language in ISO 639-1 standard. Is needed only for translatable properties like description and name.
type: string
example: en
selector:
description: 'JSON field. For description: description_plain or description_html'
type: string
example: name
Translatable:
type: object
properties:
en:
description: This field supports more languages. Please read Translatable names and descriptions block in the documentation.
type: string
indentation.Result:
type: object
properties:
id:
description: ID of the element
type: integer
example: 64
name:
description: The name is the name in the client's default language. Will be prefixed n times if the element is a child of another element.
type: string
example: element 1
categorymodels.Request:
type: object
properties:
main_id:
description: ParentID Refers to the parent category — product categories are hierarchical.
type: integer
name:
description: /This field supports more languages. Please read Translatable names and descriptions block in the documentation.
$ref: '#/definitions/Translatable'
responses.Response:
type: object
properties:
id:
type: integer
example: 73
indentation.CategoryTreeResultSampleNoChildren:
type: object
properties:
item:
$ref: '#/definitions/categorymodels.Response'
products:
type: array
items:
$ref: '#/definitions/products.ProductResponse'
parammodels.FilterJSON:
type: object
properties:
fieldName:
type: string
example: group_id
operandBefore:
description: supported values are "and", "or"
type: string
example: or
operator:
type: string
example: '='
sliceValue:
description: to be used if the value is a slice
type: array
items: {}
value:
type: object
ProductDescription:
type: object
properties:
html:
description: Description supports more languages. Please read Translatable names and descriptions block in the documentation.
type: string
example: <b>Very good product!</b>
plain_text:
description: Description supports more languages. Please read Translatable names and descriptions block in the documentation.
type: string
example: Very good product!
categorymodels.BulkCreateRequest:
type: object
properties:
requests:
type: array
items:
$ref: '#/definitions/categorymodels.Request'
categorymodels.BulkReadResponseItem:
type: object
properties:
categories:
type: array
items:
$ref: '#/definitions/categorymodels.Response'
message:
type: string
example: some message
resultId:
description: id of the response, if requested 3 read requests each ID represents 1 response item
type: integer
totalCount:
description: total number of records (ignores skip & take parameters)
type: integer
parammodels.ReadRequestWithTotalCount:
type: object
properties:
filters:
type: array
items:
$ref: '#/definitions/parammodels.FilterJSON'
paginationParameters:
$ref: '#/definitions/parammodels.PaginationParameters'
sortingParameters:
$ref: '#/definitions/parammodels.SortRequest'
withTotalCount:
type: boolean
models.MoveRequest:
type: object
properties:
position:
description: Position has to be lastChild | before | after
type: string
example: after
target_id:
description: Target ID represents the object that the requested object is put after, or before, or becomes the last child of
type: integer
categorymodels.Response:
type: object
properties:
added:
description: Unix timestamp
type: integer
example: 1595230999
addedby:
description: username
type: string
example: k@erp.xyz
changed:
description: Unix timestamp
type: integer
example: 1595230999
changedby:
description: username
type: string
example: k@erp.xyz
id:
type: integer
name:
description: /This field supports more languages. Please read Translatable names and descriptions block in the documentation.
$ref: '#/definitions/Translatable'
order:
type: integer
parent_id:
type: integer
responses.MessageResponse:
type: object
properties:
message:
type: string
example: some message
indentation.CategoryTreeResultSample:
type: object
properties:
children:
type: array
items:
$ref: '#/definitions/indentation.CategoryTreeResultSampleNoChildren'
item:
$ref: '#/definitions/categorymodels.Response'
products:
type: array
items:
$ref: '#/definitions/products.ProductResponse'
responses.BulkResult:
type: object
properties:
message:
type: string
example: some message
resourceId:
description: identifier of the REST-ful response
type: integer
example: 2
resultId:
description: identifier of the result item
type: integer
example: 2
responses.BulkResponseWithResults:
type: object
properties:
results:
type: array
items:
$ref: '#/definitions/responses.BulkResult'
parammodels.BulkReadRequest:
type: object
properties:
requests:
type: array
items:
$ref: '#/definitions/parammodels.ReadRequestWithTotalCount'
Description:
type: object
properties:
en:
description: Description supports more languages. Please read Translatable names and descriptions block in the documentation.
$ref: '#/definitions/ProductDescription'
categorymodels.BulkReadResponse:
type: object
properties:
results:
type: array
items:
$ref: '#/definitions/categorymodels.BulkReadResponseItem'
parammodels.PaginationParameters:
type: object
properties:
skip:
type: integer
take:
type: integer
products.ProductResponse:
type: object
properties:
added:
description: Unix timestamp
type: integer
example: 1595230999
addedby:
description: username
type: string
example: k@erp.xyz
age_restriction:
type: integer
alcohol_percentage:
type: string
alcohol_registry_number:
type: string
batches:
type: string
brand_id:
type: integer
cashier_must_enter_price:
description: boolean flag 0 or 1
type: integer
category_id:
type: integer
changed:
description: Unix timestamp
type: integer
example: 1595230999
changedby:
description: username
type: string
example: k@erp.xyz
code:
type: string
code2:
type: string
code3:
type: string
code5:
type: string
code6:
type: string
code7:
type: string
code8:
type: string
cost:
type: number
country_of_origin_id:
type: integer
delivery_time:
type: string
deposit_fee_amount:
type: integer
deposit_fee_id:
type: integer
description:
$ref: '#/definitions/Description'
displayed_in_webshop:
description: 0 or 1
type: integer
excise_declaration_number:
type: string
extra_field1_id:
type: integer
extra_field2_id:
type: integer
extra_field3_id:
type: integer
extra_field4_id:
type: integer
family_id:
type: integer
formula_identifier:
type: string
gross_weight:
description: GrossWeight is Item's gross weight (with packaging). Unit depends on region, check your Erply account (typically lbs or kg).
type: number
group_id:
type: integer
group_package_ferrous_metal:
type: number
group_package_metal:
type: number
group_package_non_ferrous_metal:
type: number
group_package_paper:
type: number
group_package_plastic:
type: number
group_package_wood:
type: number
has_serial_numbers:
type: integer
height:
type: number
id:
type: integer
is_gift_card:
description: 0 or 1
type: integer
is_lot_product:
type: boolean
is_regular_gift_card:
description: boolean flag 0 or 1
type: integer
is_used_product:
type: boolean
labels_not_needed:
description: boolean flag 0 or 1
type: integer
length:
description: Length is Item's physical dimensions.
type: number
location_in_warehouse_id:
type: integer
location_in_warehouse_text:
type: string
manufacturer_name:
type: string
name:
description: /This field supports more languages. Please read Translatable names and descriptions block in the documentation.
$ref: '#/definitions/Translatable'
net_weight:
type: number
non_discountable:
description: 0 or 1
type: integer
non_refundable:
description: 0 or 1
type: integer
non_stock_product:
description: boolean flag 0 or 1
type: integer
packaging_type:
type: string
packing_not_required:
type: integer
parent_product_id:
type: integer
price:
type: number
price_with_tax:
type: number
priority_group_id:
type: integer
product_item_level_promotions_disabled:
type: integer
product_reorder_multiples:
type: integer
revenue_account:
type: string
reward_points_not_allowed:
description: boolean flag 0 or 1
type: integer
sales_package_cardboard:
type: number
sales_package_clear_brown_glass:
type: number
sales_package_green_other_glass:
type: number
sales_package_metal_al:
type: number
sales_package_metal_fe:
type: number
sales_package_other_metal:
type: number
sales_package_paper_and_cardboard_mono:
description: Product package materials
type: number
sales_package_plastic_pet:
type: number
sales_package_plastic_pp_pe:
type: number
sales_package_wood:
type: number
serial_number:
type: string
shelf_life_days:
type: integer
sold_in_packages:
type: integer
status:
description: 'Status is a classifier with four possible values: ''ACTIVE'' (DEFAULT), ''NO_LONGER_ORDERED'', ''NOT_FOR_SALE'' and ''ARCHIVED''.'
type: string
example: ACTIVE
suggested_retail_price:
type: number
supplier_code:
type: string
supplier_id:
type: integer
tax_free:
description: boolean flag 0 or 1
type: integer
tax_rate_id:
type: integer
transport_package_cardboard:
type: number
transport_package_ferrous_metal:
type: number
transport_package_non_ferrous_metal:
type: number
transport_package_plastic:
type: number
transport_package_wood:
type: number
type:
type: string
unit_id:
type: integer
volume:
type: number
webshop_description:
type: string
webshop_keywords:
type: string
webshop_title:
type: string
webshop_url_slug:
type: string
width:
type: number
securityDefinitions:
AccessToken:
type: apiKey
name: accessToken
in: header
ErplyClientCode:
type: apiKey
name: clientCode
in: header
ErplyJWT:
type: apiKey
name: jwt
in: header
ErplySession:
type: apiKey
name: sessionKey
in: header
RequestKey:
type: apiKey
name: requestKey
in: header