Erply Assortment To Product Linking API
The Assortment To Product Linking API from Erply — 9 operation(s) for assortment to product linking.
The Assortment To Product Linking API from Erply — 9 operation(s) for assortment to product linking.
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 Assortment To Product Linking API
contact: {}
version: 2.36.5
host: ''
basePath: ''
schemes: []
tags:
- name: Assortment To Product Linking
paths:
/v1/assortment/products/links/{productIDs}:
delete:
security:
- sk: []
- cc: []
- jwt: []
description: 'Delete products from all assortments providing product IDs
responds with link IDs that were deleted'
consumes:
- application/json
produces:
- application/json
tags:
- Assortment To Product Linking
summary: Delete products from all assortments
parameters:
- type: string
description: can contain up to 100 semicolon delimited product IDs.
name: productIDs
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/assortment/products/{ids}:
delete:
security:
- sk: []
- cc: []
- jwt: []
consumes:
- application/json
produces:
- application/json
tags:
- Assortment To Product Linking
summary: Delete Assortment Product Links
parameters:
- type: string
description: up to 100 semicolon delimited link 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/assortment/products/{ids}/bulk:
delete:
security:
- sk: []
- cc: []
- jwt: []
consumes:
- application/json
produces:
- application/json
tags:
- Assortment To Product Linking
summary: Delete product to assortment links by link IDs
deprecated: true
parameters:
- type: string
description: can contain up to 100 semicolon delimited link 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/assortment/products/{id}:
patch:
security:
- sk: []
- cc: []
- jwt: []
description: Status can be ACTIVE, ARCHIVED, NO_LONGER_ORDERED, NOT_FOR_SALE
consumes:
- application/json
produces:
- application/json
tags:
- Assortment To Product Linking
summary: Update Assortment's Products Link Data
parameters:
- type: integer
description: link ID
name: id
in: path
required: true
- description: link status is mandatory, product name translations only if you want to update some language name
name: link
in: body
required: true
schema:
$ref: '#/definitions/models.AssortmentToProductUpdateRequest'
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/assortment/{id}/products:
get:
security:
- sk: []
- cc: []
- jwt: []
description: Get Assortment's Products Link Data only for active links. Status can be ACTIVE, ARCHIVED, NO_LONGER_ORDERED, NOT_FOR_SALE
consumes:
- application/json
produces:
- application/json
tags:
- Assortment To Product Linking
summary: Get Assortment's Products Link Data
parameters:
- type: integer
description: it' s a `UNIX timestamp`
name: If-Modified-Since
in: header
- type: integer
description: Assortment ID
name: id
in: path
required: true
- type: integer
description: skip n records
name: skip
in: query
- type: integer
description: 'items to take, default: 20, max: 100000'
name: take
in: query
responses:
'200':
description: OK
schema:
type: array
items:
$ref: '#/definitions/models.AssortmentToProductLinkResponse'
'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: Add Product to Assortment. Status can be ACTIVE, ARCHIVED, NO_LONGER_ORDERED, NOT_FOR_SALE
consumes:
- application/json
produces:
- application/json
tags:
- Assortment To Product Linking
summary: Add Product to Assortment
parameters:
- type: integer
description: Assortment ID
name: id
in: path
required: true
- description: product ID, link status, product name
name: assortmentRequest
in: body
required: true
schema:
$ref: '#/definitions/models.AssortmentToProductRequest'
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/assortment/{id}/products/bulk:
post:
security:
- sk: []
- cc: []
- jwt: []
description: Add Products to Assortment in bulk. Status can be ACTIVE, ARCHIVED, NO_LONGER_ORDERED, NOT_FOR_SALE
consumes:
- application/json
produces:
- application/json
tags:
- Assortment To Product Linking
summary: Add Products to Assortment
parameters:
- description: bulk add request
name: assortmentRequest
in: body
required: true
schema:
$ref: '#/definitions/models.AssortmentToProductBulkRequest'
- type: integer
description: Assortment ID
name: id
in: path
required: true
responses:
'201':
description: Created
schema:
$ref: '#/definitions/responses.BulkResponseWithResults'
'400':
description: Bad Request
schema:
$ref: '#/definitions/responses.MessageResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/responses.MessageResponse'
/v1/assortment/{id}/products/data:
get:
security:
- sk: []
- cc: []
- jwt: []
description: 'Get Assortment''s Products Data with total count. The assortment to product link status is in the `linkStatus` field under each product''s data.
The `linkStatus` field is filterable and sortable. Status can be ACTIVE, ARCHIVED, NO_LONGER_ORDERED, NOT_FOR_SALE
The `product_name_in_assortment` field is filterable. just put [[''product_name_in_assortment.en'',''='',''bla-bla-bla''],''or'',''product_name_in_assortment.fr'',''='',''yada-yada]
the ''and'' operand is not supported for the `product_name_in_assortment`'
consumes:
- application/json
produces:
- application/json
tags:
- Assortment To Product Linking
summary: Get Assortment's Products Data
parameters:
- type: integer
description: it' s a `UNIX timestamp`
name: If-Modified-Since
in: header
- type: integer
description: Assortment ID
name: id
in: path
required: true
- 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/products.ProductsResponseWithCount'
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'
/v1/assortment/{id}/products/deleted:
get:
security:
- sk: []
- cc: []
- jwt: []
description: Input the assortment ID and optionally a header with the unix timestamp, responds with the found product IDs in the IDs field
consumes:
- application/json
produces:
- application/json
tags:
- Assortment To Product Linking
summary: Get Deleted Assortment's Products IDs
parameters:
- type: integer
description: it' s a `UNIX timestamp`
name: If-Deleted-Since
in: header
- type: integer
description: Assortment ID
name: id
in: path
required: true
responses:
'200':
description: OK
schema:
type: array
items:
$ref: '#/definitions/models.AssortmentToProductLinkResponse'
'400':
description: Bad Request
schema:
$ref: '#/definitions/responses.MessageResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/responses.MessageResponse'
/v1/product/{id}/assortments:
get:
security:
- sk: []
- cc: []
- jwt: []
description: Get Assortments for Product
consumes:
- application/json
produces:
- application/json
tags:
- Assortment To Product Linking
summary: Get Assortments for Product
parameters:
- type: integer
description: product ID
name: id
in: path
required: true
- type: integer
description: skip n records
name: skip
in: query
- type: integer
description: 'items to take, default: 20, max: 100000'
name: take
in: query
responses:
'200':
description: OK
schema:
type: array
items:
$ref: '#/definitions/models.AssortmentToProductLinkResponse'
'400':
description: Bad Request
schema:
$ref: '#/definitions/responses.MessageResponse'
'500':
description: Internal Server Error
schema:
$ref: '#/definitions/responses.MessageResponse'
definitions:
responses.Response:
type: object
properties:
id:
type: integer
example: 73
Description:
type: object
properties:
en:
description: Description supports more languages. Please read Translatable names and descriptions block in the documentation.
$ref: '#/definitions/ProductDescription'
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!
models.AssortmentToProductLinkResponse:
type: object
properties:
assortment_id:
type: integer
id:
type: integer
product_id:
type: integer
product_name_in_assortment:
$ref: '#/definitions/Translatable'
status:
description: Status of the Assortment To Product link
type: string
example: ACTIVE
models.AssortmentToProductRequest:
type: object
properties:
product_id:
type: integer
product_name_in_assortment:
$ref: '#/definitions/Translatable'
status:
description: 'Status is a classifier with four possible values: ''ACTIVE'' (DEFAULT), ''NO_LONGER_ORDERED'', ''NOT_FOR_SALE'' and ''ARCHIVED''.'
type: string
example: ACTIVE
responses.MessageResponse:
type: object
properties:
message:
type: string
example: some message
models.AssortmentToProductUpdateRequest:
type: object
properties:
product_name_in_assortment:
$ref: '#/definitions/Translatable'
status:
description: 'Status is a classifier with four possible values: ''ACTIVE'' (DEFAULT), ''NO_LONGER_ORDERED'', ''NOT_FOR_SALE'' and ''ARCHIVED''.'
type: string
example: ACTIVE
products.ProductsResponseWithCount:
type: object
properties:
products:
type: array
items:
$ref: '#/definitions/products.ProductResponseWithLinkStatus'
totalCount:
type: integer
example: 20
Translatable:
type: object
properties:
en:
description: This field supports more languages. Please read Translatable names and descriptions block in the documentation.
type: string
models.AssortmentToProductBulkRequest:
type: object
properties:
links:
type: array
items:
$ref: '#/definitions/models.AssortmentToProductRequest'
products.ProductResponseWithLinkStatus:
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
linkStatus:
type: string
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_name_in_assortment:
$ref: '#/definitions/Translatable'
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
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'
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