API

Sales APIs

POST sales/project-orders/{projectOrderId}/api-operations/101360/instances

Invoice multiple project order items on a new invoice.

This is an API operation. Read the documentation pages for more information about API operations.

HTTP method POST
URI https://api.rambase.net/sales/project-orders/{projectOrderId}/api-operations/101360/instances
Supported formats Xml, Html, Json (ex. $format=json)
- URI parameter {projectOrderId} Project order identifier
Integer, minimum 100000
Successful HTTP status code 200
API resource identifier 5041, version 2

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
     <LatestIncurredCostDate
LatestIncurredCostDate

Required/mandatory field

The date this billing basis was incurred

>
{Date}</LatestIncurredCostDate>
3
     <ProjectOrderItems>
4
          <ProjectOrderItem>
5
               <ProjectOrderItemId
ProjectOrderItemId

Required/mandatory field

Project order item identifier

Minimum value: 1

>
{Integer}</ProjectOrderItemId>
6
          </ProjectOrderItem>
7
     </ProjectOrderItems>
8
</Parameters>
1
{
2
     "parameters": {
3
          "latestIncurredCostDate
LatestIncurredCostDate

Required/mandatory field

The date this billing basis was incurred

":
"{Date}",
4
          "projectOrderItems": [
5
               {
6
                    "projectOrderItemId
ProjectOrderItemId

Required/mandatory field

Project order item identifier

Minimum value: 1

":
"{Integer}"
7
               }
8
          ]
9
     }
10
}

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 107999 HTTP 400 Rental contract not found
Error 108092 HTTP 400 Rental contract version not found
Error 101395 HTTP 400 Time is required
Error 105305 HTTP 400 Project order can only be registered if it is pending sealing or registration (status 1)
Error 109596 HTTP 400 Finance project is mandatory for project order
Error 109599 HTTP 400 Finance project is missing on the following item(s): {0}
Error 109597 HTTP 400 Department is mandatory for project order
Error 109598 HTTP 400 Department is missing on the following item(s): {0}
Error 105994 HTTP 400 Project order cannot be registered because the customer is blocked for orders
Error 105306 HTTP 400 Project order can only be paused if it is active (status 4)
Error 105308 HTTP 400 Project order can only be set as pending last billing if it is active (status 4)
Error 107052 HTTP 400 Final billing is not needed for internal project orders
Error 105309 HTTP 400 Project order can only be set as processed if it either has no items or is active (status 4), paused (status 5) or pending last billing (status 8)
Error 105138 HTTP 400 This change of status is not allowed in a project order
Error 108856 HTTP 400 Rate change type not found
Error 108352 HTTP 400 Stage of rental contract item not found
Error 108474 HTTP 400 Quote reference is required for quote item
Error 101040 HTTP 400 Quantity must be filled in to create a new item
Error 108670 HTTP 400 Discount percentage must be a number between 0 and 100
Error 105743 HTTP 400 Start date is required
Error 108676 HTTP 400 Effective date cannot be earlier than the effective date of the contract
Error 109546 HTTP 400 Changing effective date is not allowed at this point
Error 104971 HTTP 400 The start date cannot be later than the end date
Error 103491 HTTP 400 Invalid expiration date
Error 108679 HTTP 400 Expected check-in date cannot be earlier then expected check-out date
Error 108262 HTTP 404 Recurring rate not found
Error 108691 HTTP 400 Recurring rate is not active
Error 108018 HTTP 400 Currency mismatch
Error 108016 HTTP 400 Product id mismatch
Error 108824 HTTP 400 Cannot apply recurring rate as it is not valid for selected period
Error 109556 HTTP 400 Effective date can not be earlier than quote's expiration date
Error 108671 HTTP 400 The effective date cannot be changed because earlier days have already been invoiced
Error 108684 HTTP 400 The expiration date cannot be changed because later days have already been invoiced
Error 108683 HTTP 400 Termination date must be earlier then the expiration date
Error 109306 HTTP 400 Shipping details can only be updated until an item is shipped
Error 109467 HTTP 400 The rental unit is not available to non-owners for the selected period
Error 109315 HTTP 400 Rental unit is not available within given period