API

Product APIs

POST product/products/{productId}/api-operations/101535/instances

Copy product and create a new product.

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/{productId}/api-operations/101535/instances
Supported formats Xml, Html, Json (ex. $format=json)
- URI parameter {productId} Product identifier
Integer, minimum 10000
Successful HTTP status code 200
API resource identifier 5493, version 6

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.

Format:
1
<Parameters>
2
     <CopyGeneralLedgerAccount
CopyGeneralLedgerAccount

If true, account numbers will be copied to the new product

Default value: False

This field is optional.

>
{Boolean}</CopyGeneralLedgerAccount>
3
     <CopyCustomsTariffClassifications
CopyCustomsTariffClassifications

If true, customer tariff codes will be copied to the new product

Default value: False

This field is optional.

>
{Boolean}</CopyCustomsTariffClassifications>
4
     <CopyReplacements
CopyReplacements

If true, replacements will be copied to the new product

Default value: False

This field is optional.

>
{Boolean}</CopyReplacements>
5
     <CopyProductStructureVersion
CopyProductStructureVersion

If true, product structure will be copied to the new product

Default value: False

This field is optional.

>
{Boolean}</CopyProductStructureVersion>
6
     <CopyPurchasePrices
CopyPurchasePrices

If true, purchase prices will be copied to the new product. Be aware that you are not able to delete purchase prices from ART. The prices will be deactivated in status 9 according to Expiration Date (VALIDTO)

Default value: False

This field is optional.

>
{Boolean}</CopyPurchasePrices>
7
     <CopySalesPrices
CopySalesPrices

If true, sales prices will be copied to the new product

Default value: False

This field is optional.

>
{Boolean}</CopySalesPrices>
8
     <CopyCustomFields
CopyCustomFields

If true, user defined fields will be copied to the new product

Default value: False

This field is optional.

>
{Boolean}</CopyCustomFields>
9
     <Name
Name

Required/mandatory field

Name of the product

>
{String}</Name>
10
     <Description
Description

Description of the product

This field is optional.

>
{String}</Description>
11
</Parameters>
1
{
2
     "parameters": {
3
          "copyGeneralLedgerAccount
CopyGeneralLedgerAccount

If true, account numbers will be copied to the new product

Default value: False

This field is optional.

":
"{Boolean}",
4
          "copyCustomsTariffClassifications
CopyCustomsTariffClassifications

If true, customer tariff codes will be copied to the new product

Default value: False

This field is optional.

":
"{Boolean}",
5
          "copyReplacements
CopyReplacements

If true, replacements will be copied to the new product

Default value: False

This field is optional.

":
"{Boolean}",
6
          "copyProductStructureVersion
CopyProductStructureVersion

If true, product structure will be copied to the new product

Default value: False

This field is optional.

":
"{Boolean}",
7
          "copyPurchasePrices
CopyPurchasePrices

If true, purchase prices will be copied to the new product. Be aware that you are not able to delete purchase prices from ART. The prices will be deactivated in status 9 according to Expiration Date (VALIDTO)

Default value: False

This field is optional.

":
"{Boolean}",
8
          "copySalesPrices
CopySalesPrices

If true, sales prices will be copied to the new product

Default value: False

This field is optional.

":
"{Boolean}",
9
          "copyCustomFields
CopyCustomFields

If true, user defined fields will be copied to the new product

Default value: False

This field is optional.

":
"{Boolean}",
10
          "name
Name

Required/mandatory field

Name of the product

":
"{String}",
11
          "description
Description

Description of the product

This field is optional.

":
"{String}"
12
     }
13
}

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.
$lang String, optional Specifies the language used in the response, following the 3-letter ISO-639-1 [lll]

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.

Format:
1
<OperationInstance>
2
     <OperationInstanceId
OperationInstanceId

Operation instance identifier

>
{Integer}</OperationInstanceId>
3
     <Status
Status

Status of the instance, 2 = started, 7 = error, 9 = finished

>
{Integer}</Status>
4
     <CreatedAt
CreatedAt

Date and time the operation instance was created

>
{Datetime}</CreatedAt>
5
     <CreatedBy
CreatedBy

Reference to the creator

>
6
          <UserId
UserId

User identifier

>
{Integer}</UserId>
7
          <UserLink
UserLink

User reference

>
{String}</UserLink>
8
     </CreatedBy>
9
     <CreatedFor>
10
          <ObjectId
ObjectId

Identifier of the object

>
{String}</ObjectId>
11
          <ObjectType
ObjectType

Type of object

>
{String}</ObjectType>
12
          <ObjectLink
ObjectLink

API reference to the object

>
{String}</ObjectLink>
13
          <ItemId
ItemId

Item-number of the object

>
{Integer}</ItemId>
14
          <ItemType
ItemType

Type of item

>
{String}</ItemType>
15
          <ItemLink
ItemLink

API reference to the item

>
{String}</ItemLink>
16
          <RamBaseKey
RamBaseKey

Internal RamBase identifier of the object/item

>
{String}</RamBaseKey>
17
     </CreatedFor>
18
     <ApiOperation>
19
          <ApiOprationId
ApiOprationId

Api operation identifiers

>
{Integer}</ApiOprationId>
20
          <ApiOperationLink
ApiOperationLink

Api operation reference

>
{String}</ApiOperationLink>
21
     </ApiOperation>
22
     <ObjectReference>
23
          <ObjectId
ObjectId

Identifier of the object

>
{String}</ObjectId>
24
          <ObjectType
ObjectType

Type of object

>
{String}</ObjectType>
25
          <ObjectLink
ObjectLink

API reference to the object

>
{String}</ObjectLink>
26
          <ItemId
ItemId

Item-number of the object

>
{Integer}</ItemId>
27
          <ItemType
ItemType

Type of item

>
{String}</ItemType>
28
          <ItemLink
ItemLink

API reference to the item

>
{String}</ItemLink>
29
          <RamBaseKey
RamBaseKey

Internal RamBase identifier of the object/item

>
{String}</RamBaseKey>
30
     </ObjectReference>
31
     <Error>
32
          <Message
Message

Full error message/description. The message is generated from the specified ErrorMessage object, expanded with the given parameter(s).

>
{String}</Message>
33
          <TranslatedMessage
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>
34
          <StackTrace
StackTrace

Stack trace for details about the error

>
{String}</StackTrace>
35
          <ErrorMessage
ErrorMessage

Contains a reference to the error message, if an error occured

>
36
               <ErrorMessageId
ErrorMessageId

Error message identifier

>
{Integer}</ErrorMessageId>
37
               <ErrorMessageLink
ErrorMessageLink

Error message reference

>
{String}</ErrorMessageLink>
38
          </ErrorMessage>
39
          <Parameters>
40
               <Parameter>
41
                    <Index
Index

Error Key

>
{Integer}</Index>
42
                    <Value
Value

Value of the error parameter

>
{String}</Value>
43
               </Parameter>
44
          </Parameters>
45
          <InnerErrors>
46
               <Error>
47
                    <Message
Message

Full error message/description. The message is generated from the specified ErrorMessage object, expanded with the given parameter(s).

>
{String}</Message>
48
                    <TranslatedMessage
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>
49
                    <StackTrace
StackTrace

Stack trace for details about the error

>
{String}</StackTrace>
50
                    <ErrorMessage
ErrorMessage

Contains a reference to the error message, if an error occured

>
51
                         <ErrorMessageId
ErrorMessageId

Error message identifier

>
{Integer}</ErrorMessageId>
52
                         <ErrorMessageLink
ErrorMessageLink

Error message reference

>
{String}</ErrorMessageLink>
53
                    </ErrorMessage>
54
                    <Parameters>
55
                         <Parameter>
56
                              <Index
Index

Error Key

>
{Integer}</Index>
57
                              <Value
Value

Value of the error parameter

>
{String}</Value>
58
                         </Parameter>
59
                    </Parameters>
60
               </Error>
61
          </InnerErrors>
62
     </Error>
63
     <ResultValues>
64
          <ResultValue>
65
               <Key
Key

Key of the result value

>
{String}</Key>
66
               <Value
Value

Value of the result value

>
{String}</Value>
67
          </ResultValue>
68
     </ResultValues>
69
     <SystemJob
SystemJob

Contains a reference to the system job, if a system job was started

>
70
          <ObjectId
ObjectId

{OIN.ObjectId}

>
{Integer}</ObjectId>
71
          <ObjectType
ObjectType

Type of object

>
{String}</ObjectType>
72
          <PercentComplete
PercentComplete

Percent complete

>
{Integer}</PercentComplete>
73
          <ObjectLink
ObjectLink

API reference to the object

>
{String}</ObjectLink>
74
     </SystemJob>
75
     <OperationInstanceLink
OperationInstanceLink

Operation instance reference

>
{String}</OperationInstanceLink>
76
</OperationInstance>
1
{
2
     "operationInstance": {
3
          "operationInstanceId
OperationInstanceId

Operation instance identifier

":
"{Integer}",
4
          "status
Status

Status of the instance, 2 = started, 7 = error, 9 = finished

":
"{Integer}",
5
          "createdAt
CreatedAt

Date and time the operation instance was created

":
"{Datetime}",
6
          "createdBy
CreatedBy

Reference to the creator

":
{
7
               "userId
UserId

User identifier

":
"{Integer}",
8
               "userLink
UserLink

User reference

":
"{String}"
9
          },
10
          "createdFor": {
11
               "objectId
ObjectId

Identifier of the object

":
"{String}",
12
               "objectType
ObjectType

Type of object

":
"{String}",
13
               "objectLink
ObjectLink

API reference to the object

":
"{String}",
14
               "itemId
ItemId

Item-number of the object

":
"{Integer}",
15
               "itemType
ItemType

Type of item

":
"{String}",
16
               "itemLink
ItemLink

API reference to the item

":
"{String}",
17
               "ramBaseKey
RamBaseKey

Internal RamBase identifier of the object/item

":
"{String}"
18
          },
19
          "apiOperation": {
20
               "apiOprationId
ApiOprationId

Api operation identifiers

":
"{Integer}",
21
               "apiOperationLink
ApiOperationLink

Api operation reference

":
"{String}"
22
          },
23
          "objectReference": {
24
               "objectId
ObjectId

Identifier of the object

":
"{String}",
25
               "objectType
ObjectType

Type of object

":
"{String}",
26
               "objectLink
ObjectLink

API reference to the object

":
"{String}",
27
               "itemId
ItemId

Item-number of the object

":
"{Integer}",
28
               "itemType
ItemType

Type of item

":
"{String}",
29
               "itemLink
ItemLink

API reference to the item

":
"{String}",
30
               "ramBaseKey
RamBaseKey

Internal RamBase identifier of the object/item

":
"{String}"
31
          },
32
          "error": {
33
               "message
Message

Full error message/description. The message is generated from the specified ErrorMessage object, expanded with the given parameter(s).

":
"{String}",
34
               "translatedMessage
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}",
35
               "stackTrace
StackTrace

Stack trace for details about the error

":
"{String}",
36
               "errorMessage
ErrorMessage

Contains a reference to the error message, if an error occured

":
{
37
                    "errorMessageId
ErrorMessageId

Error message identifier

":
"{Integer}",
38
                    "errorMessageLink
ErrorMessageLink

Error message reference

":
"{String}"
39
               },
40
               "parameters": [
41
                    {
42
                         "index
Index

Error Key

":
"{Integer}",
43
                         "value
Value

Value of the error parameter

":
"{String}"
44
                    }
45
               ],
46
               "innerErrors": [
47
                    {
48
                         "message
Message

Full error message/description. The message is generated from the specified ErrorMessage object, expanded with the given parameter(s).

":
"{String}",
49
                         "translatedMessage
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}",
50
                         "stackTrace
StackTrace

Stack trace for details about the error

":
"{String}",
51
                         "errorMessage
ErrorMessage

Contains a reference to the error message, if an error occured

":
{
52
                              "errorMessageId
ErrorMessageId

Error message identifier

":
"{Integer}",
53
                              "errorMessageLink
ErrorMessageLink

Error message reference

":
"{String}"
54
                         },
55
                         "parameters": [
56
                              {
57
                                   "index
Index

Error Key

":
"{Integer}",
58
                                   "value
Value

Value of the error parameter

":
"{String}"
59
                              }
60
                         ]
61
                    }
62
               ]
63
          },
64
          "resultValues": [
65
               {
66
                    "key
Key

Key of the result value

":
"{String}",
67
                    "value
Value

Value of the result value

":
"{String}"
68
               }
69
          ],
70
          "systemJob
SystemJob

Contains a reference to the system job, if a system job was started

":
{
71
               "objectId
ObjectId

{OIN.ObjectId}

":
"{Integer}",
72
               "objectType
ObjectType

Type of object

":
"{String}",
73
               "percentComplete
PercentComplete

Percent complete

":
"{Integer}",
74
               "objectLink
ObjectLink

API reference to the object

":
"{String}"
75
          },
76
          "operationInstanceLink
OperationInstanceLink

Operation instance reference

":
"{String}"
77
     }
78
}

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 100051 HTTP 400 When logged in as supplier {0} you do not have access to this API resource
Error 100050 HTTP 403 No admittance as customer {0}
Error 105970 HTTP 400 End date is required
Error 102189 HTTP 400 Missing mandatory parameter for goods reception item id
Error 107762 HTTP 400 Only product structures can auto create work orders for sub production
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 102751 HTTP 400 Selected pricelist is not active
Error 101586 HTTP 400 Sales price already exists for this quantity and this pricelist
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 103554 HTTP 400 AutomaticallyCreateWorkOrdersForSubstructures can only be changed on product structures
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 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 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