Product APIs
Update the details for the provided product
| HTTP method | PUT |
| URI | https://api.rambase.net/product/products/{productId} |
| Supported formats | Xml, Html, Json (ex. $format=json) |
| - URI parameter {productId} |
Product identifier
Integer, minimum 10000 |
| Custom fields | Custom fields supported |
| Successful HTTP status code | 200 |
| API resource identifier | 2658, version 39 |
The following body must be added to the request. Mouse over fieldnames for description and other useful information about the fields. Note that fields in bold are required/mandatory.
Product
This field is optional.
>Name
Name of the product
This field is optional.
>{String}</Name>Type
Type of product
Applicable domain values can be found here
This field is optional.
>{String}</Type>Description
Description of the product
This field is optional.
>{String}</Description>ExternalReference
External reference of the product. Typically used for storing product identifier for same product in external system.
This field is optional.
>{String}</ExternalReference>CustomField1
Custom field for grouping, sorting, categorizing and other purposes.
This field is optional.
>{String}</CustomField1>CustomField2
Custom field for grouping, sorting, categorizing and other purposes.
This field is optional.
>{String}</CustomField2>CustomField3
Custom field for grouping, sorting, categorizing and other purposes
This field is optional.
>{String}</CustomField3>GlobalTradeItemNumber
Global Trade Item Number (GTIN) is a 14 digit identifier for trade items (comprising among others of the former EAN International and Uniform Code Council). Examples of types of GTIN are UPC, EAN, JAN, ISBN
Maximum value: 14
Input must match the following regular expression pattern: ^([0-9])+$
This field is optional.
>{String}</GlobalTradeItemNumber>Weight
The weight of the product in kilograms.
Minimum value: 0
This field is optional.
>{Decimal}</Weight>CountryOfOriginCode
Two-character code (ISO 3166) identifying the default country where the product is produced. This value is inherrited from the assigned goods reception(s). If not country of origin is specified for the goods reception(s), country of origin is retrieved from the product. If assigned to multiple goods receptions with different origin, the field will be empty.
This field is optional.
>{String}</CountryOfOriginCode>InternalNote
Internal note regardig the product. Should not be exposed to customers.
This field is optional.
>{String}</InternalNote>MoistureSensitivityLevel
Moisture sensitivity level is an electronic standard for the time period in which a moisture sensitive device can be exposed to ambient room conditions.
Applicable domain values can be found here
This field is optional.
>{String}</MoistureSensitivityLevel>PublicProductUri
Public/external product URI for more information about the product. Will typically be an URL to product details at the manufacturer web site.
Input must match the following regular expression pattern: ^(http|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?$
This field is optional.
>{String}</PublicProductUri>RequireSerialNumberBeforeShipping
If all units of this product should have a serial number before shipping, you should require serial number to be specified before shipping this product. Shipping includes supplier returns, shipping advices and stock transfers.
This field is optional.
>{Boolean}</RequireSerialNumberBeforeShipping>MeasurementUnit
Measurement unit used for this product, both in sales and purchase.
This field is optional.
>MeasurementUnitId
Measurement unit identifier
Minimum value: 100
This field is optional.
>{Integer}</MeasurementUnitId>Manufacturer
Manufacturer of the product
This field is optional.
>ManufacturerId
Manufacturer identifier
Minimum value: 1000
This field is optional.
>{Integer}</ManufacturerId>DefaultManufacturersProduct
This field is optional.
>ManufacturersProductId
Manufacturer product identifier
Minimum value: 100000
This field is optional.
>{Integer}</ManufacturersProductId>Package
This field is optional.
>PalletQuantity
Total quantity of the product that can be on a pallet
Minimum value: 0
This field is optional.
>{Integer}</PalletQuantity>PackageQuantity
Total quantity of the product within a package
Minimum value: 0
This field is optional.
>{Integer}</PackageQuantity>PackageType
Type of wrapping used for the package
Applicable domain values can be found here
This field is optional.
>{String}</PackageType>Dimensions
This field is optional.
>Width
Width of the product in centimetres
Minimum value: 0
This field is optional.
>{Decimal}</Width>Height
Height of the product in centimetres
Minimum value: 0
This field is optional.
>{Decimal}</Height>Length
Length of the product in centimetres
Minimum value: 0
This field is optional.
>{Decimal}</Length>Volume
Volume of the product in cubic centimetres. Volume is calculated automatically as L* W* H (when the volume field is empty and L,W ,H have values). Volume can also be changed manually
Minimum value: 0
This field is optional.
>{Decimal}</Volume>MainImage
Main image of the product
This field is optional.
>File
This field is optional.
>FileId
File identifier
Minimum value: 100000
This field is optional.
>{Integer}</FileId>ProductClassification
This field is optional.
>ProductClassificationId
Product classification identifier
This field is optional.
>{String}</ProductClassificationId>Production
This field is optional.
>IsTraceableMaterialOfProductUnit
Normally, if a part is defined with more than one piece in a product structure and is included in the trace list, the LCM part list will show a single line with the total quantity (e.g., 2 pcs), unless adjustments are made manually.
With this setting turned ON, however, the part is split into separate lines - one for each piece.
This field is optional.
>{Boolean}</IsTraceableMaterialOfProductUnit>RequireSerialNumberWhenTraceableMaterial
During production of a product structure, each produced unit generates a list of tracable materials included in the finished unit. If CheckSerialnoOnParts is true in KITDOC, and this value is true, this product requires a serial number in the tracable materials list before the operation it belongs to can be completed.
This field is optional.
>{Boolean}</RequireSerialNumberWhenTraceableMaterial>TraceIndividuallyWhenTraceableMaterial
Normally, if a part is defined with more than one piece in a product structure and is included in the trace list, the LCM part list will show a single line with the total quantity (e.g., 2 pcs), unless adjustments are made manually.
With this attribute turned ON, however, the part is split into separate lines - one for each piece. This is particularly useful in scenarios where serial numbers are required for traceability.
This field is optional.
>{Boolean}</TraceIndividuallyWhenTraceableMaterial>IsManufacturedInBatches
Products is either manufactured in batch product units, or single product units. When manufactured as single, each production unit of a production work order should result in seperate product units. When manufactured in batches, all production units from one production work order should result in one common product unit.
This field is optional.
>{Boolean}</IsManufacturedInBatches>NeedsMaterialReplacementToRelease
You can add a dummy article in productions which you replace with the actual product before production starts. This function is used in situations where it is undecided which product will be used in the final production.
This field is optional.
>{Boolean}</NeedsMaterialReplacementToRelease>PlanningCategory
Planning category
Applicable domain values can be found here
This field is optional.
>{String}</PlanningCategory>ManufacturingArea
This field is optional.
>ManufacturingAreaId
Manufacturing area identifier
Minimum value: 100000
This field is optional.
>{Integer}</ManufacturingAreaId>Service
This field is optional.
>ServiceInterval
Service template of the product. This template will be used when performing service for this product.
This field is optional.
>ServiceIntervalId
Service interval identifier
Minimum value: 100000
This field is optional.
>{Integer}</ServiceIntervalId>Sales
This field is optional.
>Type
Defines if an article is of one of the types: Sales, Sales and rental, Subscription
Applicable domain values can be found here
This field is optional.
>{Integer}</Type>AssignInMultipleOf
Sometimes the products are packed together in a way that makes it preferrable to keep them together when selling. When RamBase starts the process of assigning sales to stock or purchase backlog, this field is taken into consideration. If the available quantity is not in this multiple, the rest quantity will be requested for procurement.
Ex. a product is set up to be assigned in multiple of 3. When selling 7 pcs of this product, 6 is assigned to stock or purchase backlog, while the last one is always requested for procurement (even though you have 100 in stock). Note that you can still manually override this behaviour and assign everything to stock or purchase backlog.
Minimum value: 1
This field is optional.
>{Integer}</AssignInMultipleOf>MinimumGrossMargin
The minimum gross margin, in percent, for the product
Minimum value: 0
This field is optional.
>{Decimal}</MinimumGrossMargin>WarrantyPeriod
The time period (in months) in which the product may be returned or exchanged. The warranty period starts at the date of shipment to customer.
Minimum value: 0
This field is optional.
>{Integer}</WarrantyPeriod>StandardLeadTime
The standard lead time, in number of days, from customer places order to delivery.
Minimum value: 0
This field is optional.
>{Integer}</StandardLeadTime>MinimumSalesPrice
This field is optional.
>Currency
Three character code following the ISO 4217 standard
Applicable domain values can be found here
This field is optional.
>{String}</Currency>NetPrice
Minimum sales price for product
Minimum value: 0
This field is optional.
>{Decimal}</NetPrice>ExclusivelyForCustomer
If customer is specified, only this customer can place orders for this product.
This field is optional.
>CustomerId
Customer identifier
Minimum value: 10000
This field is optional.
>{Integer}</CustomerId>Stock
This field is optional.
>IsNonStock
True if this is a non-physical product which are no using assignments from the assignment archive
This field is optional.
>{Boolean}</IsNonStock>RequireSerialNumberAtGoodsReception
If all units of this product should have a serial number in stock, you should require serial number to be required at goods reception. This will ensure that serial number is specified before goods receptions with this product is registered.
This field is optional.
>{Boolean}</RequireSerialNumberAtGoodsReception>AutoCreateProductUnitAtGoodsReception
When activated, product units are automatically generated when goods are registered to stock.
This field is optional.
>{Boolean}</AutoCreateProductUnitAtGoodsReception>Procurement
This field is optional.
>ExpectedLeadTime
The expected lead time, in number of days, from ordering from supplier to goods reception. Used in different purchase processes, typically when supplier is unknown. Note that this might differ from the standard lead times defined on the different suppliers.
Minimum value: 0
This field is optional.
>{Integer}</ExpectedLeadTime>AutoGenerateSerialNumbersForPurchaseOrders
Serial numbers can be added to all newly created purchase order items. The serial number is specified in the company setting ProductionSerialNumberCounter, which will increase afterwards. If the company setting AutoProductionSerialNumberPrefix is specified, the serial number will be prefixed by this value.
This field is optional.
>{Boolean}</AutoGenerateSerialNumbersForPurchaseOrders>ProductCollection
This field is optional.
>ProductId
Product identifier
Minimum value: 10000
This field is optional.
>{Integer}</ProductId>Product
This field is optional.
": {Name
Name of the product
This field is optional.
": "{String}",Type
Type of product
Applicable domain values can be found here
This field is optional.
": "{String}",Description
Description of the product
This field is optional.
": "{String}",ExternalReference
External reference of the product. Typically used for storing product identifier for same product in external system.
This field is optional.
": "{String}",CustomField1
Custom field for grouping, sorting, categorizing and other purposes.
This field is optional.
": "{String}",CustomField2
Custom field for grouping, sorting, categorizing and other purposes.
This field is optional.
": "{String}",CustomField3
Custom field for grouping, sorting, categorizing and other purposes
This field is optional.
": "{String}",GlobalTradeItemNumber
Global Trade Item Number (GTIN) is a 14 digit identifier for trade items (comprising among others of the former EAN International and Uniform Code Council). Examples of types of GTIN are UPC, EAN, JAN, ISBN
Maximum value: 14
Input must match the following regular expression pattern: ^([0-9])+$
This field is optional.
": "{String}",Weight
The weight of the product in kilograms.
Minimum value: 0
This field is optional.
": "{Decimal}",CountryOfOriginCode
Two-character code (ISO 3166) identifying the default country where the product is produced. This value is inherrited from the assigned goods reception(s). If not country of origin is specified for the goods reception(s), country of origin is retrieved from the product. If assigned to multiple goods receptions with different origin, the field will be empty.
This field is optional.
": "{String}",InternalNote
Internal note regardig the product. Should not be exposed to customers.
This field is optional.
": "{String}",MoistureSensitivityLevel
Moisture sensitivity level is an electronic standard for the time period in which a moisture sensitive device can be exposed to ambient room conditions.
Applicable domain values can be found here
This field is optional.
": "{String}",PublicProductUri
Public/external product URI for more information about the product. Will typically be an URL to product details at the manufacturer web site.
Input must match the following regular expression pattern: ^(http|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?$
This field is optional.
": "{String}",RequireSerialNumberBeforeShipping
If all units of this product should have a serial number before shipping, you should require serial number to be specified before shipping this product. Shipping includes supplier returns, shipping advices and stock transfers.
This field is optional.
": "{Boolean}",MeasurementUnit
Measurement unit used for this product, both in sales and purchase.
This field is optional.
": {MeasurementUnitId
Measurement unit identifier
Minimum value: 100
This field is optional.
": "{Integer}"Manufacturer
Manufacturer of the product
This field is optional.
": {ManufacturerId
Manufacturer identifier
Minimum value: 1000
This field is optional.
": "{Integer}"DefaultManufacturersProduct
This field is optional.
": {ManufacturersProductId
Manufacturer product identifier
Minimum value: 100000
This field is optional.
": "{Integer}"Package
This field is optional.
": {PalletQuantity
Total quantity of the product that can be on a pallet
Minimum value: 0
This field is optional.
": "{Integer}",PackageQuantity
Total quantity of the product within a package
Minimum value: 0
This field is optional.
": "{Integer}",PackageType
Type of wrapping used for the package
Applicable domain values can be found here
This field is optional.
": "{String}"Dimensions
This field is optional.
": {Width
Width of the product in centimetres
Minimum value: 0
This field is optional.
": "{Decimal}",Height
Height of the product in centimetres
Minimum value: 0
This field is optional.
": "{Decimal}",Length
Length of the product in centimetres
Minimum value: 0
This field is optional.
": "{Decimal}",Volume
Volume of the product in cubic centimetres. Volume is calculated automatically as L* W* H (when the volume field is empty and L,W ,H have values). Volume can also be changed manually
Minimum value: 0
This field is optional.
": "{Decimal}"MainImage
Main image of the product
This field is optional.
": {File
This field is optional.
": {FileId
File identifier
Minimum value: 100000
This field is optional.
": "{Integer}"ProductClassification
This field is optional.
": {ProductClassificationId
Product classification identifier
This field is optional.
": "{String}"Production
This field is optional.
": {IsTraceableMaterialOfProductUnit
Normally, if a part is defined with more than one piece in a product structure and is included in the trace list, the LCM part list will show a single line with the total quantity (e.g., 2 pcs), unless adjustments are made manually.
With this setting turned ON, however, the part is split into separate lines - one for each piece.
This field is optional.
": "{Boolean}",RequireSerialNumberWhenTraceableMaterial
During production of a product structure, each produced unit generates a list of tracable materials included in the finished unit. If CheckSerialnoOnParts is true in KITDOC, and this value is true, this product requires a serial number in the tracable materials list before the operation it belongs to can be completed.
This field is optional.
": "{Boolean}",TraceIndividuallyWhenTraceableMaterial
Normally, if a part is defined with more than one piece in a product structure and is included in the trace list, the LCM part list will show a single line with the total quantity (e.g., 2 pcs), unless adjustments are made manually.
With this attribute turned ON, however, the part is split into separate lines - one for each piece. This is particularly useful in scenarios where serial numbers are required for traceability.
This field is optional.
": "{Boolean}",IsManufacturedInBatches
Products is either manufactured in batch product units, or single product units. When manufactured as single, each production unit of a production work order should result in seperate product units. When manufactured in batches, all production units from one production work order should result in one common product unit.
This field is optional.
": "{Boolean}",NeedsMaterialReplacementToRelease
You can add a dummy article in productions which you replace with the actual product before production starts. This function is used in situations where it is undecided which product will be used in the final production.
This field is optional.
": "{Boolean}",PlanningCategory
Planning category
Applicable domain values can be found here
This field is optional.
": "{String}",ManufacturingArea
This field is optional.
": {ManufacturingAreaId
Manufacturing area identifier
Minimum value: 100000
This field is optional.
": "{Integer}"Service
This field is optional.
": {ServiceInterval
Service template of the product. This template will be used when performing service for this product.
This field is optional.
": {ServiceIntervalId
Service interval identifier
Minimum value: 100000
This field is optional.
": "{Integer}"Sales
This field is optional.
": {Type
Defines if an article is of one of the types: Sales, Sales and rental, Subscription
Applicable domain values can be found here
This field is optional.
": "{Integer}",AssignInMultipleOf
Sometimes the products are packed together in a way that makes it preferrable to keep them together when selling. When RamBase starts the process of assigning sales to stock or purchase backlog, this field is taken into consideration. If the available quantity is not in this multiple, the rest quantity will be requested for procurement.
Ex. a product is set up to be assigned in multiple of 3. When selling 7 pcs of this product, 6 is assigned to stock or purchase backlog, while the last one is always requested for procurement (even though you have 100 in stock). Note that you can still manually override this behaviour and assign everything to stock or purchase backlog.
Minimum value: 1
This field is optional.
": "{Integer}",MinimumGrossMargin
The minimum gross margin, in percent, for the product
Minimum value: 0
This field is optional.
": "{Decimal}",WarrantyPeriod
The time period (in months) in which the product may be returned or exchanged. The warranty period starts at the date of shipment to customer.
Minimum value: 0
This field is optional.
": "{Integer}",StandardLeadTime
The standard lead time, in number of days, from customer places order to delivery.
Minimum value: 0
This field is optional.
": "{Integer}",MinimumSalesPrice
This field is optional.
": {Currency
Three character code following the ISO 4217 standard
Applicable domain values can be found here
This field is optional.
": "{String}",NetPrice
Minimum sales price for product
Minimum value: 0
This field is optional.
": "{Decimal}"ExclusivelyForCustomer
If customer is specified, only this customer can place orders for this product.
This field is optional.
": {CustomerId
Customer identifier
Minimum value: 10000
This field is optional.
": "{Integer}"Stock
This field is optional.
": {IsNonStock
True if this is a non-physical product which are no using assignments from the assignment archive
This field is optional.
": "{Boolean}",RequireSerialNumberAtGoodsReception
If all units of this product should have a serial number in stock, you should require serial number to be required at goods reception. This will ensure that serial number is specified before goods receptions with this product is registered.
This field is optional.
": "{Boolean}",AutoCreateProductUnitAtGoodsReception
When activated, product units are automatically generated when goods are registered to stock.
This field is optional.
": "{Boolean}"Procurement
This field is optional.
": {ExpectedLeadTime
The expected lead time, in number of days, from ordering from supplier to goods reception. Used in different purchase processes, typically when supplier is unknown. Note that this might differ from the standard lead times defined on the different suppliers.
Minimum value: 0
This field is optional.
": "{Integer}",AutoGenerateSerialNumbersForPurchaseOrders
Serial numbers can be added to all newly created purchase order items. The serial number is specified in the company setting ProductionSerialNumberCounter, which will increase afterwards. If the company setting AutoProductionSerialNumberPrefix is specified, the serial number will be prefixed by this value.
This field is optional.
": "{Boolean}"ProductCollection
This field is optional.
": {ProductId
Product identifier
Minimum value: 10000
This field is optional.
": "{Integer}"The query string is placed after the resource URL, seperated with a questionmark (?). The query string is composed of a series of query parameters with values. See the page about query parameters on how to use these parameters.
| $access_token String, optional | After successful login you get an access token which needs to be provided in all API requests. Even though it is possible to pass this token as query parameter, we recommended passing it using the HTTP request header as described in Authorization. Note that all access tokens have an expiration time. |
| $db String, optional | Set the database/company for the request |
| $useMinimumVersion Integer, optional | Used to run a new version of an API resource when your API client is running a deprecated API resource. See the Breaking changes page for more information. |
| $showCustomFields Boolean, optional | Set to "true" to include custom fields. Default value is false. |
Read more about filters and sorting on how to use filter parameters and named filters.
Read more about filters and sorting on how to use sortable parameters
Requesting this resource will yield the following response. Mouse over fieldnames (or fieldgroups) for descriptions and other useful information about the fields. Fields colored in grey is expandable fields.
Please note that some fields may be removed from the response, based on user roles/duties/permissions.
List of available operations/actions for this resource.
See the operations documentation for more information about API operations.
Possible error codes the response might return:
| Error 101346 HTTP 404 | Stock location assignment log not found |
| Error 101420 HTTP 404 | Setting definition not found |
| Error 100199 HTTP 404 | Location is not found |
| Error 108137 HTTP 400 | Standard ManhourRate is not set for Resource |
| Error 107763 HTTP 400 | Only product structures can be set up for line production |
| Error 107764 HTTP 400 | Only product structures can be externally manufactured |
| Error 109643 HTTP 400 | Safetystock cannot be greater than maximumstock |
| Error 103478 HTTP 400 | Purchase price is required |
| Error 102109 HTTP 400 | Supplier is required |
| Error 100047 HTTP 404 | Supplier not found |
| Error 101097 HTTP 404 | Given currency {0} mismatch with currencies of supplier {1} |
| Error 109482 HTTP 400 | The availability start date for non-owners must not precede the rental unit's availability date |
| Error 109483 HTTP 400 | The end date of availability for non-owners cannot be later than the end date of the rental unit |
| Error 104253 HTTP 400 | ProduceInMultipleOf can only be changed on product structures. |
| Error 107694 HTTP 400 | Use line production can only be changed on product structeres |
| Error 106999 HTTP 400 | Sub module 'Projectorder' is not activated in this company |
| Error 106436 HTTP 400 | Unit can only be changed when status is equal to draft (status 1) |
| Error 100167 HTTP 404 | Measurement unit not found |
| Error 104486 HTTP 400 | Unit production is only allowed for measurment units (UNI) of type QTY |
| Error 100200 HTTP 404 | Special handling code not found |
| Error 100092 HTTP 404 | Service template not found |
| Error 103020 HTTP 404 | Qcdoc not found |
| Error 101091 HTTP 404 | Contry of origin is not valid: {0} |
| Error 101124 HTTP 400 | Hardware code already exists |
| Error 106437 HTTP 400 | Type can not be changed when status is not equal to draft (status 1) |
| Error 106680 HTTP 400 | Not allowed when product is of subscription sales type |
| Error 101009 HTTP 400 | The product has a structure. You can only change the product type to a type that can contain a structure. |
| Error 101010 HTTP 400 | The product structure contains operations and can not be changed to become a phantom structure |
| Error 101008 HTTP 400 | Cannot change product type from a physical type to a virtual type |
| Error 101007 HTTP 400 | Cannot change product type from a virtual type to a physical type |
| Error 108988 HTTP 400 | Sales type can not be changed when status is equal to completed(status 9) |
| Error 109184 HTTP 400 | Sales type can not be changed to Subscription from other types. |
| Error 109185 HTTP 400 | Sales type can not be changed to other types from Subscription. |
| Error 109180 HTTP 400 | Sales type can not be changed from Rental/Sale to Sales |
| Error 103021 HTTP 400 | Linkid must be a rental product |
| Error 104760 HTTP 400 | Costing method can't be changed after product has been received |
| Error 104652 HTTP 400 | Both minimum sales price and minimum sales price currency must be given |
| Error 100563 HTTP 400 | Currency {0} is not supported by the system |
| Error 104653 HTTP 400 | Minimum sales price can not be negative |
| Error 106506 HTTP 404 | Image not found |