Timepass – Nexudus
The timepass object
Attributes
Id: int required, autogenerated, unique
The unique identifier for this timepass
Archived: bool
optional
BusinessId: Id
required
CountsTowardsPlanLimits: bool
optional
CurrencyId: Id
required
ExemptTaxRateId: Id
optional
FinancialAccountId: Id
optional
MinutesIncluded: int?
optional
Name: string
required
Price: decimal
required
ReducedTaxRateId: Id
optional
TaxRateId: Id
optional
UniqueId: Guid required, autogenerated, unique
The globally unique identifier for this timepass
SystemId: string optional api-only
User defined data about this timepass. This property can only be seen and updated using the API.
Json Structure Example
{
"Id": 1234567,
"Archived": false,
"BusinessId": 12345678,
"CountsTowardsPlanLimits": false,
"CurrencyId": 12345678,
"ExemptTaxRateId": 12345678,
"FinancialAccountId": 12345678,
"MinutesIncluded": ,
"Name": "Name",
"Price": 1.2,
"ReducedTaxRateId": 12345678,
"TaxRateId": 12345678,
"UniqueId": "27bdf2fa-a1d1-4497-87bd-530716b8fa0e",
"SystemId": "{ metadata: { id: 887766, processed: true } }"
}
Find a TimePass
This endpoint allows you to GET a list of timepasses based on one or more filter querystring parameters.
GET https://spaces.nexudus.com/api/billing/timepasses?...
π Requires role "TimePass-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 timepass records based on their different properties.
Id number
?Id=12345678
TimePass_Archived bool
?TimePass_Archived=...
TimePass_Business Business
?TimePass_Business=...
TimePass_CountsTowardsPlanLimits bool
?TimePass_CountsTowardsPlanLimits=...
TimePass_Currency Currency
?TimePass_Currency=...
TimePass_ExemptTaxRate TaxRate
?TimePass_ExemptTaxRate=...
TimePass_FinancialAccount FinancialAccount
?TimePass_FinancialAccount=...
TimePass_MinutesIncluded int?
?TimePass_MinutesIncluded=...
TimePass_Name string
?TimePass_Name=...
TimePass_Price decimal
?TimePass_Price=...
TimePass_ReducedTaxRate TaxRate
?TimePass_ReducedTaxRate=...
TimePass_TaxRate TaxRate
?TimePass_TaxRate=...
TimePass_CurrencyCode string
?TimePass_CurrencyCode=...
TimePass_Businesses ICollection
?TimePass_Businesses=...
Range search querystring parameters
Lets you search timepass records based on a range of date or numeric values.
To_TimePass_CreatedOn date
?To_TimePass_CreatedOn=2010-01-01T20:32
From_TimePass_CreatedOn date
?From_TimePass_CreatedOn=2010-01-01T20:32
To_TimePass_UpdatedOn date
?To_TimePass_UpdatedOn=2010-01-01T20:32
From_TimePass_UpdatedOn date
?From_TimePass_UpdatedOn=2010-01-01T20:32
To_TimePass_Price number
?To_TimePass_Price=0
From_TimePass_Price number
?From_TimePass_Price=10
To_TimePass_MinutesIncluded number
?To_TimePass_MinutesIncluded=0
From_TimePass_MinutesIncluded number
?From_TimePass_MinutesIncluded=10
Example request
GET https://spaces.nexudus.com/api/billing/timepasses?TimePass_Name=...
Content-Type: application/json
Authentication: Basic ZXhhbXBsZUBuZXh1ZHVzLmNvbTpFeGFtcGxlMTIzNA==
Example response
{
"Records": [{
"Id": 1234567,
"Business": ,
"Name": "Name",
"Price": 1.2,
"MinutesIncluded": ,
"CountsTowardsPlanLimits": false,
"Currency": ,
"TaxRate": ,
"ReducedTaxRate": ,
"ExemptTaxRate": ,
"FinancialAccount": ,
"Archived": false,
"TimePassCurrencyCode": "...",
"CreatedOn": "2018-07-03T06:23:01Z",
"UpdatedOn": "2020-01-01T21:57:21Z",
"UpdatedBy": "System",
"UniqueId": "79f17704-79fe-41ed-9480-78c455772476",
"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 TimePasses by IDs
Gets one or more timepass records based on their Id.
GET https://spaces.nexudus.com/api/billing/timepasses?TimePass_Id=[:id1,:id2,...]
π Requires role "TimePass-List"
Querystring parameters
TimePass_Id : array requried
?TimePass_Id=[12345678,87654651]
Example request
GET https://spaces.nexudus.com/api/billing/timepasses?TimePass_Id=[1234567,9876541]
Content-Type: application/json
Authentication: Basic ZXhhbXBsZUBuZXh1ZHVzLmNvbTpFeGFtcGxlMTIzNA==
Example response
{
"Records": [{
"Id": 1234567,
"Business": ,
"Name": "Name",
"Price": 1.2,
"MinutesIncluded": ,
"CountsTowardsPlanLimits": false,
"Currency": ,
"TaxRate": ,
"ReducedTaxRate": ,
"ExemptTaxRate": ,
"FinancialAccount": ,
"Archived": false,
"TimePassCurrencyCode": "...",
"CreatedOn": "2018-07-03T06:23:01Z",
"UpdatedOn": "2020-01-01T21:57:21Z",
"UpdatedBy": "System",
"UniqueId": "3ce44aed-870f-4fee-8f1f-1e8bdd7f953f",
"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 TimePass by Id
Gets one timepass record by its Id.
GET https://spaces.nexudus.com/api/billing/timepasses/:Id
π Requires role "TimePass-Read"
URL parameters
Id : number requried
Example request
GET https://spaces.nexudus.com/api/billing/timepasses/1234567
Content-Type: application/json
Authentication: Basic ZXhhbXBsZUBuZXh1ZHVzLmNvbTpFeGFtcGxlMTIzNA==
Example response
{
"Id": 1234567,
"Archived": false,
"BusinessId": 12345678,
"CountsTowardsPlanLimits": false,
"CurrencyId": 12345678,
"ExemptTaxRateId": 12345678,
"FinancialAccountId": 12345678,
"MinutesIncluded": ,
"Name": "Name",
"Price": 1.2,
"ReducedTaxRateId": 12345678,
"TaxRateId": 12345678,
"CreatedOn": "2018-07-03T06:23:01Z",
"UpdatedOn": "2020-01-01T21:57:21Z",
"UpdatedBy": "System",
"UniqueId": "29597775-d286-4527-96da-c4b38f7a1f4f",
"SystemId": "{ metadata: { id: 887766, processed: true } }"
}
Create new TimePass
Creates a new timepass.
POST https://spaces.nexudus.com/api/billing/timepasses
π Requires role "TimePass-Create"
Body parameters
BusinessId : number required
Name : string required
Price : decimal required
MinutesIncluded : int? optional
CountsTowardsPlanLimits : bool optional
CurrencyId : number required
TaxRateId : number optional
ReducedTaxRateId : number optional
ExemptTaxRateId : number optional
FinancialAccountId : number optional
Archived : bool optional
Example request
POST https://spaces.nexudus.com/api/billing/timepasses
Content-Type: application/json
Authentication: Basic ZXhhbXBsZUBuZXh1ZHVzLmNvbTpFeGFtcGxlMTIzNA==
{
"BusinessId": 12345678,
"Name": "Name",
"Price": 1.2,
"MinutesIncluded": ,
"CountsTowardsPlanLimits": false,
"CurrencyId": 12345678,
"TaxRateId": 12345678,
"ReducedTaxRateId": 12345678,
"ExemptTaxRateId": 12345678,
"FinancialAccountId": 12345678,
"Businesses": [12345678, 87654321],
"Archived": false,
}
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 TimePass
Updates an existing timepass.
PUT https://spaces.nexudus.com/api/billing/timepasses
PUT requests require ALL record properties to be submitted with every request. Any missing properties will be cleared or set to false.
π Requires role "TimePass-Edit"
Body parameters
Id : number required
The unique Id of the timepass to update.
BusinessId : number cleared if missing
Name : string cleared if missing
Price : decimal cleared if missing
MinutesIncluded : int? cleared if missing
CountsTowardsPlanLimits : bool cleared if missing
CurrencyId : number cleared if missing
TaxRateId : number cleared if missing
ReducedTaxRateId : number cleared if missing
ExemptTaxRateId : number cleared if missing
FinancialAccountId : number cleared if missing
Archived : bool cleared if missing
Example request
PUT https://spaces.nexudus.com/api/billing/timepasses
Content-Type: application/json
Authentication: Basic ZXhhbXBsZUBuZXh1ZHVzLmNvbTpFeGFtcGxlMTIzNA==
{
"Id": 12345678,
"BusinessId": 12345678,
"Name": "Name",
"Price": 1.2,
"MinutesIncluded": ,
"CountsTowardsPlanLimits": false,
"CurrencyId": 12345678,
"TaxRateId": 12345678,
"ReducedTaxRateId": 12345678,
"ExemptTaxRateId": 12345678,
"FinancialAccountId": 12345678,
"Businesses": [12345678, 87654321],
"Archived": false,
}
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 TimePass
Deletes an existing timepass by its Id.
DELETE https://spaces.nexudus.com/api/billing/timepasses/:Id
π Requires role "TimePass-Delete"
URL parameters
Id : number required
The unique Id of the timepass to update.
Example request
DELETE https://spaces.nexudus.com/api/billing/timepasses/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 timepass 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 timepass records.
GET https://spaces.nexudus.com/api/billing/timepasses/commands
Example request
GET https://spaces.nexudus.com/api/billing/timepasses/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 timepass record IDs.
POST https://spaces.nexudus.com/api/billing/timepasses/runacommand
π Requires role "TimePass-Edit"
Example request
POST https://spaces.nexudus.com/api/billing/timepasses/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
}
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.
Comments
Please sign in to leave a comment.