API

Rental APIs

POST rental/contracts

Creation of new rental contract

HTTP method POST
URI https://api.rambase.net/rental/contracts
Supported formats Xml, Html, Json (ex. $format=json)
Custom fields Custom fields supported
Successful HTTP status code 201
API resource identifier 5759, version 10

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
<RentalContract>
2
     <Name
Name

Required/mandatory field

Short description for the rental contract

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

Detailed description for the recurring rental contract

This field is optional.

>
{String}</Description>
4
     <Currency
Currency

Required/mandatory field

Three character code following the ISO 4217 standard

Applicable domain values can be found here

>
{String}</Currency>
5
     <RentalType
RentalType

Type of contract: Subscription, Rent-to-Rent, Rent-to-Purchase, Customer owned, Re-rent

Applicable domain values can be found here

This field is optional.

>
{Integer}</RentalType>
6
     <InvoiceFrequency
InvoiceFrequency

Sets frequency at which invoice can be issued.

Applicable domain values can be found here

This field is optional.

>
{Integer}</InvoiceFrequency>
7
     <CreateAccountAdjustmentPlan
CreateAccountAdjustmentPlan

The control bit of a mechanism of automatic creation of periods adustments

Default value: False

This field is optional.

>
{Boolean}</CreateAccountAdjustmentPlan>
8
     <BaseDate
BaseDate

A date from which invoices will start to be generated from

This field is optional.

>
{Date}</BaseDate>
9
     <IsAutomaticallyIssued
IsAutomaticallyIssued

"True" if invoices in this rental contract should be released automatically

Default value: False

This field is optional.

>
{Boolean}</IsAutomaticallyIssued>
10
     <AdvanceInvoicing
AdvanceInvoicing

This field is optional.

>
11
          <IsInvoicedInAdvance
IsInvoicedInAdvance

True if rental contract is invoiced in advance

Default value: False

This field is optional.

>
{Boolean}</IsInvoicedInAdvance>
12
          <BaseDateAdvanceDays
BaseDateAdvanceDays

Number of days to advance invoicing from base date

Minimum value: 0

This field is optional.

>
{Integer}</BaseDateAdvanceDays>
13
     </AdvanceInvoicing>
14
     <Period>
15
          <EffectiveDate
EffectiveDate

Required/mandatory field

Start date for the recurring contract

>
{Date}</EffectiveDate>
16
          <ExpirationDate
ExpirationDate

Required/mandatory field

End date of the recurring contract

>
{Date}</ExpirationDate>
17
     </Period>
18
     <Customer>
19
          <CustomerId
CustomerId

Required/mandatory field

Customer identifier

Minimum value: 10000

>
{Integer}</CustomerId>
20
     </Customer>
21
     <Responsible
Responsible

PID reference of sales assistant for the contract

This field is optional.

>
22
          <UserId
UserId

User identifier

Minimum value: 100

This field is optional.

>
{Integer}</UserId>
23
     </Responsible>
24
     <InvoiceAddress
InvoiceAddress

This field is optional.

>
25
          <AddressId
AddressId

Reference to customer's invoice address

Minimum value: 1

This field is optional.

>
{Integer}</AddressId>
26
     </InvoiceAddress>
27
     <ShippingAddress
ShippingAddress

This field is optional.

>
28
          <AddressId
AddressId

Reference to customer's shipping address

Minimum value: 1

This field is optional.

>
{Integer}</AddressId>
29
     </ShippingAddress>
30
     <Payment
Payment

This field is optional.

>
31
          <PaymentTerms
PaymentTerms

Payment terms for rental contract

Applicable domain values can be found here

This field is optional.

>
{String}</PaymentTerms>
32
     </Payment>
33
     <VATDetails
VATDetails

This field is optional.

>
34
          <VATHandling
VATHandling

Specifies how value added tax (VAT) should be calculated. Either always include VAT, always exclude VAT or use standard/default VAT rules.

Applicable domain values can be found here

This field is optional.

>
{String}</VATHandling>
35
     </VATDetails>
36
</RentalContract>
1
{
2
     "rentalContract": {
3
          "name
Name

Required/mandatory field

Short description for the rental contract

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

Detailed description for the recurring rental contract

This field is optional.

":
"{String}",
5
          "currency
Currency

Required/mandatory field

Three character code following the ISO 4217 standard

Applicable domain values can be found here

":
"{String}",
6
          "rentalType
RentalType

Type of contract: Subscription, Rent-to-Rent, Rent-to-Purchase, Customer owned, Re-rent

Applicable domain values can be found here

This field is optional.

":
"{Integer}",
7
          "invoiceFrequency
InvoiceFrequency

Sets frequency at which invoice can be issued.

Applicable domain values can be found here

This field is optional.

":
"{Integer}",
8
          "createAccountAdjustmentPlan
CreateAccountAdjustmentPlan

The control bit of a mechanism of automatic creation of periods adustments

Default value: False

This field is optional.

":
"{Boolean}",
9
          "baseDate
BaseDate

A date from which invoices will start to be generated from

This field is optional.

":
"{Date}",
10
          "isAutomaticallyIssued
IsAutomaticallyIssued

"True" if invoices in this rental contract should be released automatically

Default value: False

This field is optional.

":
"{Boolean}",
11
          "advanceInvoicing
AdvanceInvoicing

This field is optional.

":
{
12
               "isInvoicedInAdvance
IsInvoicedInAdvance

True if rental contract is invoiced in advance

Default value: False

This field is optional.

":
"{Boolean}",
13
               "baseDateAdvanceDays
BaseDateAdvanceDays

Number of days to advance invoicing from base date

Minimum value: 0

This field is optional.

":
"{Integer}"
14
          },
15
          "period": {
16
               "effectiveDate
EffectiveDate

Required/mandatory field

Start date for the recurring contract

":
"{Date}",
17
               "expirationDate
ExpirationDate

Required/mandatory field

End date of the recurring contract

":
"{Date}"
18
          },
19
          "customer": {
20
               "customerId
CustomerId

Required/mandatory field

Customer identifier

Minimum value: 10000

":
"{Integer}"
21
          },
22
          "responsible
Responsible

PID reference of sales assistant for the contract

This field is optional.

":
{
23
               "userId
UserId

User identifier

Minimum value: 100

This field is optional.

":
"{Integer}"
24
          },
25
          "invoiceAddress
InvoiceAddress

This field is optional.

":
{
26
               "addressId
AddressId

Reference to customer's invoice address

Minimum value: 1

This field is optional.

":
"{Integer}"
27
          },
28
          "shippingAddress
ShippingAddress

This field is optional.

":
{
29
               "addressId
AddressId

Reference to customer's shipping address

Minimum value: 1

This field is optional.

":
"{Integer}"
30
          },
31
          "payment
Payment

This field is optional.

":
{
32
               "paymentTerms
PaymentTerms

Payment terms for rental contract

Applicable domain values can be found here

This field is optional.

":
"{String}"
33
          },
34
          "vATDetails
VATDetails

This field is optional.

":
{
35
               "vATHandling
VATHandling

Specifies how value added tax (VAT) should be calculated. Either always include VAT, always exclude VAT or use standard/default VAT rules.

Applicable domain values can be found here

This field is optional.

":
"{String}"
36
          }
37
     }
38
}

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]
$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.

Format:
1
1

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 100027 HTTP 400 Missing mandatory parameter {0}
Error 100018 HTTP 404 Document {0} not found
Error 109042 HTTP 400 Not allowed for fixed assets which are not active (ST!=4 and ST!=8)
Error 109041 HTTP 400 Not allowed for goods reception items which are not registered as stock
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 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