Reference

Course

The course object

Attributes
Id: int required, autogenerated, unique
The unique identifier for this course
Active: bool optional
BusinessId: Id required
DisplayOrder: int required
FullDescription: string optional
GroupName: string optional
HasCommunityGroup: bool optional
HostId: Id required
OverviewText: string optional
ShowInHomePage: bool optional
ShowOverview: bool optional
SummaryText: string optional
TariffId: Id optional
Title: string required
Visibility: Nexudus.Coworking.Core.Enums.eCourseVisibility optional
UniqueId: Guid required, autogenerated, unique
The globally unique identifier for this course
SystemId: string optional api-only
User defined data about this course. This property can only be seen and updated using the API.

Json Structure Example


{
  "Id": 1234567,
  "Active": false,
  "BusinessId": 12345678,
  "DisplayOrder": ,
  "FullDescription": "Course Description",
  "GroupName": "Short",
  "HasCommunityGroup": false,
  "HostId": 12345678,
  "OverviewText": "LongText",
  "ShowInHomePage": false,
  "ShowOverview": false,
  "SummaryText": "ShortText",
  "TariffId": 12345678,
  "Title": "Title",
  "Visibility": 1,
  "UniqueId": "dc16a9d6-04b6-450d-8dee-09b1b5403d04",
  "SystemId": "{ metadata: { id: 887766, processed: true } }"
}


Find a Course

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

GET https://spaces.nexudus.com/api/content/courses?...

πŸ”’ Requires role "Course-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 course records based on their different properties.
Id number
?Id=12345678
Course_Active bool
?Course_Active=...
Course_Business Business
?Course_Business=...
Course_DisplayOrder int
?Course_DisplayOrder=...
Course_FullDescription string
?Course_FullDescription=...
Course_GroupName string
?Course_GroupName=...
Course_HasCommunityGroup bool
?Course_HasCommunityGroup=...
Course_Host Coworker
?Course_Host=...
Course_OverviewText string
?Course_OverviewText=...
Course_ShowInHomePage bool
?Course_ShowInHomePage=...
Course_ShowOverview bool
?Course_ShowOverview=...
Course_SummaryText string
?Course_SummaryText=...
Course_Tariff Tariff
?Course_Tariff=...
Course_Title string
?Course_Title=...
Course_Visibility Nexudus.Coworking.Core.Enums.eCourseVisibility
?Course_Visibility=...
Course_Business_Name string
?Course_Business_Name=...
Course_Business_Address string
?Course_Business_Address=...
Course_Business_TownCity string
?Course_Business_TownCity=...
Course_Business_PostalCode string
?Course_Business_PostalCode=...
Course_Host_FullName string
?Course_Host_FullName=...
Course_Host_CompanyName string
?Course_Host_CompanyName=...
Course_Host_TeamNames string
?Course_Host_TeamNames=...
Course_Tariff_Name string
?Course_Tariff_Name=...
Course_Tariff_InvoiceEvery string
?Course_Tariff_InvoiceEvery=...
Course_Tariff_InvoiceEveryWeeks string
?Course_Tariff_InvoiceEveryWeeks=...
Course_Tariff_Price string
?Course_Tariff_Price=...
Course_Tariff_Currency_Code string
?Course_Tariff_Currency_Code=...

Range search querystring parameters
Lets you search course records based on a range of date or numeric values.
To_Course_CreatedOn date
?To_Course_CreatedOn=2010-01-01T20:32
From_Course_CreatedOn date
?From_Course_CreatedOn=2010-01-01T20:32
To_Course_UpdatedOn date
?To_Course_UpdatedOn=2010-01-01T20:32
From_Course_UpdatedOn date
?From_Course_UpdatedOn=2010-01-01T20:32
To_Course_DisplayOrder number
?To_Course_DisplayOrder=0
From_Course_DisplayOrder number
?From_Course_DisplayOrder=10

Example request

GET https://spaces.nexudus.com/api/content/courses?Course_Title=...
Content-Type: application/json
Authentication: Basic ZXhhbXBsZUBuZXh1ZHVzLmNvbTpFeGFtcGxlMTIzNA==

Example response


{
    "Records": [{
        "Id": 1234567,
        "Business": ,
        "Host": ,
        "Title": "Title",
        "SummaryText": "ShortText",
        "FullDescription": "Course Description",
        "ShowOverview": false,
        "HasCommunityGroup": false,
        "OverviewText": "LongText",
        "Active": false,
        "GroupName": "Short",
        "DisplayOrder": ,
        "ShowInHomePage": false,
        "Visibility": 1,
        "Tariff": ,
        "CourseBusinessName": "...",
        "CourseBusinessAddress": "...",
        "CourseBusinessTownCity": "...",
        "CourseBusinessPostalCode": "...",
        "CourseHostFullName": "...",
        "CourseHostCompanyName": "...",
        "CourseHostTeamNames": "...",
        "CourseTariffName": "...",
        "CourseTariffInvoiceEvery": "...",
        "CourseTariffInvoiceEveryWeeks": "...",
        "CourseTariffPrice": "...",
        "CourseTariffCurrency_Code": "...",
        "CreatedOn": "2018-07-03T06:23:01Z",
        "UpdatedOn": "2020-01-01T21:57:21Z",
        "UpdatedBy": "System",
        "UniqueId": "90a3f3b6-7de1-475c-bce4-6544a208cb26",
        "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 Courses by IDs

Gets one or more course records based on their Id.
GET https://spaces.nexudus.com/api/content/courses?Course_Id=[:id1,:id2,...]

πŸ”’ Requires role "Course-List"

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

Example request

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

Example response


{
    "Records": [{
        "Id": 1234567,
        "Business": ,
        "Host": ,
        "Title": "Title",
        "SummaryText": "ShortText",
        "FullDescription": "Course Description",
        "ShowOverview": false,
        "HasCommunityGroup": false,
        "OverviewText": "LongText",
        "Active": false,
        "GroupName": "Short",
        "DisplayOrder": ,
        "ShowInHomePage": false,
        "Visibility": 1,
        "Tariff": ,
        "CourseBusinessName": "...",
        "CourseBusinessAddress": "...",
        "CourseBusinessTownCity": "...",
        "CourseBusinessPostalCode": "...",
        "CourseHostFullName": "...",
        "CourseHostCompanyName": "...",
        "CourseHostTeamNames": "...",
        "CourseTariffName": "...",
        "CourseTariffInvoiceEvery": "...",
        "CourseTariffInvoiceEveryWeeks": "...",
        "CourseTariffPrice": "...",
        "CourseTariffCurrency_Code": "...",
        "CreatedOn": "2018-07-03T06:23:01Z",
        "UpdatedOn": "2020-01-01T21:57:21Z",
        "UpdatedBy": "System",
        "UniqueId": "34cba6ef-1c5a-425c-8f7b-14c2f037b418",
        "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 Course by Id

Gets one course record by its Id.
GET https://spaces.nexudus.com/api/content/courses/:Id

πŸ”’ Requires role "Course-Read"

URL parameters
Id: number requried

Example request

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

Example response


{
  "Id": 1234567,
  "Active": false,
  "BusinessId": 12345678,
  "DisplayOrder": ,
  "FullDescription": "Course Description",
  "GroupName": "Short",
  "HasCommunityGroup": false,
  "HostId": 12345678,
  "OverviewText": "LongText",
  "ShowInHomePage": false,
  "ShowOverview": false,
  "SummaryText": "ShortText",
  "TariffId": 12345678,
  "Title": "Title",
  "Visibility": 1,
  "CreatedOn": "2018-07-03T06:23:01Z",
  "UpdatedOn": "2020-01-01T21:57:21Z",
  "UpdatedBy": "System",
  "UniqueId": "20651ef1-6989-45af-91a6-bf3cedf03ace",
  "SystemId": "{ metadata: { id: 887766, processed: true } }"
}


Create new Course

Creates a new course.
POST https://spaces.nexudus.com/api/content/courses

πŸ”’ Requires role "Course-Create"

Body parameters
BusinessId: number required
HostId: number required
Title: string required
SummaryText: string optional
FullDescription: string optional
ShowOverview: bool optional
HasCommunityGroup: bool optional
OverviewText: string optional
Active: bool optional
GroupName: string optional
DisplayOrder: int required
ShowInHomePage: bool optional
Visibility: Nexudus.Coworking.Core.Enums.eCourseVisibility optional
TariffId: number optional

Example request

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

{
    "BusinessId": 12345678,
    "HostId": 12345678,
    "Title": "Title",
    "SummaryText": "ShortText",
    "FullDescription": "Course Description",
    "ShowOverview": false,
    "HasCommunityGroup": false,
    "OverviewText": "LongText",
    "Active": false,
    "GroupName": "Short",
    "DisplayOrder": ,
    "ShowInHomePage": false,
    "Visibility": 1, //(check Enumerated values section below)
    "TariffId": 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 Course

Updates an existing course.
PUT https://spaces.nexudus.com/api/content/courses

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

πŸ”’ Requires role "Course-Edit"

Body parameters
Id: number required
The unique Id of the course to update.
BusinessId: number cleared if missing
HostId: number cleared if missing
Title: string cleared if missing
SummaryText: string cleared if missing
FullDescription: string cleared if missing
ShowOverview: bool cleared if missing
HasCommunityGroup: bool cleared if missing
OverviewText: string cleared if missing
Active: bool cleared if missing
GroupName: string cleared if missing
DisplayOrder: int cleared if missing
ShowInHomePage: bool cleared if missing
Visibility: Nexudus.Coworking.Core.Enums.eCourseVisibility cleared if missing
TariffId: number cleared if missing

Example request

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

{
    "Id": 12345678,
    "BusinessId": 12345678,
    "HostId": 12345678,
    "Title": "Title",
    "SummaryText": "ShortText",
    "FullDescription": "Course Description",
    "ShowOverview": false,
    "HasCommunityGroup": false,
    "OverviewText": "LongText",
    "Active": false,
    "GroupName": "Short",
    "DisplayOrder": ,
    "ShowInHomePage": false,
    "Visibility": 1, //(check Enumerated values section below)
    "TariffId": 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 Course

Deletes an existing course by its Id.
DELETE https://spaces.nexudus.com/api/content/courses/:Id

πŸ”’ Requires role "Course-Delete"

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

Example request

DELETE https://spaces.nexudus.com/api/content/courses/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 course 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 course records.
GET https://spaces.nexudus.com/api/content/courses/commands

Example request

GET https://spaces.nexudus.com/api/content/courses/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 course record IDs.
POST https://spaces.nexudus.com/api/content/courses/runacommand
πŸ”’ Requires role "Course-Edit"

Example request

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

Visibility

GET /api/utils/enums?name=eCourseVisibility

Binary files

The following endpoints return binary data. Check the `ContentType` header to understand the type of file being returned in the response stream.

Image

GET https://spaces.nexudus.com/api/content/courses/getimage/:id
URL parameters
Id: number required
The id of the Course to get the image for.

LargeImage

GET https://spaces.nexudus.com/api/content/courses/getlargeimage/:id
URL parameters
Id: number required
The id of the Course to get the largeimage for.

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.