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 101015 HTTP 404 Permission not found
Error 101420 HTTP 404 Setting definition not found
Error 109544 HTTP 400 The country of rental item's check-out location ({0}) does not match rental contract's default check-out location country ({1})
Error 100345 HTTP 400 Location is required
Error 101294 HTTP 400 Location is not active (status 4)
Error 109725 HTTP 400 The new main location must follow the same country as there are some items already defined for the contract
Error 108514 HTTP 400 Invalid invoice frequency
Error 102035 HTTP 400 Effective date is required
Error 108421 HTTP 400 The effective date cannot be later than the expiration date
Error 108635 HTTP 400 Effective date cannot be later then effective date of any contract item
Error 108735 HTTP 400 Expiration date of a contract cannot be earlier then expiration date of any of its quotes
Error 108674 HTTP 400 Termination date cannot be earlier then the effective date
Error 108675 HTTP 400 Termination date cannot be later then the expiration date
Error 108672 HTTP 400 Closing date cannot be earlier then the effective date
Error 108969 HTTP 400 The selected default check-out location ({0}) is not active
Error 108970 HTTP 400 The selected default check-out location ({0}) is not a rental depot capable location
Error 109723 HTTP 400 The country of selected default check-out location ({0}) is different than contract's main location country ({1})
Error 108971 HTTP 400 The selected default check-in location ({0}) is not active
Error 108972 HTTP 400 The selected default check-in location ({0}) is not a rental depot capable location
Error 109724 HTTP 400 The country of selected default check-in location ({0}) is different than contract's main location country ({1})
Error 109335 HTTP 400 Selected payment term is not supported on rental contract
Error 108670 HTTP 400 Discount percentage must be a number between 0 and 100
Error 109623 HTTP 400 VAT handling can't be changed since there has been made invoice(s) from this contract