API

Procurement APIs

POST procurement/contracts

Creates a new supplier purchase contract

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

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
<PurchaseContract>
2
     <Title
Title

Required/mandatory field

The title of the purchase contract

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

The description of what the contract is about

This field is optional.

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

The type of the contract.
Examples: Automatic or Consent

Applicable domain values can be found here

This field is optional.

>
{Integer}</Category>
5
     <Supplier
Supplier

This field is optional.

>
6
          <SupplierId
SupplierId

RamBase supplier identifier

Minimum value: 100

This field is optional.

>
{Integer}</SupplierId>
7
     </Supplier>
8
     <Contact
Contact

Link to the suppliers contact person

This field is optional.

>
9
          <ContactId
ContactId

Contact identifier

Minimum value: 100000

This field is optional.

>
{Integer}</ContactId>
10
     </Contact>
11
     <Validity
Validity

This field is optional.

>
12
          <EffectiveDate
EffectiveDate

The start of the purchase contract

This field is optional.

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

The end of the purchase contract

This field is optional.

>
{Date}</ExpirationDate>
14
          <IsTerminable
IsTerminable

Specifies if the contract is terminable not not

Default value: False

This field is optional.

>
{Boolean}</IsTerminable>
15
          <TerminationNoticePeriod
TerminationNoticePeriod

The length in days of the termination period. This will not have a meaning if the contract in non-terminable

Minimum value: 0

This field is optional.

>
{Integer}</TerminationNoticePeriod>
16
          <RenewalDueDays
RenewalDueDays

The minimum number of days before EndDate where the contract can be either cancelled (if set to automatically renew) or renewed (if set to be renewed by consent)

Minimum value: 0

This field is optional.

>
{Integer}</RenewalDueDays>
17
     </Validity>
18
     <MainResponsible
MainResponsible

The link to the main responsible employee. This is also the main contact point for the contract from the suppliers point of view

This field is optional.

>
19
          <EmployeeId
EmployeeId

Employee identifier

Minimum value: 100

This field is optional.

>
{Integer}</EmployeeId>
20
     </MainResponsible>
21
     <BackupResponsible
BackupResponsible

Link to the PID responsible if the main responsible is not available

This field is optional.

>
22
          <EmployeeId
EmployeeId

Employee identifier

Minimum value: 100

This field is optional.

>
{Integer}</EmployeeId>
23
     </BackupResponsible>
24
</PurchaseContract>
1
{
2
     "purchaseContract": {
3
          "title
Title

Required/mandatory field

The title of the purchase contract

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

The description of what the contract is about

This field is optional.

":
"{String}",
5
          "category
Category

The type of the contract.
Examples: Automatic or Consent

Applicable domain values can be found here

This field is optional.

":
"{Integer}",
6
          "supplier
Supplier

This field is optional.

":
{
7
               "supplierId
SupplierId

RamBase supplier identifier

Minimum value: 100

This field is optional.

":
"{Integer}"
8
          },
9
          "contact
Contact

Link to the suppliers contact person

This field is optional.

":
{
10
               "contactId
ContactId

Contact identifier

Minimum value: 100000

This field is optional.

":
"{Integer}"
11
          },
12
          "validity
Validity

This field is optional.

":
{
13
               "effectiveDate
EffectiveDate

The start of the purchase contract

This field is optional.

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

The end of the purchase contract

This field is optional.

":
"{Date}",
15
               "isTerminable
IsTerminable

Specifies if the contract is terminable not not

Default value: False

This field is optional.

":
"{Boolean}",
16
               "terminationNoticePeriod
TerminationNoticePeriod

The length in days of the termination period. This will not have a meaning if the contract in non-terminable

Minimum value: 0

This field is optional.

":
"{Integer}",
17
               "renewalDueDays
RenewalDueDays

The minimum number of days before EndDate where the contract can be either cancelled (if set to automatically renew) or renewed (if set to be renewed by consent)

Minimum value: 0

This field is optional.

":
"{Integer}"
18
          },
19
          "mainResponsible
MainResponsible

The link to the main responsible employee. This is also the main contact point for the contract from the suppliers point of view

This field is optional.

":
{
20
               "employeeId
EmployeeId

Employee identifier

Minimum value: 100

This field is optional.

":
"{Integer}"
21
          },
22
          "backupResponsible
BackupResponsible

Link to the PID responsible if the main responsible is not available

This field is optional.

":
{
23
               "employeeId
EmployeeId

Employee identifier

Minimum value: 100

This field is optional.

":
"{Integer}"
24
          }
25
     }
26
}

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.
$showDomainDescriptions Boolean, optional Set to "true" to include domain descriptions for fields using domain values. See the Domain values page for more information. Default value is false.
$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
<PurchaseContract>
2
     <PurchaseContractId
PurchaseContractId

Purchase contract identifier

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

The current status of a purchase contract

Possible domain values can be found here

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

Date and time of creation

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

The title of the purchase contract

>
{String}</Title>
6
     <Description
Description

The description of what the contract is about

>
{String}</Description>
7
     <Category
Category

The type of the contract.
Examples: Automatic or Consent

Possible domain values can be found here

>
{Integer}</Category>
8
     <Supplier>
9
          <SupplierId
SupplierId

RamBase supplier identifier

>
{Integer}</SupplierId>
10
          <Name
Name

Name of supplier (name of company or surname/familyname/lastname of a person)

>
{String}</Name>
11
          <FirstName
FirstName

Firstname/givenname if the supplier is a person

>
{String}</FirstName>
12
          <SupplierLink
SupplierLink

Supplier reference

>
{String}</SupplierLink>
13
     </Supplier>
14
     <Contact
Contact

Link to the suppliers contact person

>
15
          <ContactId
ContactId

Contact identifier

>
{Integer}</ContactId>
16
          <FirstName
FirstName

Firstname/givenname of the contact

>
{String}</FirstName>
17
          <LastName
LastName

Surname/familyname/lastname of the contact

>
{String}</LastName>
18
          <ContactLink
ContactLink

Contact reference

>
{String}</ContactLink>
19
     </Contact>
20
     <Validity>
21
          <EffectiveDate
EffectiveDate

The start of the purchase contract

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

The end of the purchase contract

>
{Date}</ExpirationDate>
23
          <IsTerminable
IsTerminable

Specifies if the contract is terminable not not

>
{Boolean}</IsTerminable>
24
          <TerminationNoticePeriod
TerminationNoticePeriod

The length in days of the termination period. This will not have a meaning if the contract in non-terminable

>
{Integer}</TerminationNoticePeriod>
25
          <RenewalDueDays
RenewalDueDays

The minimum number of days before EndDate where the contract can be either cancelled (if set to automatically renew) or renewed (if set to be renewed by consent)

>
{Integer}</RenewalDueDays>
26
          <RenewalDueDate
RenewalDueDate

The main and backup responsible will be alerted on this date if a notification is setup

>
{Date}</RenewalDueDate>
27
     </Validity>
28
     <Value>
29
          <Currency
Currency

Three character code following the ISO 4217 standard

>
{String}</Currency>
30
          <PeriodSpecification
PeriodSpecification

The periodic schedule of the contract.
Values:
- Month = 30 days
- Week = 7 days
- Year = 365 days
- Quarter = 90 days

Possible domain values can be found here

>
{Integer}</PeriodSpecification>
31
          <ValuePerPeriod
ValuePerPeriod

The monetary value per period

>
{Decimal}</ValuePerPeriod>
32
          <TotalValue
TotalValue

Total value calculated from value pr period

>
{Decimal}</TotalValue>
33
          <EmployeeId
EmployeeId

Employee identifier

>
{Integer}</EmployeeId>
34
          <EmployeeLink
EmployeeLink

Employee reference

>
{String}</EmployeeLink>
35
          <EmployeeId
EmployeeId

Employee identifier

>
{Integer}</EmployeeId>
36
          <EmployeeLink
EmployeeLink

Employee reference

>
{String}</EmployeeLink>
37
     </Value>
38
</PurchaseContract>
1
{
2
     "purchaseContract": {
3
          "purchaseContractId
PurchaseContractId

Purchase contract identifier

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

The current status of a purchase contract

Possible domain values can be found here

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

Date and time of creation

":
"{Datetime}",
6
          "title
Title

The title of the purchase contract

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

The description of what the contract is about

":
"{String}",
8
          "category
Category

The type of the contract.
Examples: Automatic or Consent

Possible domain values can be found here

":
"{Integer}",
9
          "supplier": {
10
               "supplierId
SupplierId

RamBase supplier identifier

":
"{Integer}",
11
               "name
Name

Name of supplier (name of company or surname/familyname/lastname of a person)

":
"{String}",
12
               "firstName
FirstName

Firstname/givenname if the supplier is a person

":
"{String}",
13
               "supplierLink
SupplierLink

Supplier reference

":
"{String}"
14
          },
15
          "contact
Contact

Link to the suppliers contact person

":
{
16
               "contactId
ContactId

Contact identifier

":
"{Integer}",
17
               "firstName
FirstName

Firstname/givenname of the contact

":
"{String}",
18
               "lastName
LastName

Surname/familyname/lastname of the contact

":
"{String}",
19
               "contactLink
ContactLink

Contact reference

":
"{String}"
20
          },
21
          "validity": {
22
               "effectiveDate
EffectiveDate

The start of the purchase contract

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

The end of the purchase contract

":
"{Date}",
24
               "isTerminable
IsTerminable

Specifies if the contract is terminable not not

":
"{Boolean}",
25
               "terminationNoticePeriod
TerminationNoticePeriod

The length in days of the termination period. This will not have a meaning if the contract in non-terminable

":
"{Integer}",
26
               "renewalDueDays
RenewalDueDays

The minimum number of days before EndDate where the contract can be either cancelled (if set to automatically renew) or renewed (if set to be renewed by consent)

":
"{Integer}",
27
               "renewalDueDate
RenewalDueDate

The main and backup responsible will be alerted on this date if a notification is setup

":
"{Date}"
28
          },
29
          "value": {
30
               "currency
Currency

Three character code following the ISO 4217 standard

":
"{String}",
31
               "periodSpecification
PeriodSpecification

The periodic schedule of the contract.
Values:
- Month = 30 days
- Week = 7 days
- Year = 365 days
- Quarter = 90 days

Possible domain values can be found here

":
"{Integer}",
32
               "valuePerPeriod
ValuePerPeriod

The monetary value per period

":
"{Decimal}",
33
               "totalValue
TotalValue

Total value calculated from value pr period

":
"{Decimal}",
34
               "employeeId
EmployeeId

Employee identifier

":
"{Integer}",
35
               "employeeLink
EmployeeLink

Employee reference

":
"{String}",
36
               "employeeId
EmployeeId

Employee identifier

":
"{Integer}",
37
               "employeeLink
EmployeeLink

Employee reference

":
"{String}"
38
          }
39
     }
40
}

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 101376 HTTP 400 ShippingService is not active (status 4)
Error 101375 HTTP 400 Direction of the Shipping Service mismatch with type of transaction document
Error 101399 HTTP 400 Customer account in shipping service mismatch with this customer account
Error 101385 HTTP 400 The carrier that offers this shipping service is not activ (status 4)
Error 104984 HTTP 400 Expiration date is required
Error 104985 HTTP 400 Main responsible is required