Reference

Proposalproduct

The proposalproduct object

Attributes
Id: int required, autogenerated, unique
The unique identifier for this proposalproduct
IsDeposit: bool optional
Notes: string optional
Price: decimal? optional
ProductId: Id required
ProposalId: Id required
Quantity: int required
RegularCharge: bool optional
RepeatCycle: Nexudus.Coworking.Core.Enums.eRecurrentChargePattern optional
UniqueId: Guid required, autogenerated, unique
The globally unique identifier for this proposalproduct
SystemId: string optional api-only
User defined data about this proposalproduct. This property can only be seen and updated using the API.

Json Structure Example


{
  "Id": 1234567,
  "IsDeposit": false,
  "Notes": "Notes",
  "Price": ,
  "ProductId": 12345678,
  "ProposalId": 12345678,
  "Quantity": ,
  "RegularCharge": false,
  "RepeatCycle": 1,
  "UniqueId": "e41477c1-29be-429d-8f41-5aa263302b49",
  "SystemId": "{ metadata: { id: 887766, processed: true } }"
}


Find a ProposalProduct

This endpoint allows you to GET a list of proposalproducts based on one or more filter querystring parameters.

GET https://spaces.nexudus.com/api/billing/proposalproducts?...

πŸ”’ Requires role "ProposalProduct-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 proposalproduct records based on their different properties.
Id number
?Id=12345678
ProposalProduct_IsDeposit bool
?ProposalProduct_IsDeposit=...
ProposalProduct_Notes string
?ProposalProduct_Notes=...
ProposalProduct_Price decimal?
?ProposalProduct_Price=...
ProposalProduct_Product Product
?ProposalProduct_Product=...
ProposalProduct_Proposal Proposal
?ProposalProduct_Proposal=...
ProposalProduct_Quantity int
?ProposalProduct_Quantity=...
ProposalProduct_RegularCharge bool
?ProposalProduct_RegularCharge=...
ProposalProduct_RepeatCycle Nexudus.Coworking.Core.Enums.eRecurrentChargePattern
?ProposalProduct_RepeatCycle=...
ProposalProduct_ProposalCoworker_Id string
?ProposalProduct_ProposalCoworker_Id=...
ProposalProduct_ProposalCoworker_Email string
?ProposalProduct_ProposalCoworker_Email=...
ProposalProduct_ProposalCoworker_FullName string
?ProposalProduct_ProposalCoworker_FullName=...
ProposalProduct_ProductName string
?ProposalProduct_ProductName=...
ProposalProduct_ProductPrice string
?ProposalProduct_ProductPrice=...
ProposalProduct_ProductBusiness_Currency_Code string
?ProposalProduct_ProductBusiness_Currency_Code=...

Range search querystring parameters
Lets you search proposalproduct records based on a range of date or numeric values.
To_ProposalProduct_CreatedOn date
?To_ProposalProduct_CreatedOn=2010-01-01T20:32
From_ProposalProduct_CreatedOn date
?From_ProposalProduct_CreatedOn=2010-01-01T20:32
To_ProposalProduct_UpdatedOn date
?To_ProposalProduct_UpdatedOn=2010-01-01T20:32
From_ProposalProduct_UpdatedOn date
?From_ProposalProduct_UpdatedOn=2010-01-01T20:32
To_ProposalProduct_Quantity number
?To_ProposalProduct_Quantity=0
From_ProposalProduct_Quantity number
?From_ProposalProduct_Quantity=10
To_ProposalProduct_Price number
?To_ProposalProduct_Price=0
From_ProposalProduct_Price number
?From_ProposalProduct_Price=10

Example request

GET https://spaces.nexudus.com/api/billing/proposalproducts?ProposalProduct_ProductName=...
Content-Type: application/json
Authentication: Basic ZXhhbXBsZUBuZXh1ZHVzLmNvbTpFeGFtcGxlMTIzNA==

Example response


{
    "Records": [{
        "Id": 1234567,
        "Proposal": ,
        "Product": ,
        "Quantity": ,
        "Price": ,
        "IsDeposit": false,
        "RegularCharge": false,
        "RepeatCycle": 1,
        "Notes": "Notes",
        "ProposalProductProposalCoworker_Id": "...",
        "ProposalProductProposalCoworker_Email": "...",
        "ProposalProductProposalCoworker_FullName": "...",
        "ProposalProductProductName": "...",
        "ProposalProductProductPrice": "...",
        "ProposalProductProductBusiness_Currency_Code": "...",
        "CreatedOn": "2018-07-03T06:23:01Z",
        "UpdatedOn": "2020-01-01T21:57:21Z",
        "UpdatedBy": "System",
        "UniqueId": "c3d62cba-40ab-4c1a-94bc-463673a22879",
        "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 ProposalProducts by IDs

Gets one or more proposalproduct records based on their Id.
GET https://spaces.nexudus.com/api/billing/proposalproducts?ProposalProduct_Id=[:id1,:id2,...]

πŸ”’ Requires role "ProposalProduct-List"

Querystring parameters
ProposalProduct_Id: array requried
?ProposalProduct_Id=[12345678,87654651]

Example request

GET https://spaces.nexudus.com/api/billing/proposalproducts?ProposalProduct_Id=[1234567,9876541]
Content-Type: application/json
Authentication: Basic ZXhhbXBsZUBuZXh1ZHVzLmNvbTpFeGFtcGxlMTIzNA==

Example response


{
    "Records": [{
        "Id": 1234567,
        "Proposal": ,
        "Product": ,
        "Quantity": ,
        "Price": ,
        "IsDeposit": false,
        "RegularCharge": false,
        "RepeatCycle": 1,
        "Notes": "Notes",
        "ProposalProductProposalCoworker_Id": "...",
        "ProposalProductProposalCoworker_Email": "...",
        "ProposalProductProposalCoworker_FullName": "...",
        "ProposalProductProductName": "...",
        "ProposalProductProductPrice": "...",
        "ProposalProductProductBusiness_Currency_Code": "...",
        "CreatedOn": "2018-07-03T06:23:01Z",
        "UpdatedOn": "2020-01-01T21:57:21Z",
        "UpdatedBy": "System",
        "UniqueId": "bcf8414a-84fc-40e0-8a45-ab7b03eda817",
        "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 ProposalProduct by Id

Gets one proposalproduct record by its Id.
GET https://spaces.nexudus.com/api/billing/proposalproducts/:Id

πŸ”’ Requires role "ProposalProduct-Read"

URL parameters
Id: number requried

Example request

GET https://spaces.nexudus.com/api/billing/proposalproducts/1234567
Content-Type: application/json
Authentication: Basic ZXhhbXBsZUBuZXh1ZHVzLmNvbTpFeGFtcGxlMTIzNA==

Example response


{
  "Id": 1234567,
  "IsDeposit": false,
  "Notes": "Notes",
  "Price": ,
  "ProductId": 12345678,
  "ProposalId": 12345678,
  "Quantity": ,
  "RegularCharge": false,
  "RepeatCycle": 1,
  "CreatedOn": "2018-07-03T06:23:01Z",
  "UpdatedOn": "2020-01-01T21:57:21Z",
  "UpdatedBy": "System",
  "UniqueId": "d170b865-7da2-4670-896a-4e789b76d9a3",
  "SystemId": "{ metadata: { id: 887766, processed: true } }"
}


Create new ProposalProduct

Creates a new proposalproduct.
POST https://spaces.nexudus.com/api/billing/proposalproducts

πŸ”’ Requires role "ProposalProduct-Create"

Body parameters
ProposalId: number required
ProductId: number required
Quantity: int required
Price: decimal? optional
IsDeposit: bool optional
RegularCharge: bool optional
RepeatCycle: Nexudus.Coworking.Core.Enums.eRecurrentChargePattern optional
Notes: string optional

Example request

POST https://spaces.nexudus.com/api/billing/proposalproducts
Content-Type: application/json
Authentication: Basic ZXhhbXBsZUBuZXh1ZHVzLmNvbTpFeGFtcGxlMTIzNA==

{
    "ProposalId": 12345678,
    "ProductId": 12345678,
    "Quantity": ,
    "Price": ,
    "IsDeposit": false,
    "RegularCharge": false,
    "RepeatCycle": 1, //(check Enumerated values section below)
    "Notes": "Notes",
}


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 ProposalProduct

Updates an existing proposalproduct.
PUT https://spaces.nexudus.com/api/billing/proposalproducts

PUT requests require ALL record properties to be submitted with every request. Any missing properties will be cleared or set to false.

πŸ”’ Requires role "ProposalProduct-Edit"

Body parameters
Id: number required
The unique Id of the proposalproduct to update.
ProposalId: number cleared if missing
ProductId: number cleared if missing
Quantity: int cleared if missing
Price: decimal? cleared if missing
IsDeposit: bool cleared if missing
RegularCharge: bool cleared if missing
RepeatCycle: Nexudus.Coworking.Core.Enums.eRecurrentChargePattern cleared if missing
Notes: string cleared if missing

Example request

PUT https://spaces.nexudus.com/api/billing/proposalproducts
Content-Type: application/json
Authentication: Basic ZXhhbXBsZUBuZXh1ZHVzLmNvbTpFeGFtcGxlMTIzNA==

{
    "Id": 12345678,
    "ProposalId": 12345678,
    "ProductId": 12345678,
    "Quantity": ,
    "Price": ,
    "IsDeposit": false,
    "RegularCharge": false,
    "RepeatCycle": 1, //(check Enumerated values section below)
    "Notes": "Notes",
}


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 ProposalProduct

Deletes an existing proposalproduct by its Id.
DELETE https://spaces.nexudus.com/api/billing/proposalproducts/:Id

πŸ”’ Requires role "ProposalProduct-Delete"

URL parameters
Id: number required
The unique Id of the proposalproduct to update.

Example request

DELETE https://spaces.nexudus.com/api/billing/proposalproducts/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 proposalproduct 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 proposalproduct records.
GET https://spaces.nexudus.com/api/billing/proposalproducts/commands

Example request

GET https://spaces.nexudus.com/api/billing/proposalproducts/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 proposalproduct record IDs.
POST https://spaces.nexudus.com/api/billing/proposalproducts/runacommand
πŸ”’ Requires role "ProposalProduct-Edit"

Example request

POST https://spaces.nexudus.com/api/billing/proposalproducts/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

RepeatCycle

GET /api/utils/enums?name=eRecurrentChargePattern

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

Comments

Please sign in to leave a comment.