Product APIs
Bulk update products. This is an API operation. Read the documentation pages for more information about API operations.
| HTTP method | POST |
| URI | https://api.rambase.net/product/products?search={search}&searchMode={searchMode}/api-operations/101541/instances |
| Supported formats | Xml, Html, Json (ex. $format=json) |
| Custom fields | Custom fields supported |
| Successful HTTP status code | 200 |
| API resource identifier | 5518, version 18 |
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.
Parameters
This field is optional.
>Filter
Look up filter to select which products that should be updated.
This field is optional.
>{String}</Filter>Product
This field is optional.
>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>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>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>Manufacturer
Manufacturer of the product
This field is optional.
>ManufacturerId
Manufacturer identifier
Minimum value: 1000
This field is optional.
>{Integer}</ManufacturerId>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>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>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>Sales
This field is optional.
>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>Stock
This field is optional.
>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>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>ProductLocation
This field is optional.
>Location
This field is optional.
>LocationId
Location identifier
Minimum value: 10000
This field is optional.
>{Integer}</LocationId>Procurement
This field is optional.
>BlockedForPurchase
If a product is blocked for purchase, no purchase quotes or purchase orders with that product can be registered.
This field is optional.
>{Boolean}</BlockedForPurchase>ExcludeFromSOPProcesses
Exclude product from sales- and operation (SOP) processes for location. Typically used for products/materials being purchased, but can also be set for products with product structure.
This field is optional.
>{Boolean}</ExcludeFromSOPProcesses>PurchaseGroup
This field is optional.
>PurchaseGroupId
Purchase group identifier
This field is optional.
>{Integer}</PurchaseGroupId>Stock
This field is optional.
>PreferredStockLocation
Preferred stock location in this location for this product
This field is optional.
>StockLocationId
Stock location identifier
Minimum value: 100000
This field is optional.
>{Integer}</StockLocationId>WarehouseOperatorsGroup
This field is optional.
>WarehouseOperatorsGroupId
Warehouse operators group identifier
Minimum value: 100000
This field is optional.
>{Integer}</WarehouseOperatorsGroupId>Production
This field is optional.
>BlockedForProduction
If a product is blocked for production, no production work orders with that product can be registered.
This field is optional.
>{Boolean}</BlockedForProduction>AutomaticallyCreateWorkOrdersForSubstructures
True if production work orders should be created for sub structures automatically
This field is optional.
>{Boolean}</AutomaticallyCreateWorkOrdersForSubstructures>IsManufacturedExternally
True if product structure is manufactured externally, and not by ourself
This field is optional.
>{Boolean}</IsManufacturedExternally>UseLineProduction
True if this product is planned and manufactured in line production.
This field is optional.
>{Boolean}</UseLineProduction>Sales
This field is optional.
>BlockedForSale
If a product is blocked for sales, no sales quotes, sales order requests, sales order change requests or sales orders with that product can be registered in this location.
This field is optional.
>{Boolean}</BlockedForSale>BlockedForShipping
If a product is blocked for shipping, no shipments can be sent to customers from this location.
This field is optional.
>{Boolean}</BlockedForShipping>CustomsTariffClassifications
This field is optional.
>CustomsTariffClassification
This field is optional.
>Classification
Customs tariff classification
Applicable domain values can be found here
This field is optional.
>{String}</Classification>CustomsTariff
This field is optional.
>CustomsTariffId
Customs tariff identifier
This field is optional.
>{Integer}</CustomsTariffId>ProductsToUpdate
This field is optional.
>Product
This field is optional.
>ProductId
Product identifier
Minimum value: 10000
This field is optional.
>{Integer}</ProductId>Parameters
This field is optional.
": {Filter
Look up filter to select which products that should be updated.
This field is optional.
": "{String}",Product
This field is optional.
": {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}",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}",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}",Manufacturer
Manufacturer of the product
This field is optional.
": {ManufacturerId
Manufacturer identifier
Minimum value: 1000
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}",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}",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}"Sales
This field is optional.
": {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}"Stock
This field is optional.
": {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}"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}"ProductLocation
This field is optional.
": {Location
This field is optional.
": {LocationId
Location identifier
Minimum value: 10000
This field is optional.
": "{Integer}"Procurement
This field is optional.
": {BlockedForPurchase
If a product is blocked for purchase, no purchase quotes or purchase orders with that product can be registered.
This field is optional.
": "{Boolean}",ExcludeFromSOPProcesses
Exclude product from sales- and operation (SOP) processes for location. Typically used for products/materials being purchased, but can also be set for products with product structure.
This field is optional.
": "{Boolean}",PurchaseGroup
This field is optional.
": {PurchaseGroupId
Purchase group identifier
This field is optional.
": "{Integer}"Stock
This field is optional.
": {PreferredStockLocation
Preferred stock location in this location for this product
This field is optional.
": {StockLocationId
Stock location identifier
Minimum value: 100000
This field is optional.
": "{Integer}"WarehouseOperatorsGroup
This field is optional.
": {WarehouseOperatorsGroupId
Warehouse operators group identifier
Minimum value: 100000
This field is optional.
": "{Integer}"Production
This field is optional.
": {BlockedForProduction
If a product is blocked for production, no production work orders with that product can be registered.
This field is optional.
": "{Boolean}",AutomaticallyCreateWorkOrdersForSubstructures
True if production work orders should be created for sub structures automatically
This field is optional.
": "{Boolean}",IsManufacturedExternally
True if product structure is manufactured externally, and not by ourself
This field is optional.
": "{Boolean}",UseLineProduction
True if this product is planned and manufactured in line production.
This field is optional.
": "{Boolean}"Sales
This field is optional.
": {BlockedForSale
If a product is blocked for sales, no sales quotes, sales order requests, sales order change requests or sales orders with that product can be registered in this location.
This field is optional.
": "{Boolean}",BlockedForShipping
If a product is blocked for shipping, no shipments can be sent to customers from this location.
This field is optional.
": "{Boolean}"CustomsTariffClassifications
This field is optional.
": [Classification
Customs tariff classification
Applicable domain values can be found here
This field is optional.
": "{String}",CustomsTariff
This field is optional.
": {CustomsTariffId
Customs tariff identifier
This field is optional.
": "{Integer}"ProductsToUpdate
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.
| search String, optional | Keyword to limit result set by searching in product name, product description, customer product name, supplier product name and equivalent product names. |
| searchMode String, optional |
Defines how the search query parameter works. Possible values are:
DEFAULT which only searches in product name and description, fastest search mode, but does not allow filtering on custom fields. INCLEQV which includes equivalents in the search. SSDEFAULT which only searches in product name and description, slower, but allows filtering on custom fields. SSINCLEQV which includes equivalents in the search.
Default: DEFAULT |
| $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. |
| $lang String, optional | Specifies the language used in the response, following the 3-letter ISO-639-1 [lll] |
| $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.
Please note that some fields may be removed from the response, based on user roles/duties/permissions.
OperationInstanceId
Operation instance identifier
>{Integer}</OperationInstanceId>Status
Status of the instance, 2 = started, 7 = error, 9 = finished
>{Integer}</Status>CreatedAt
Date and time the operation instance was created
>{Datetime}</CreatedAt>CreatedBy
Reference to the creator
>UserId
User identifier
>{Integer}</UserId>UserLink
User reference
>{String}</UserLink>ObjectId
Identifier of the object
>{String}</ObjectId>ObjectType
Type of object
>{String}</ObjectType>ObjectLink
API reference to the object
>{String}</ObjectLink>ItemId
Item-number of the object
>{Integer}</ItemId>ItemType
Type of item
>{String}</ItemType>ItemLink
API reference to the item
>{String}</ItemLink>RamBaseKey
Internal RamBase identifier of the object/item
>{String}</RamBaseKey>ApiOprationId
Api operation identifiers
>{Integer}</ApiOprationId>ApiOperationLink
Api operation reference
>{String}</ApiOperationLink>ObjectId
Identifier of the object
>{String}</ObjectId>ObjectType
Type of object
>{String}</ObjectType>ObjectLink
API reference to the object
>{String}</ObjectLink>ItemId
Item-number of the object
>{Integer}</ItemId>ItemType
Type of item
>{String}</ItemType>ItemLink
API reference to the item
>{String}</ItemLink>RamBaseKey
Internal RamBase identifier of the object/item
>{String}</RamBaseKey>Message
Full error message/description. The message is generated from the specified ErrorMessage object, expanded with the given parameter(s).
>{String}</Message>TranslatedMessage
Full translated error description. The language used is specified either in $lang or by user settings. If error message don't exist in desired language, english will be used.
>{String}</TranslatedMessage>StackTrace
Stack trace for details about the error
>{String}</StackTrace>ErrorMessage
Contains a reference to the error message, if an error occured
>ErrorMessageId
Error message identifier
>{Integer}</ErrorMessageId>ErrorMessageLink
Error message reference
>{String}</ErrorMessageLink>Index
Error Key
>{Integer}</Index>Value
Value of the error parameter
>{String}</Value>Message
Full error message/description. The message is generated from the specified ErrorMessage object, expanded with the given parameter(s).
>{String}</Message>TranslatedMessage
Full translated error description. The language used is specified either in $lang or by user settings. If error message don't exist in desired language, english will be used.
>{String}</TranslatedMessage>StackTrace
Stack trace for details about the error
>{String}</StackTrace>ErrorMessage
Contains a reference to the error message, if an error occured
>ErrorMessageId
Error message identifier
>{Integer}</ErrorMessageId>ErrorMessageLink
Error message reference
>{String}</ErrorMessageLink>Index
Error Key
>{Integer}</Index>Value
Value of the error parameter
>{String}</Value>Key
Key of the result value
>{String}</Key>Value
Value of the result value
>{String}</Value>SystemJob
Contains a reference to the system job, if a system job was started
>ObjectId
{OIN.ObjectId}
>{Integer}</ObjectId>ObjectType
Type of object
>{String}</ObjectType>PercentComplete
Percent complete
>{Integer}</PercentComplete>ObjectLink
API reference to the object
>{String}</ObjectLink>OperationInstanceLink
Operation instance reference
>{String}</OperationInstanceLink>OperationInstanceId
Operation instance identifier
": "{Integer}",Status
Status of the instance, 2 = started, 7 = error, 9 = finished
": "{Integer}",CreatedAt
Date and time the operation instance was created
": "{Datetime}",CreatedBy
Reference to the creator
": {UserId
User identifier
": "{Integer}",UserLink
User reference
": "{String}"ObjectId
Identifier of the object
": "{String}",ObjectType
Type of object
": "{String}",ObjectLink
API reference to the object
": "{String}",ItemId
Item-number of the object
": "{Integer}",ItemType
Type of item
": "{String}",ItemLink
API reference to the item
": "{String}",RamBaseKey
Internal RamBase identifier of the object/item
": "{String}"ApiOprationId
Api operation identifiers
": "{Integer}",ApiOperationLink
Api operation reference
": "{String}"ObjectId
Identifier of the object
": "{String}",ObjectType
Type of object
": "{String}",ObjectLink
API reference to the object
": "{String}",ItemId
Item-number of the object
": "{Integer}",ItemType
Type of item
": "{String}",ItemLink
API reference to the item
": "{String}",RamBaseKey
Internal RamBase identifier of the object/item
": "{String}"Message
Full error message/description. The message is generated from the specified ErrorMessage object, expanded with the given parameter(s).
": "{String}",TranslatedMessage
Full translated error description. The language used is specified either in $lang or by user settings. If error message don't exist in desired language, english will be used.
": "{String}",StackTrace
Stack trace for details about the error
": "{String}",ErrorMessage
Contains a reference to the error message, if an error occured
": {ErrorMessageId
Error message identifier
": "{Integer}",ErrorMessageLink
Error message reference
": "{String}"Index
Error Key
": "{Integer}",Value
Value of the error parameter
": "{String}"Message
Full error message/description. The message is generated from the specified ErrorMessage object, expanded with the given parameter(s).
": "{String}",TranslatedMessage
Full translated error description. The language used is specified either in $lang or by user settings. If error message don't exist in desired language, english will be used.
": "{String}",StackTrace
Stack trace for details about the error
": "{String}",ErrorMessage
Contains a reference to the error message, if an error occured
": {ErrorMessageId
Error message identifier
": "{Integer}",ErrorMessageLink
Error message reference
": "{String}"Index
Error Key
": "{Integer}",Value
Value of the error parameter
": "{String}"Key
Key of the result value
": "{String}",Value
Value of the result value
": "{String}"SystemJob
Contains a reference to the system job, if a system job was started
": {ObjectId
{OIN.ObjectId}
": "{Integer}",ObjectType
Type of object
": "{String}",PercentComplete
Percent complete
": "{Integer}",ObjectLink
API reference to the object
": "{String}"OperationInstanceLink
Operation instance reference
": "{String}"
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 102115 HTTP 400 | All purchase price conversion fields must be blanked, or all must be filled in |
| Error 102116 HTTP 400 | Selected measurement unit is not activated in your system |
| Error 102112 HTTP 400 | Purchase price can not be set when using price convesrsion by measurement units |
| 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 107276 HTTP 400 | Serial number of registered rental unit cannot be modified |
| 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 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 |