Filtermogelijkheden api endpoints

In 2024 zijn drie cloud api’s geintroduceerd die gebruikt kunnen worden voor integraties. Deze api’s worden doorontwikkeld en vervangen op den duur de api’s waarvan de documentatie te vinden is in de backoffice (Systeeminstellingen -> Class api). Geen zorgen als je deze op dit moment (nog) gebruikt ten behoeve van koppelingen, er zijn geen plannen deze uit te faseren. Ze worden alleen niet meer doorontwikkeld. We ontwikkelen alleen de cloud api’s door. Klantwensen voor uitbreiding van een api worden daarom alleen in de cloud api’s doorgevoerd.

Beschikbare cloud api’s

  • SCIM api
  • Product api
  • Enrollment api

Documentatie van de endpoints (Swagger) is voor jouw omgeving beschikbaar na configuratie van de api’s voor jouw omgeving.

Hieronder volgt documentatie m.b.t. de filtering opties in de cloud api’s. Deze is Engelstalig.

Overview

Our Apis use a generic filtering library built on the standard query string syntax to provide extensive query functionalities with get endpoints.

Examples:

Name eq "value"
Name eq "value" and Age eq 21

The available fields are based on the entity the endpoint in question supports, get enrollments for example will support fields on the enrollment entity. Note that fields may or may not be supported depending on the implementation of the endpoint but if the filtering module is applied as default, it will support all fields on the entity in question.

Supported operators

  • eq: equals a eq value
  • ne: not equals a ne value
  • gt: greater than a gt value
  • lt: lower than a lt value
  • ge: greater than or equals to a ge value
  • le: lewer than or equals to a le value
  • co: contains in an object list myList.fieldName co valueOfTheField the operator works on object lists only. It checks weather the list of objects has an element that has a field of a specific value. For example, we can query to get all users that are in a particular group by using the co operator as follows: User.groups.Id co '123-group-Id' the co operator works on the list ‘groups’ and compares the Id field of each group with the value provided. At the time of writing, the co operator compares with equals only, so an exact match must be found for it to return results. There have been cases where comparing with ‘like’ or ‘starts with’ operators were desired, these may be nice to implement in the future.
  • or: this operator allows to chain multiple conditions a.i. x eq 123 or y lt 22 or z eq '123' it returns results if one of the conditions is true
  • and: this operator works liek the or operator but all conditions in the given context have to be true a.i. x eq 123 and y lt 22 and z eq '123'

note: at this time, filtering does not support prioritized conditions like (a eq 12 and b eq 22) or (a eq 22 and z lt 11)

Supported Fields

The following is a list of all supported filtering fields for each Api endpoint that allows filtering.

Scim Api

Get Users
Email
UserName
EnterpriseExtension.EmployeeNumber,
EnterpriseExtensionSchemaRef.EmployeeNumber
EnterpriseExtension.ExternalIdentifiers
EnterpriseExtensionSchemaRef.ExternalIdentifiers,
DisplayName
Name.GivenName
Name.MiddleName
Name.FamilyName
Initials
PersonalTitle

Get Organizations
DisplayName
Identifier
Email
IsBlocked
Phone
InvoiceDetails.VatNumber
InvoiceDetails.Address
InvoiceDetails.City
InvoiceDetails.IsDebtor
InvoiceDetails.DebtorNumber
CocNumber

Enrollment Api

Get Enrollments
Id
CourseTypeId
ApplicantGuid
EmployeeGuid
CourseId
EventId
DivisionGuid
FirstExecutiveGuid
SecondExecutiveGuid
Status
EmailStatusId
Date
Remarks
Agreements
ReasonRejection
IsOvernightIncluded
CancelDate
SalesCancellationPercentage
CreditDate
IsShowParticipant
EventStartDate
EventEndDate
PresencePercentage
ClcRemarks
PurchaseCancelationPercentage
Completion
GroupRequestId
SalesFixedCancellationCosts
PurchaseFixedCancellationCosts
CatalogId
OnlineGrade
OnlineProgress
BackOfficeUserName
LearningEnvironmentExpirationDate
ReasonCancellation
InsufficientAttendanceNotificationSentDate
ClassGrade
ExamGrade
InstructorRemarks
FirstExecutiveAuthorizationDate
SecondExecutiveAuthorizationDate
ApprovalDate
SupplierCancelDate
DevelopmentPlanGuid
ConfirmationDate
EmploymentGuid
HasNoServiceCosts
SendNotificationsBySms
IsRebooked
StudyContractStatus
MeetsRequirements
ThirdExecutiveGuid
ThirdExecutiveAuthorizationDate
PersonalBudget
Credits
ReplacementRequestGuid
ReplacementForRequestGuid
NoShowStatus
CompletedDate
OnlineStartDate
OnlineStatus
CoachEmployeeGuid
CoachHasAccepted
Email
StudyContractGuid
ExtraInfo
EventLocationGuid
SupplierApprovalDate
OptionalField1
OptionalField2
ExternalReferenceSource
ExternalReferenceId
IsPersonal
IsUnlimited
DepartmentBudget
PersonalContributionBudget
StudyContractType
StudyContractArrangement
CourseEvaluationSentDate
IsPrivate
TodoActivityGuid
DevelopmentHoursExpected
DevelopmentHoursSpent
TotalSalesPrice
PersonalBudgetExportDate
StudyContractCourseRequirementStatus
ModificationDate
Course
Course.Completion
DevelopmentPlan
Employee
Employee.ClassIdentity
Applicant
Applicant.ClassIdentity
LearningActivityScores
LearningActivityScores.LearningActivity

Exemptions
**

Product Api

Get Courses
Id
LmsSourceId
CourseTypeId
Name
FullName
SupplierGuid
SupplierCourseId
Url
GoalMemo
ProgramMemo
IntroductionMemo
MethodMemo
ExamMemo
CommunicationGuid
Communication
CommentMemo
ScheduleMemo
ArrangementMemo
LessonDuration
TurnAroundTime
TotalDayPeriods
PreliminaryEducationId
PreliminaryEducationMemo
PersonalIntake
PersonalOuttake
CourseStatus
CreationDate
ModificationDate
IsArchived
OrganizationContact
ContentsContact
ContactMemo
ContactEmployeeGuid
ClcAdviser
OrderNumber
TenderStatus
NoAuthorizationNeeded
CommentsBackoffice
FacilityMemo
InstructorMemo
ArchiveDate
VersionText
PriceAgreementMemo
FileGuid
IsOvernightIncluded
DaysAvailable
IsSubsidised
LearningEnvironmentType
MinDaysAhead
PurchaserCompanyGuid
MoodleCourseId
AlwaysSendInvitationsByRegularMail
SendInvitation
HasNoServiceCosts
CompletionId
AutoCreateCertificate
CertificateValidYears
CertificateValidMonths
CertificateValidDays
LearningLineGuid
RenewsCertificateGuid
AutoAssignCompetences
XmlHashCode
EventRegistrationPermissionType
IsParticipantListVisible
Timestamp
CreatedBy
ModifiedBy
AutoAssignSkills
NeedsMutationApproval
MutationApprovalType
ClcAdviserUserId
CertificateCustomText
PurchaserDivisionGuid
OpenRegistrationEnabled
RequiredCoursesMode
InstructorInterimEvaluationId
InstructorFinalEvaluationId
StudentInterimEvaluationDaysToSend
InstructorInterimEvaluationDaysToSend
StudentFinalEvaluationDaysToSend
InstructorFinalEvaluationDaysToSend
IsPlannable
PurchaserCompanyContactPersonGuid
IsStudentInterimEvaluationEnabled
IsStudentFinalEvaluationEnabled
IsInstructorInterimEvaluationEnabled
IsInstructorFinalEvaluationEnabled
JobTitleRestrictionsType
DepartmentRestrictionsType
HideStandardCertificateTemplate
OptionalField1
OptionalField2
ExternalUrl
EventWaitingListEnabled
CertificateValidFixedDate
DivisionRestrictionsType
CertificateTemplateGuid
IsUploadOfCertificateNeededEnabled
CompliancyTypeId
CustomerOrderNumberGuid
IndicationCostsEnabled
NotProduceOrders
IndicationCosts
CourseWaitingListEnabled
IsPrivate
DurationTime
IsVerified
DaysBeforeSendingInvites
IsPublishedForLeerRijk
LeerRijkCourseMetaDataGuid
DevelopmentHoursIndication
DevelopmentHoursApplied
BrokerGuid
TodoActivityDocumentIsRequired
UnlimitedLearningEnabled
Events (only active events)
Themes

Get DevelopmentPlans
Id
CatalogId
CompetenceMemo
CreationDate
JobTitleId
EmployeeId
ModificationDate
Name
IsApproved
StartDate
EndDate
OtherDevelopmentActivities
IsSequentialDevelopmentPlan
Visibility
EvaluatorEmployeeGuid
EvaluationDate
PersonalDevelopmentPlanStatus
JobTitleRestrictions
DepartmentRestrictions
DivisionRestrictions
Code
Module
IsArchived
IsMigrated
ImageFileGuid
IsVisibleCatalogSearch
AlternativeTextEmailCertificateExpires
AlternativeTextEmailCertificateAlmostExpires
SendEmailBeforeCertificateExpiresValue
SendEmailBeforeCertificateExpiresType
Catalogs