Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Live Search | ||||||||
---|---|---|---|---|---|---|---|---|
|
Info |
---|
accessplanit’s website XML Feeds are a very flexible, configurable way to integrate your accessplanit courses into your website. The XML feeds contain the details of your advertised, future courses and your website developers can use these details to advertise your courses, show your course availability, to give your customers a seamless transition into your accessplanit shopping basket when they click to book! |
Why integrate?
There are two main reasons to integrate your courses into your website:
To advertise your course availability
The HTML plugin displays a table of available, future courses. Your customers can see which courses you are running on what dates, where those courses are being run, and if there are still places left.To allow people to directly book course places online
With the HTML plugin you can include a ‘Book’ button which takes your customers straight to your accessplanit shopping basket with that course added, this means you can be taking bookings 24 hours a day, 7 days a week!
Why use the XML Feeds for website integration?
There are two core ways to integrate your accessplanit courses into your website. You can either use accessplanit’s XML feeds which offer a lot of flexibility and functionality for a highly-configured website, or you can use accessplanit’s HTML Plugin for a quick and easy integration, many accessplanit customers opt for the HTML Plugin route as a long-term integration, and some have also chosen this route as a temporary solution while their website developers work on their final website using the XML Feeds.
The benefits to using the XML Feeds are:
Flexibility, the XML Feeds provide your web developer with the freedom to choose how the information about your courses is displayed on your website, whereas the HTML Plugin is limited to displaying courses in a table format.
More course information available, there is a lot more information about your courses available in the XML feeds compared to the HTML Plugin, for example the XML Feeds contain your course description text (Aims, Objectives, Summary) and the External ID for your Courses, this information is not available in the HTML Plugin.
Caveats to use of the XML Feeds
You will need to have the expertise in-house, or be willing to employ an external web developer capable to interpreting the XML feed and performing the actual integration work. This can be time consuming, and if you outsource this work you’ll need to factor in the associated costs.
If you run sessional courses and want to show the child sessions linked to the head course on your website then this is very difficult to achieve using the XML.
What XML feeds are available?
There are three XML feeds available, all of which all return slightly different data sets and you may wish to use a combination of these for your website integration.
The GetCourses feed will show the details of your Course Templates in your accessplanit platform
The GetCoursesPackage will show the details of your scheduled courses
The GetCoursesPackageWithCourseDateText will show the details of your scheduled courses and includes Joining Instructions text that you provide for the course
The most common combination used is the GetCourses feed and the GetCoursesPackage feed. The GetCourses feed is used to display information for each course that you offer (such as the course name, course description and course duration), then the GetCoursesPackage feed is used to display the available dates that your customers can book (including the date of the course, the cost, the number of places available, and the link to book the course). This approach ensures that if there are no course dates available for one of your courses, your course information is still displayed.
It should be noted that most of the information available within the GetCourses feed is also available within the GetCoursesPackage and GetCoursesPackageWithCourseDateText feeds, apart from ImageURL and WICategory. Likewise, all the data contained within the GetCoursesPackage feed is contained with the GetCoursesPackageWithCourseDateText feed. Please see ‘Data available in each XML Feed’ below to read about what information is available in each XML Feed.
Accessing the XML Feeds
To access these XML feeds for your integration, use the following URL, replacing 'configname' with your platform's name:
https://configname.accessplanit.com/accessplan/services/WebIntegration.asmx
The ‘configname' in the example URL above should be replaced with your accessplanit platform’s name. This is the first part of the URL on your platform and this is typically the name of your company.
For example, if your accessplanit platform was called 'Galaxy’, the URL to access your accessplanit platform would be https://galaxy.accessplanit.com and the script source URL would be
https://galaxy.accessplanit.com/accessplan/services/WebIntegration.asmx
If you are setting up your integration with your Sandbox accessplanit environment to begin with (before switching the integration to use your Live accessplanit environment), then you will also need to change your URL to reference the sandbox site. To do this change ‘accessplan’ in the URL to ‘accessplansandbox’. For example:
https://galaxy.accessplanit.com/accessplansandbox/services/WebIntegration.asmx
Which courses won't show in the feeds?
There are a few reasons why a course might not show in the feeds:
Exclusivity - If a course template or date is exclusive to a certain account or account group, this won't show in the plug-in. This is to make sure that only public courses are listed on your website, rather than any courses that you are running specifically for one customer. There is a setting that accessplanit can change to allow exclusive course to show, please get in contact with the accessplanit support team if you would like this changed.
Advertising - If both the course template and course date have the "Advertise" field ticked, and the current date is within the "Advertise Start/End Dates" date range, then the course will show in the feed.
Dates - By default, only future courses will show, however there is a setting that accessplanit can change to allow courses that have already started to appear in the feed. Please get in contact with the accessplanit support team if you would like this changed.
You can learn more about Course Management here.
Which courses include a Booking Link in the feeds?
The Book Now link is included in the XML Feeds for Courses with the following statuses
Available
Fully Booked
The Book Now Link is not included in the XML Feeds for Courses with the following statuses
Provisional
In Progress
Fully Booked
Cancelled
Completed
On Hold
Failed
Data available in each XML Feed
Here is a list of the information available in each of the XML Feeds, so that you can decide which feeds to use in your integration!
Info |
---|
PLEASE NOTE: If you’re Course Dates & Times are not appearing in the XML feed, this is because the Course ‘Type’ has uppercase letters instead of lowercase. This always must be lowercase! |
All three feeds
Course ID
The course ID displays the Course Template ID for the Course Template in your accessplanit platform, this can be up to 10 characters long.Label
The label displays the Course Template label.Text1
Text1 displays the course description text that is stored in the ‘Aims’ box for the Course Template. Aims does support HTML (such as making some text bold, and changing the font), and this HTML is included in the XML Feed.Text2
Text2 displays the course description text that is stored in the ‘Objectives’ box for the Course Template. Objectives does support HTML (such as making some text bold, and changing the font), and this HTML is included in the XML Feed.Text3
Text3 displays the course description text that is stored in the ‘Summary’ box for the Course Template. Summary does support HTML (such as making some text bold, and changing the font), and this HTML is included in the XML Feed.Cost
The cost displays the cost of the course, if this is accessed from the<Courses> ... </Courses>
part of the feed then the cost will show you the cost stored against the Course Template (the default cost of the course), if this is accessed from the<Dates> ... </Dates>
part of the feed then then cost will show you the cost for this specific course date.Cost Type
The Cost Type displays how cost is calculated for a booking. For public offered courses, the majority courses have the cost type of per “candidate”. The Cost Types available are:Candidate
Hour
Session
Day
CandidateDay
Type
The Type tells you what the format of the course is, there are six different types of courses available in the accessplanit platform. The most commonly used types are Class, Web, and eLearning. The Types available are:Class
eLearning
Module
Document
Web
Duration
The Duration is the length of the course, the duration is always a number, it is supported by the next field ‘Duration Type’.Duration Type
The Duration Type supports the previous field ‘Duration’. Courses can either have a duration in days, hours or minutes. Please note that the duration type is displayed as a number in the XML Feed, you can use the below key to understand what each number is for:A duration type of ‘0' means 'Days’
A duration type of ‘1' means 'Hours’
A duration type of ‘2' means 'Minutes’
Currency
The Currency is typically a three letter currency code such as ‘GBP' or 'USD’, it is used to indicate the currency that this course is being charged inCurrencySymbol
The Currency Symbol is the symbol associated with the currency in the previous field, for example, GBP would have the associated symbol of '£', and USD would have a associated symbol '$'.CategoryIDs
The Category IDs displays the IDs of the categories that the Course Template is associated with.Publish Date
The Publish Date displays the date that the course can be published, this is set up on the Course Template.External ID
If this is accessed from the<Courses> ... </Courses>
part of the feed then the External ID is the ID set up in the Course Template’s External ID option, if this is accessed from the<Dates> ... </Dates>
part of the feed then the External ID is the ID set up in the scheduled Course’s External ID option, this is often used to store the ID from another system.Delivery Method
The Delivery Method displays the ID of the Delivery Method for the Course, the labels for these IDs is available in the GetCoursesPackage feed. If this is accessed from the<Courses> ... </Courses>
part of the feed then the Delivery Method is the ID of the Delivery Method set up on the Course Template, if this is accessed from the<Dates> ... </Dates>
part of the feed then the Delivery Method is the ID of the Delivery Method set up on the scheduled course.
GetCourses feed only
WICategory
This displays the Category ID and Label of a category that the course relates to. Each Course Template may have multiple WICategory sections, depending on how many categories are associated to it.ImageURL
This is the link to the image that is stored against the Course Template in accessplanit.
GetCoursesPackage and GetCoursesPackageWithCourseDateText feed only
Info |
---|
PLEASE NOTE: If you’re Course Dates & Times are not appearing in the XML feed, this is because the Course ‘Type’ has uppercase letters instead of lowercase. This always must be lowercase! |
Dates
CourseDateID
This is the ID number which is unique to this individual occurrence of this course. These IDs are automatically generated in your accessplanit platform and they are numeric.StartDate
This is the start date and time of this scheduled course, the date is displayed in the format ‘YYYY-MM-DDT00:00:00’, for example '2023-06-17T09:30:00'. The “T” separates the date and time. A 24 clock time format is presented. There will not be a date provided here if the course is not a scheduled course, for example if it is an eLearning course.EndDate
This is the end date and time of this scheduled course, the date is displayed in the format ‘YYYY-MM-DDT00:00:00’, for example '2023-06-18T17:30:00'. The “T” separates the date and time. A 24 clock time format is presented. There will not be a date provided here if the course is not a scheduled course, for example if it is an eLearning course.StartDateString
This is the start date of the course only, without the time, the date is displayed in the format DD/MM/YYYY, for example '17/06/2022'.EndDateString
This is the end date of the course only, without the time, the date is displayed in the format DD/MM/YYYY, for example '18/06/2023'.StartTimeString
This is the start time of the course only, without the date, the date is displayed in the format HH:MM:SS am/pm, for example '09:30:00 AM'.EndTimeString
This is the end time of the course only, without the date, the date is displayed in the format HH:MM:SS am/pm, for example '05:30:00 PM'.VenueIDs
This displays the Venue IDs for each of the venues that the course is assigned to. Each course may have multiple venues, however it is not common for a course to have more than one, details about the venue (such as the venue label and address) are available lower down in the feed.TrainerIDs
This displays the Trainer IDs for each of the trainers that is leading the course. Each course may have multiple trainers, details about the trainers (such as their forename and surname) are available lower down in the feed.SpacesAvailable
This displays the number of available spaces left on the course.Status
This will display the status of the course, the following statuses available are:Available
Cancelled
Completed
InProgress
OnHold
FullyBooked
Unknown
Provisional
BookNowURL
This is the unique booking URL for your customers to book this course. Following this URL will add the course to your customer’s accessplanit shopping basket.EnquireURL
This is a unique enquiry URL for this course which can be used to direct prospective customers to a form they can fill in to express an interest in a course (rather than making a firm booking). From a web developer's perspective, you may choose to have this URL open in a pop-up page once the link is clicked. Please note that accessplanit has an enquiry form plugin which is often used instead of the EnquireURL.Private
This will either be ‘true’ or ‘false’, and relates to a legacy setting that is no longer widely used. If this is in use, most organisations choose to not display any courses that have private set to “true” on their website as these relate to courses that are not available to the general public.Alias
The Alias is a the label given to the scheduled course, as an override to the Course Template Label.MaxPlaces
This displays the total number of spaces that were available on the course before bookings were made. This allows you to create availability warnings based on the size of the course (MaxPlaces) and the SpacesAvailable.Sessional
This displays ‘true’ or ‘false’ to indicate if the course is sessional or not, a sessional course is one which is made up of multiple parts, such as a blended learning course or a course which runs each Monday for four weeks.
Venues
VenueID
This displays the ID of the Venue and can be used as a reference to the Venue IDs displayed against each date.Label
This is the label of the VenueAddress
This is the building name/number and street part of the Venue address.Town
This is the town the Venue is within.County
This is the county the Venue is within.Country
This is the country the Venue is within.Postcode
This is the Venue postcode.Longitude
This is the approximate longitude based on the postcode supplied of the Venue.Latitude
This is the approximate latitude based on the postcode supplied of the Venue.
Trainers
TrainerID
This displays the ID of the Trainer and can be used as a reference to the Trainer IDs displayed against each date.Forenames
This is the Trainer's first name.Surname
This is the Trainer's last name.
Categories
Category ID
This displays the ID of the Category and can be used as a reference to the Category IDs displayed against each date.Label
This is the label of the Category.
Delivery Methods
Delivery Method ID
This displays the ID of the Delivery Method and can be used as a reference to the Delivery Method IDs displayed against each date.Label
This is the label of the Delivery Method.
GetCoursesPackageWithCourseDateText feed only
AdditionalInformation
AdditionalInformation displays any text that is stored in the ‘Additional Information’ box for the scheduled course. Additional Information does support HTML (such as making some text bold, and changing the font), and this HTML is included in the XML Feed.JoiningInstructions
JoiningInstructions displays any text that is stored in the ‘Joining Instructions’ box for the scheduled course. Joining Instructions does support HTML (such as making some text bold, and changing the font), and this HTML is included in the XML Feed.
Filtering the XML feeds
GetCourses
There are three filters available for the GetCourses feed, only one of these is mandatory
CompanyID
This is the training provider running the courses, this filter is mandatory.
Please note, if your accessplanit platform has multiple training providers, you will need to run separate requests for each provider, as you cannot comma separate multiple provider IDs to display courses from two or more providers in the feed at the same time.
You can find the Company ID inside your accessplanit platform by viewing your Training Provider Account and viewing the ‘Account ID’ option.CategoryIDs
This is the category of the Course Template, this filter is optional.
Provide the ID of the category to only return courses that are within this category.
If you would like to provide multiple category IDs in this filter, pipe-separate them within your request.
CourseIDs
This is the ID of the Course Template, this filter is optional.
Provide the ID of the Course Template to only return that specific Course Template in your results.
If you would like to provide multiple category IDs in this filter, pipe-separate them within your request
GetCoursePackage & GetCoursesPackageWithCourseDateText
There are four filters available for the GetCoursesPackage feed, only one of these is mandatory
CompanyID
This is the training provider running the courses, this filter is mandatory.
Please note, if your accessplanit platform has multiple training providers, you will need to run separate requests for each provider, as you cannot comma separate multiple provider IDs to display courses from two or more providers in the feed at the same time.
You can find the Company ID inside your accessplanit platform by viewing your Training Provider Account and viewing the ‘Account ID’ option.CourseIDs
This is the ID of the Course Template, this filter is optional.
Provide the ID of the Course Template to only return courses for that specific Course Template in your results.
If you would like to provide multiple category IDs in this filter, pipe-separate them within your request.
VenueIDs
This is the ID of the Venue where the courses are being held, this filter is optional.
Provide the ID of the Venue to only return courses that are being held at that venue in your results.
If you would like to provide multiple venue IDs in this filter, pipe-separate them within your request.
CategoryIDs
This is the category of the Course Template, this filter is optional.
Provide the ID of the category to only return courses that are within this category.
If you would like to provide multiple category IDs in this filter, pipe-separate them within your request.
Filtering the XML Feeds using URLs
The previous section discussed how to use the …/services/WebIntegration.asmx page to filter the results of the XML Feeds. It is also possible to run the feeds and filter them via a URL request.
To use the URL approach, please see the example URLs below and the instructions for which parts of the URL to change
GetCourses
For the GetCourses feed, use the below URL and change the text that is bold
Change the ‘configname' to your accessplanit platform’s name
Change the ‘accessplan’ to ‘accessplansandbox’ if you are using the Sandbox environment instead of the Live environment
Include the IDs of the categories that you would like to filter on
If you do not want to filter on the category, you must still include the ‘categoryIDs=’ text
If you want to filter on multiple categories, you can include multiple IDs and separate them with a pipe
Include the ID of the training provider after the 'companyID=' text
Include the IDs of the courses that you would like to filter on
If you do not want to filter on the course template ID, you must still include the ‘courseIDs=’ text
If you want to filter on multiple courses, you can include multiple IDs and separate them with a pipe
Examples
Example | URL |
---|---|
Only filtering on the mandatory filter for training provider (company ID) | |
Filtering on the training provider and one category | |
Filtering on the training provider and multiple course templates |
GetCoursesPackage & GetCoursesPackageWithCourseDateText
For the GetCoursesPackage & GetCoursesPackageWithCourseDateText feed, use the below URLs and change the text that is bold
GetCoursesPackage
GetCoursesPackageWithCourseDateText
Change the ‘configname' to your accessplanit platform’s name
Change the ‘accessplan’ to ‘accessplansandbox’ if you are using the Sandbox environment instead of the Live environment
Include the IDs of the venues that you would like to filter on
If you do not want to filter on the venue, you must still include the ‘venueIDs=’ text
If you want to filter on multiple venues, you can include multiple IDs and separate them with a pipe
Include the IDs of the categories that you would like to filter on
If you do not want to filter on the category, you must still include the ‘categoryIDs=’ text
If you want to filter on multiple categories, you can include multiple IDs and separate them with a pipe
Include the ID of the training provider after the 'companyID=' text
Include the IDs of the courses that you would like to filter on
If you do not want to filter on the course template ID, you must still include the ‘courseIDs=’ text
If you want to filter on multiple courses templates, you can include multiple IDs and separate them with a pipe
Examples
Example | URL |
---|---|
Only filtering on the mandatory filter for training provider (company ID) | https://galaxy.accessplanit.com/accessplan/services/WebIntegration.asmx/GetCoursesPackage?venueIDs=&categoryIDs=&companyID=DESPIM89&courseIDs= |
Filtering on the training provider and one category | https://galaxy.accessplanit.com/accessplan/services/WebIntegration.asmx/GetCoursesPackage?venueIDs=&categoryIDs=122&companyID=DESPIM89&courseIDs= |
Filtering on the training provider and multiple course templates | https://galaxy.accessplanit.com/accessplan/services/WebIntegration.asmx/GetCoursesPackage?venueIDs=&categoryIDs=&companyID=DESPIM89&courseIDS=INTROT109|FIRSTAL93 |
Implementing Online Booking
Once you have chosen what course information to display on the website the next step in most cases is to choose how to implement the ability for people to book (and pay, if applicable) for courses.
The only piece of data required from within the XML feed to allow online booking is the BookNowURL which is within the GetCoursesPackage and GetCoursesPackageWithCourseDateText feeds.
This URL is typically embedded behind a “Book Now” link, button, or image and this will launch the accessplanit Shopping Basket. The URL will look like this as below. You'll need to change the bolded text to the relevant information for accessplanit:
https://configname.accessplanit.com/accessplan/clientinput/course/coursebooker.aspx?coursedateid=1234
From here, the person booking the course will simply follow the onscreen instructions to complete their booking.
Our recommendation is that the “book now URL” opens in a separate blank browser window.
Please note that you are able to brand your Shopping Basket to match your website look and feel, this is very important to provide your customers with a seamless booking journey.
Example XML Data
Included below are two examples of the actual XML returned from a test environment – one for the GetCourses feed and one for the GetCoursesPackage feed:
Example of GetCourses XML
Filtered to provide details on just one course
Code Block |
---|
<ArrayOfWICourse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="AccessPlanIT.Accessplan.Web.Services"> <WICourse> <CourseID>ADVANCVHiA</CourseID> <Label>Advanced Excel</Label> <Text1>Aims Text Box</Text2> <Text2>Objectives Text Box</Text2> <Text3>Summary Text Box</Text3> <Cost>55</Cost> <CostType>Candidate</CostType> <Type>Class</Type> <Duration>20.00</Duration> <DurationType>2</DurationType> <Currency>GBP</Currency> <CurrencySymbol>£</CurrencySymbol> <PublishDate/> <TrainingPoints/> <ExternalID>IS4009</ExternalID> <DeliveryMethodID>2</DeliveryMethodID> <ImageURL/> <Categories> <WICategory> <CategoryID>164</CategoryID> <Label>CourseCat1</Label> </WICategory> <WICategory> <CategoryID>169</CategoryID> <Label>CourseCat2</Label> </WICategory> </Categories> </WICourse> </ArrayOfWICourse> |
Example of GetCoursesPackage XML
Filtered to provide details on just one course
Code Block |
---|
<WICoursesPackage xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="AccessPlanIT.Accessplan.Web.Services"> <Courses> <WICourse> <CourseID>ADVANCVHiA</CourseID> <Label>Advanced Excel</Label> <Text1>Aims Text Box</Text1> <Text2>Objectives Text Box</Text2> <Text3>Summary Text Box</Text3> <Cost>55</Cost> <CostType>Candidate</CostType> <Type>Class</Type> <Duration>20.00</Duration> <DurationType>2</DurationType> <Currency>GBP</Currency> <CurrencySymbol>£</CurrencySymbol> <CategoryIDs>34</CategoryIDs> </WICourse> </Courses> <Dates> <WICourseDate> <CourseDateID>12328</CourseDateID> <CourseID>ADVANCVHiA</CourseID> <StartDate>2014-12-10T09:00:00</StartDate> <EndDate>2014-12-10T15:00:00</EndDate> <VenueIDs> <string>TRAINI04Y6</string> </VenueIDs> <TrainerIDs> <string>clalle3</string> </TrainerIDs> <SpacesAvailable>10</SpacesAvailable> <Status>Available</Status> <BookNowURL> http://configcode.accessplanit.com/accessplan/clientinput/course/coursebooker.aspx?coursedateid=12328 </BookNowURL> <EnquireURL> http://configcode.accessplanit.com/accessplan/clientinput/company/contactcompany.aspx?contacttype=8&coursecalid=12328 </EnquireURL> <Cost>55</Cost> <Private>false</Private> <Currency>GBP</Currency> <CurrencySymbol>£</CurrencySymbol> </WICourseDate> </Dates> <Venues> <WIVenue> <VenueID>TRAINI04Y6</VenueID> <Label>Training Room 1</Label> <Address>12 Spring Garden Street</Address> <Town>Lancaster</Town> <County>Lancashire</County> <Country>United Kingdom</Country> <Postcode>LA1 1RQ</Postcode> <Longitude>-2.800413</Longitude> <Latitude>54.046914</Latitude> </WIVenue> </Venues> <Trainers> <WITrainer> <TrainerID>clalle3</TrainerID> <Forenames>Clayton</Forenames> <Surname>Allen</Surname> </WITrainer> </Trainers> </WICoursesPackage> |
Cookies
accessplanit uses cookies to store the content of Users' Shopping Baskets, so that the information is remembered as they navigate around your website and through the basket.
Once a customer clicks to add a course to their basket, we will store a cookie recording this.
If you do not yet have a cookie policy available on your website, we encourage adding one to inform your customers that cookies will be recorded.
On this page:
Table of Contents |
---|