API

Sales APIs

POST sales/contracts

Creates a new customer sales contract

HTTP method POST
URI https://api.rambase.net/sales/contracts
Supported formats Xml, Html, Json (ex. $format=json)
Custom fields Custom fields supported
Successful HTTP status code 201
API resource identifier 3883, 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
<SalesContract>
2
     <Title
Title

Required/mandatory field

The title of the customer sales contract

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

The description of what the contract is about

This field is optional.

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

The category of the contract.
Examples: Recurring sales, One-off sales and Consulting services

Applicable domain values can be found here

This field is optional.

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

This field is optional.

>
6
          <CustomerId
CustomerId

Customer identifier

Minimum value: 10000

This field is optional.

>
{Integer}</CustomerId>
7
     </Customer>
8
     <Contact
Contact

Link to the customers 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 customer sales contract

This field is optional.

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

The end of the customer sales contract

This field is optional.

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

Specifies if the contract can be teminated or 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 customers 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
</SalesContract>
1
{
2
     "salesContract": {
3
          "title
Title

Required/mandatory field

The title of the customer sales contract

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

The description of what the contract is about

This field is optional.

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

The category of the contract.
Examples: Recurring sales, One-off sales and Consulting services

Applicable domain values can be found here

This field is optional.

":
"{Integer}",
6
          "customer
Customer

This field is optional.

":
{
7
               "customerId
CustomerId

Customer identifier

Minimum value: 10000

This field is optional.

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

Link to the customers 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 customer sales contract

This field is optional.

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

The end of the customer sales contract

This field is optional.

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

Specifies if the contract can be teminated or 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 customers 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
<SalesContract>
2
     <SalesContractId
SalesContractId

Customer sales contract identifier

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

The current status of a customer sales 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 customer sales contract

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

The description of what the contract is about

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

The category of the contract.
Examples: Recurring sales, One-off sales and Consulting services

Possible domain values can be found here

>
{Integer}</Category>
8
     <Customer>
9
          <CustomerId
CustomerId

Customer identifier

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

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

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

Secondary name of a company or firstname of a person

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

Customer reference

>
{String}</CustomerLink>
13
     </Customer>
14
     <Contact
Contact

Link to the customers 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 customer sales contract

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

The end of the customer sales contract

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

Specifies if the contract can be teminated or 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
</SalesContract>
1
{
2
     "salesContract": {
3
          "salesContractId
SalesContractId

Customer sales contract identifier

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

The current status of a customer sales 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 customer sales contract

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

The description of what the contract is about

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

The category of the contract.
Examples: Recurring sales, One-off sales and Consulting services

Possible domain values can be found here

":
"{Integer}",
9
          "customer": {
10
               "customerId
CustomerId

Customer identifier

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

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

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

Secondary name of a company or firstname of a person

":
"{String}",
13
               "customerLink
CustomerLink

Customer reference

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

Link to the customers 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 customer sales contract

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

The end of the customer sales contract

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

Specifies if the contract can be teminated or 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 100209 HTTP 400 Illegal document Id {0}
Error 101086 HTTP 400 Missing required argument {0} for description
Error 101087 HTTP 400 Description argument/result mismatch
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
Error 100038 HTTP 400 Invalid language: {0}
Error 100200 HTTP 404 Special handling code not found
Error 102751 HTTP 400 Selected pricelist is not active
Error 102939 HTTP 400 Customer can not be blocked for orders before active bids are deleted