The proposal object
Attributes |
Id: int required, autogenerated, unique
The unique identifier for this proposal |
BillingDay: int required |
CancellationDate: DateTime? optional |
CancellationLimitDays: int? optional |
ContractTerm: DateTime? optional |
CoworkerId: Id required |
DiscountCodeId: Id optional |
DocumentToSendId: Id optional |
DocumentToSendHtml: string optional |
DocumentToSignId: Id optional |
DocumentToSignHtml: string optional |
IssuedById: Id required |
Notes: string optional |
Price: decimal? optional |
ProposalStatus: Nexudus.Coworking.Core.Enums.eProposalStatus optional |
Quantity: int required |
Reference: string required |
ResponsibleId: Id required |
SentOn: DateTime? optional read-only |
StartDate: DateTime? optional |
TariffId: Id required |
UniqueId: Guid required, autogenerated, unique
The globally unique identifier for this proposal |
SystemId: string optional api-only
User defined data about this proposal. This property can only be seen and updated using the API. |
Json Structure Example
{
"Id": 1234567,
"BillingDay": ,
"CancellationDate": ,
"CancellationLimitDays": ,
"ContractTerm": ,
"CoworkerId": 12345678,
"DiscountCodeId": 12345678,
"DocumentToSendId": 12345678,
"DocumentToSendHtml": "Abc123456",
"DocumentToSignId": 12345678,
"DocumentToSignHtml": "Abc123456",
"IssuedById": 12345678,
"Notes": "Notes",
"Price": ,
"ProposalStatus": 1,
"Quantity": ,
"Reference": "00001",
"ResponsibleId": 12345678,
"SentOn": ,
"StartDate": ,
"TariffId": 12345678,
"UniqueId": "b765df0e-6d6d-4c0b-8078-9eea801df641",
"SystemId": "{ metadata: { id: 887766, processed: true } }"
}
Find a Proposal
This endpoint allows you to GET a list of proposals based on one or more filter querystring parameters.
GET https://spaces.nexudus.com/api/billing/proposals?...
π Requires role "Proposal-List"
Pagination querystring parameters
Lets control how many records to return at a time and their order. |
page integer optional
?page=1 |
size integer optional default=25
Sets the maximum number of records to return each page of results. ?size=25 |
orderby string optional default=Id
Sets the property to use when ordering the results of the search. ?orderby=Id |
dir 'ascending' or 'descending' optional default=SortDirection.Ascending
Sets the direction to use when ordering the records. ?sort=ascending |
Search querystring parameters
Lets you search proposal records based on their different properties. |
Id number
?Id=12345678 |
Proposal_BillingDay int
?Proposal_BillingDay=... |
Proposal_CancellationDate DateTime?
?Proposal_CancellationDate=... |
Proposal_CancellationLimitDays int?
?Proposal_CancellationLimitDays=... |
Proposal_ContractTerm DateTime?
?Proposal_ContractTerm=... |
Proposal_Coworker Coworker
?Proposal_Coworker=... |
Proposal_DiscountCode DiscountCode
?Proposal_DiscountCode=... |
Proposal_DocumentToSend DocumentTemplate
?Proposal_DocumentToSend=... |
Proposal_DocumentToSendHtml string
?Proposal_DocumentToSendHtml=... |
Proposal_DocumentToSign DocumentTemplate
?Proposal_DocumentToSign=... |
Proposal_DocumentToSignHtml string
?Proposal_DocumentToSignHtml=... |
Proposal_IssuedBy Business
?Proposal_IssuedBy=... |
Proposal_Notes string
?Proposal_Notes=... |
Proposal_Price decimal?
?Proposal_Price=... |
Proposal_ProposalStatus Nexudus.Coworking.Core.Enums.eProposalStatus
?Proposal_ProposalStatus=... |
Proposal_Quantity int
?Proposal_Quantity=... |
Proposal_Reference string
?Proposal_Reference=... |
Proposal_Responsible User
?Proposal_Responsible=... |
Proposal_SentOn DateTime?
?Proposal_SentOn=... |
Proposal_StartDate DateTime?
?Proposal_StartDate=... |
Proposal_Tariff Tariff
?Proposal_Tariff=... |
Proposal_IssuedByName string
?Proposal_IssuedByName=... |
Proposal_IssuedByCurrency_Code string
?Proposal_IssuedByCurrency_Code=... |
Proposal_ResponsibleFullName string
?Proposal_ResponsibleFullName=... |
Proposal_CoworkerCoworkerType string
?Proposal_CoworkerCoworkerType=... |
Proposal_CoworkerFullName string
?Proposal_CoworkerFullName=... |
Proposal_CoworkerCompanyName string
?Proposal_CoworkerCompanyName=... |
Proposal_CoworkerBillingName string
?Proposal_CoworkerBillingName=... |
Proposal_TariffName string
?Proposal_TariffName=... |
Proposal_Desks List of FloorPlanDesk
?Proposal_Desks=... |
Range search querystring parameters
Lets you search proposal records based on a range of date or numeric values. |
To_Proposal_CreatedOn date
?To_Proposal_CreatedOn=2010-01-01T20:32 |
From_Proposal_CreatedOn date
?From_Proposal_CreatedOn=2010-01-01T20:32 |
To_Proposal_UpdatedOn date
?To_Proposal_UpdatedOn=2010-01-01T20:32 |
From_Proposal_UpdatedOn date
?From_Proposal_UpdatedOn=2010-01-01T20:32 |
To_Proposal_Price number
?To_Proposal_Price=0 |
From_Proposal_Price number
?From_Proposal_Price=10 |
To_Proposal_StartDate date
?To_Proposal_StartDate=2010-01-01T20:32 |
From_Proposal_StartDate date
?From_Proposal_StartDate=2010-01-01T20:32 |
To_Proposal_CancellationLimitDays number
?To_Proposal_CancellationLimitDays=0 |
From_Proposal_CancellationLimitDays number
?From_Proposal_CancellationLimitDays=10 |
To_Proposal_ContractTerm date
?To_Proposal_ContractTerm=2010-01-01T20:32 |
From_Proposal_ContractTerm date
?From_Proposal_ContractTerm=2010-01-01T20:32 |
To_Proposal_CancellationDate date
?To_Proposal_CancellationDate=2010-01-01T20:32 |
From_Proposal_CancellationDate date
?From_Proposal_CancellationDate=2010-01-01T20:32 |
To_Proposal_BillingDay number
?To_Proposal_BillingDay=0 |
From_Proposal_BillingDay number
?From_Proposal_BillingDay=10 |
To_Proposal_Quantity number
?To_Proposal_Quantity=0 |
From_Proposal_Quantity number
?From_Proposal_Quantity=10 |
To_Proposal_SentOn date
?To_Proposal_SentOn=2010-01-01T20:32 |
From_Proposal_SentOn date
?From_Proposal_SentOn=2010-01-01T20:32 |
Example request
GET https://spaces.nexudus.com/api/billing/proposals?Proposal_Id=... Content-Type: application/json Authentication: Basic ZXhhbXBsZUBuZXh1ZHVzLmNvbTpFeGFtcGxlMTIzNA==
Example response
{
"Records": [{
"Id": 1234567,
"IssuedBy": ,
"Responsible": ,
"Coworker": ,
"Reference": "00001",
"Notes": "Notes",
"ProposalStatus": 1,
"DocumentToSend": ,
"DocumentToSign": ,
"DocumentToSignHtml": "Abc123456",
"DocumentToSendHtml": "Abc123456",
"Tariff": ,
"Price": ,
"StartDate": ,
"CancellationLimitDays": ,
"ContractTerm": ,
"CancellationDate": ,
"BillingDay": ,
"Quantity": ,
"DiscountCode": ,
"SentOn": ,
"ProposalIssuedByName": "...",
"ProposalIssuedByCurrency_Code": "...",
"ProposalResponsibleFullName": "...",
"ProposalCoworkerCoworkerType": "...",
"ProposalCoworkerFullName": "...",
"ProposalCoworkerCompanyName": "...",
"ProposalCoworkerBillingName": "...",
"ProposalTariffName": "...",
"CreatedOn": "2018-07-03T06:23:01Z",
"UpdatedOn": "2020-01-01T21:57:21Z",
"UpdatedBy": "System",
"UniqueId": "9ec30f99-f1ab-4cc1-869e-928857aa097b",
"SystemId": "{ metadata: { id: 887766, processed: true } }"
}],
"CurrentPageSize": 25,
"CurrentPage": 1,
"CurrentOrderField": "Id",
"CurrentSortDirection": 1,
"FirstItem": 1,
"HasNextPage": true,
"HasPreviousPage": false,
"LastItem": 25,
"PageNumber": 1,
"PageSize": 25,
"TotalItems": 60,
"TotalPages": 3
}
Find Proposals by IDs
Gets one or more proposal records based on their Id.GET https://spaces.nexudus.com/api/billing/proposals?Proposal_Id=[:id1,:id2,...]
π Requires role "Proposal-List"
Querystring parameters |
Proposal_Id: array requried
?Proposal_Id=[12345678,87654651] |
Example request
GET https://spaces.nexudus.com/api/billing/proposals?Proposal_Id=[1234567,9876541] Content-Type: application/json Authentication: Basic ZXhhbXBsZUBuZXh1ZHVzLmNvbTpFeGFtcGxlMTIzNA==
Example response
{
"Records": [{
"Id": 1234567,
"IssuedBy": ,
"Responsible": ,
"Coworker": ,
"Reference": "00001",
"Notes": "Notes",
"ProposalStatus": 1,
"DocumentToSend": ,
"DocumentToSign": ,
"DocumentToSignHtml": "Abc123456",
"DocumentToSendHtml": "Abc123456",
"Tariff": ,
"Price": ,
"StartDate": ,
"CancellationLimitDays": ,
"ContractTerm": ,
"CancellationDate": ,
"BillingDay": ,
"Quantity": ,
"DiscountCode": ,
"SentOn": ,
"ProposalIssuedByName": "...",
"ProposalIssuedByCurrency_Code": "...",
"ProposalResponsibleFullName": "...",
"ProposalCoworkerCoworkerType": "...",
"ProposalCoworkerFullName": "...",
"ProposalCoworkerCompanyName": "...",
"ProposalCoworkerBillingName": "...",
"ProposalTariffName": "...",
"CreatedOn": "2018-07-03T06:23:01Z",
"UpdatedOn": "2020-01-01T21:57:21Z",
"UpdatedBy": "System",
"UniqueId": "155c1b3d-b906-437f-91fb-4ca268b30124",
"SystemId": "{ metadata: { id: 887766, processed: true } }"
}],
"CurrentPageSize": 25,
"CurrentPage": 1,
"CurrentOrderField": "Id",
"CurrentSortDirection": 1,
"FirstItem": 1,
"HasNextPage": true,
"HasPreviousPage": false,
"LastItem": 1,
"PageNumber": 1,
"PageSize": 25,
"TotalItems": 1,
"TotalPages": 1
}
Get single Proposal by Id
Gets one proposal record by its Id.GET https://spaces.nexudus.com/api/billing/proposals/:Id
π Requires role "Proposal-Read"
URL parameters |
Id: number requried |
Example request
GET https://spaces.nexudus.com/api/billing/proposals/1234567 Content-Type: application/json Authentication: Basic ZXhhbXBsZUBuZXh1ZHVzLmNvbTpFeGFtcGxlMTIzNA==
Example response
{
"Id": 1234567,
"BillingDay": ,
"CancellationDate": ,
"CancellationLimitDays": ,
"ContractTerm": ,
"CoworkerId": 12345678,
"DiscountCodeId": 12345678,
"DocumentToSendId": 12345678,
"DocumentToSendHtml": "Abc123456",
"DocumentToSignId": 12345678,
"DocumentToSignHtml": "Abc123456",
"IssuedById": 12345678,
"Notes": "Notes",
"Price": ,
"ProposalStatus": 1,
"Quantity": ,
"Reference": "00001",
"ResponsibleId": 12345678,
"SentOn": ,
"StartDate": ,
"TariffId": 12345678,
"CreatedOn": "2018-07-03T06:23:01Z",
"UpdatedOn": "2020-01-01T21:57:21Z",
"UpdatedBy": "System",
"UniqueId": "05032dc1-1422-450d-8d8a-9222b6a47ca1",
"SystemId": "{ metadata: { id: 887766, processed: true } }"
}
Create new Proposal
Creates a new proposal.POST https://spaces.nexudus.com/api/billing/proposals
π Requires role "Proposal-Create"
Body parameters |
IssuedById: number required |
ResponsibleId: number required |
CoworkerId: number required |
Reference: string required |
Notes: string optional |
ProposalStatus: Nexudus.Coworking.Core.Enums.eProposalStatus optional |
DocumentToSendId: number optional |
DocumentToSignId: number optional |
DocumentToSignHtml: string optional |
DocumentToSendHtml: string optional |
TariffId: number required |
Price: decimal? optional |
StartDate: DateTime? optional |
CancellationLimitDays: int? optional |
CancellationDate: DateTime? optional |
BillingDay: int required |
Quantity: int required |
DiscountCodeId: number optional |
Example request
POST https://spaces.nexudus.com/api/billing/proposals Content-Type: application/json Authentication: Basic ZXhhbXBsZUBuZXh1ZHVzLmNvbTpFeGFtcGxlMTIzNA==
{
"IssuedById": 12345678,
"ResponsibleId": 12345678,
"CoworkerId": 12345678,
"Reference": "00001",
"Notes": "Notes",
"ProposalStatus": 1, //(check Enumerated values section below)
"DocumentToSendId": 12345678,
"DocumentToSignId": 12345678,
"DocumentToSignHtml": "Abc123456",
"DocumentToSendHtml": "Abc123456",
"TariffId": 12345678,
"Desks": [12345678, 87654321],
"Price": ,
"StartDate": ,
"CancellationLimitDays": ,
"CancellationDate": ,
"BillingDay": ,
"Quantity": ,
"DiscountCodeId": 12345678,
}
Example valid response
{
"Status": 200,
"WasSuccessful": true,
"Message": "Record 'Name of the record' has been succesfully created.",
"Value": {
"Id": 12354678
}
}
Example invalid response
{
"Status": 500,
"Message": "Name: may not be null or empty",
"Value": null,
"WasSuccessful": false,
"Errors": [
{
"AttemptedValue": null,
"Message": "may not be null or empty",
"PropertyName": "Name"
},
]
}
Update Proposal
Updates an existing proposal.PUT https://spaces.nexudus.com/api/billing/proposals
PUT requests require ALL record properties to be submitted with every request. Any missing properties will be cleared or set to false.
π Requires role "Proposal-Edit"
Body parameters |
Id: number required
The unique Id of the proposal to update. |
IssuedById: number cleared if missing |
ResponsibleId: number cleared if missing |
CoworkerId: number cleared if missing |
Reference: string cleared if missing |
Notes: string cleared if missing |
ProposalStatus: Nexudus.Coworking.Core.Enums.eProposalStatus cleared if missing |
DocumentToSendId: number cleared if missing |
DocumentToSignId: number cleared if missing |
DocumentToSignHtml: string cleared if missing |
DocumentToSendHtml: string cleared if missing |
CancellationLimitDays: int? cleared if missing |
ContractTerm: DateTime? cleared if missing |
Example request
PUT https://spaces.nexudus.com/api/billing/proposals Content-Type: application/json Authentication: Basic ZXhhbXBsZUBuZXh1ZHVzLmNvbTpFeGFtcGxlMTIzNA==
{
"Id": 12345678,
"IssuedById": 12345678,
"ResponsibleId": 12345678,
"CoworkerId": 12345678,
"Reference": "00001",
"Notes": "Notes",
"ProposalStatus": 1, //(check Enumerated values section below)
"DocumentToSendId": 12345678,
"DocumentToSignId": 12345678,
"DocumentToSignHtml": "Abc123456",
"DocumentToSendHtml": "Abc123456",
"TariffId": 12345678,
"Desks": [12345678, 87654321],
"Price": ,
"StartDate": ,
"CancellationLimitDays": ,
"CancellationDate": ,
"BillingDay": ,
"Quantity": ,
"DiscountCodeId": 12345678,
}
Example valid response
{
"Status": 200,
"WasSuccessful": true,
"Message": "Record 'Name of the record' has been succesfully updated.",
"Value": {
"Id": 12354678
}
}
Example invalid response
{
"Status": 500,
"Message": "Name: may not be null or empty",
"Value": null,
"WasSuccessful": false,
"Errors": [
{
"AttemptedValue": null,
"Message": "may not be null or empty",
"PropertyName": "Name"
},
]
}
Delete Proposal
Deletes an existing proposal by its Id.DELETE https://spaces.nexudus.com/api/billing/proposals/:Id
π Requires role "Proposal-Delete"
URL parameters |
Id: number required
The unique Id of the proposal to update. |
Example request
DELETE https://spaces.nexudus.com/api/billing/proposals/12345678 Content-Type: application/json Authentication: Basic ZXhhbXBsZUBuZXh1ZHVzLmNvbTpFeGFtcGxlMTIzNA==
Example valid response
{
"Status": 200,
"WasSuccessful": true,
"Message": "The record was deleted successfully.",
"Value": null,
"OpenInDialog": false,
"RedirectURL": null,
"JavaScript": null,
"Errors": null
}
Commands
Commands allow to perform actions against one or more proposal records. Some commands accept only one record while others can run an action for a number of records at the same time. Each command has metadata with information about how it can be used and the amount of records, if any, it needs to run.Get Commands
Get all commands available to run for proposal records.GET https://spaces.nexudus.com/api/billing/proposals/commands
Example request
GET https://spaces.nexudus.com/api/billing/proposals/commands Content-Type: application/json Authentication: Basic ZXhhbXBsZUBuZXh1ZHVzLmNvbTpFeGFtcGxlMTIzNA==
Example valid response
[
{
"Key": "COMMAND_KEY_1",
"Name": "Command 1 english description",
"AppliesOnlyToMultipleEntities": false,
"DisplayInDropdown": true,
"DisplayInDropdownV2": true,
"AppliesOnlyToOneEntity": false,
"AppliesOnlyToTwoEntities": false,
"DisplayInGrid": false,
"NeedsEntitiesToRun": true,
"Order": 2,
"RequiresParameters": []
},
{
"Key": "COMMAND_KEY_2",
"Name": "Command 2 english description",
"AppliesOnlyToMultipleEntities": false,
"DisplayInDropdown": true,
"DisplayInDropdownV2": true,
"AppliesOnlyToOneEntity": true,
"AppliesOnlyToTwoEntities": false,
"DisplayInGrid": true,
"NeedsEntitiesToRun": true,
"Order": 10,
"RequiresParameters":
[
{
"Name": "Parameter 1 description",
"Type": "string",
},
{
"Name": "Parameter 2 description",
"Type": "Boolean",
}
]
},
...
]
Run Command
Runs a command based on its Key and one or more proposal record IDs.POST https://spaces.nexudus.com/api/billing/proposals/runacommandπ Requires role "Proposal-Edit"
Example request
POST https://spaces.nexudus.com/api/billing/proposals/runcommand Content-Type: application/json Authentication: Basic ZXhhbXBsZUBuZXh1ZHVzLmNvbTpFeGFtcGxlMTIzNA==
{
"Ids":[1329961649],
"Parameters":
[
{
"Type": "string"
"Value":987654321
},
{
"Type": "Boolean",
"Value":true
},
...
],
"Key":"COMMAND_KEY_2"
}
Example valid response
{
"Errors": null
"JavaScript": null
"Message": "Result description"
"OpenInDialog": false
"OpenInWindow": false
"RedirectURL": null
"Status": 200
"UpdatedBy": "email@example.net"
"UpdatedOn: "2020-06-04T11:40:20Z"
"Value: {Id: 12345678}
"WasSuccessful: true
}
Enumerated values
ProposalStatus
GET /api/utils/enums?name=eProposalStatus
Binary files
The following endpoints return binary data. Check the `ContentType` header to understand the type of file being returned in the response stream.
DocumentToSignBinaryDocument
GET https://spaces.nexudus.com/api/billing/proposals/getdocumenttosignbinarydocument/:id
URL parameters |
Id: number required
The id of the Proposal to get the documenttosignbinarydocument for. |
DocumentToSendBinaryDocument
GET https://spaces.nexudus.com/api/billing/proposals/getdocumenttosendbinarydocument/:id
URL parameters |
Id: number required
The id of the Proposal to get the documenttosendbinarydocument for. |
ProposalFile
GET https://spaces.nexudus.com/api/billing/proposals/getproposalfile/:id
URL parameters |
Id: number required
The id of the Proposal to get the proposalfile for. |
Comments
Please sign in to leave a comment.