These docs are for v20.3.44. Click to read the latest docs for v20.3.186.

Discussions

Ask a Question

Adding Registration Option to Event in /api/Event

I am sending a POST/PUT call to api/Event with a registration option but the registration option does not show in iMIS. I placed my JSON body below. Using iMIS version 20.3.121.27. { "$type": "Asi.Soa.Events.DataContracts.EventData, Asi.Contracts", "StartDateTime": "2022-09-27T16:00:00", "EndDateTime": "2022-09-27T19:00:00", "Location": { "$type": "Asi.Soa.Membership.DataContracts.LocationPartyAddressData, Asi.Contracts", "Name": "" }, "Capacity": 0, "AdditionalDescription": "", "Functions": { "$type": "Asi.Soa.Events.DataContracts.EventFunctionDataCollection, Asi.Contracts", "$values": [] }, "RegistrationOptions": { "$type": "Asi.Soa.Events.DataContracts.OptionEventFunctionDataCollection, Asi.Contracts", "$values": [ { "$type": "Asi.Soa.Events.DataContracts.OptionEventFunctionData, Asi.Contracts", "RelatedFunctions": { "$type": "Asi.Soa.Events.DataContracts.EventRelatedFunctionDataCollection, Asi.Contracts", "$values": [] }, "AvailableTo": 1, "EventFunctionId": "EVENT05/REGITEM01", "EventFunctionCode": "REGITEM01", "Name": "Registration Option 1", "Description": "", "IsEventRegistrationOption": true, "RegistrationType": 3, "Category": { "$type": "Asi.Soa.Events.DataContracts.EventFunctionCategoryData, Asi.Contracts", "EventFunctionCategoryId": "REG", "Name": "REG" }, "Status": "", "SortOrder": 0, "StartDateTime": "2022-09-27T00:00:00", "Capacity": 0, "MaximumQuantityPerRegistrant": 1, "Item": { "$type": "Asi.Soa.Commerce.DataContracts.ItemSummaryData, Asi.Contracts", "Description": "", "ItemClass": { "$type": "Asi.Soa.Commerce.DataContracts.ItemClassSummaryData, Asi.Contracts", "ItemClassId": "MEETING", "Name": "MEETING" }, "ItemCode": "EVENT05/REGITEM01", "ItemId": "EVENT05/REGITEM01", "Name": "Registration Option 1" }, "ProgramGroups": { "$type": "Asi.Soa.Events.DataContracts.ProgramGroupDataCollectionCollection, Asi.Contracts", "$values": [ { "$type": "Asi.Soa.Events.DataContracts.ProgramGroupDataCollection, Asi.Contracts", "$values": [ { "$type": "Asi.Soa.Events.DataContracts.ProgramGroupData, Asi.Contracts", "ProgramGroupId": "Day/2022-09-27", "Name": "Tuesday, 27 September 2022", "Sort": "2022-09-27" } ] }, { "$type": "Asi.Soa.Events.DataContracts.ProgramGroupDataCollection, Asi.Contracts", "$values": [] }, { "$type": "Asi.Soa.Events.DataContracts.ProgramGroupDataCollection, Asi.Contracts", "$values": [] } ] }, "ConflictCodes": { "$type": "System.Collections.ObjectModel.Collection`1[[System.String, mscorlib]], mscorlib", "$values": [] }, "EventFormSectionId": "", "FinancialEntityId": "", "ContinuingEducationCreditInformation": { "$type": "Asi.Soa.Events.DataContracts.ContinuingEducationCreditInformationDataCollection, Asi.Contracts", "$values": [ { "$type": "Asi.Soa.Events.DataContracts.ContinuingEducationCreditInformationData, Asi.Contracts", "CreditType": "" } ] }, "MinimumAttendance": 0, "ExpectedAttendance": 0, "GuaranteedAttendance": 0, "ActualAttendance": 0, "Settings": 0, "AdditionalAttributes": { "$type": "Asi.Soa.Core.DataContracts.GenericPropertyDataCollection, Asi.Contracts", "$values": [ { "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name": "WebEnabled", "Value": { "$type": "System.Boolean", "$value": true } } ] } } ] }, "RegistrationClosedMessage": "Registration is closed.", "ProgramGroupInfo": { "$type": "Asi.Soa.Events.DataContracts.ProgramGroupInfoDataCollection, Asi.Contracts", "$values": [ { "$type": "Asi.Soa.Events.DataContracts.ProgramGroupInfoData, Asi.Contracts", "ProgramGroupInfoId": "Day", "Name": "Day", "ProgramGroups": { "$type": "Asi.Soa.Events.DataContracts.ProgramGroupDataCollection, Asi.Contracts", "$values": [] } }, { "$type": "Asi.Soa.Events.DataContracts.ProgramGroupInfoData, Asi.Contracts", "ProgramGroupInfoId": "Category", "Name": "Category", "AllowFreeFormValues": true, "ProgramGroups": { "$type": "Asi.Soa.Events.DataContracts.ProgramGroupDataCollection, Asi.Contracts", "$values": [] } }, { "$type": "Asi.Soa.Events.DataContracts.ProgramGroupInfoData, Asi.Contracts", "ProgramGroupInfoId": "Track", "Name": "Track", "AllowFreeFormValues": true, "ProgramGroups": { "$type": "Asi.Soa.Events.DataContracts.ProgramGroupDataCollection, Asi.Contracts", "$values": [] } } ] }, "EventFormId": "", "EventFormSectionId": "", "PublishingInformation": { "$type": "Asi.Soa.Core.DataContracts.PublishingInformationData, Asi.Contracts", "StartDate": null, "ExpirationDate": null, "Keywords": { "$type": "System.Collections.ObjectModel.Collection`1[[System.String, mscorlib]], mscorlib", "$values": [] }, "PublishingState": 0 }, "FinancialEntityId": "", "NotificationPartyId": "", "TimeZoneId": "Eastern Standard Time", "VirtualMeetingUrl": "", "EventId": "EVENT05", "EventCode": "EVENT05", "Name": "Event Series 1", "Description": "Event Series Description", "RegistrationType": 3, "Category": { "$type": "Asi.Soa.Events.DataContracts.EventCategoryData, Asi.Contracts", "EventCategoryId": "" }, "ParentIdentity": { "$type": "Asi.Soa.Core.DataContracts.IdentityData, Asi.Contracts", "EntityTypeName": "Public", "IdentityElements": { "$type": "System.Collections.ObjectModel.Collection`1[[System.String, mscorlib]], mscorlib", "$values": [ "Public Groups" ] } }, "Status": "A", "DisplayLayouts": { "$type": "Asi.Soa.Core.DataContracts.DisplayLayoutDataCollection, Asi.Contracts", "$values": [ { "$type": "Asi.Soa.Core.DataContracts.DisplayLayoutData, Asi.Contracts", "LayoutDirectory": "~/EventDetail" }, { "$type": "Asi.Soa.Core.DataContracts.DisplayLayoutData, Asi.Contracts", "LayoutType": 1, "LayoutDirectory": "~/EventDashboard" } ] }, "AdditionalAttributes": { "$type": "Asi.Soa.Core.DataContracts.GenericPropertyDataCollection, Asi.Contracts", "$values": [ { "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name": "fullAddressAttribute", "Value": { "$type": "Asi.Soa.Membership.DataContracts.FullAddressData, Asi.Contracts", "Address": { "$type": "Asi.Soa.Membership.DataContracts.AddressData, Asi.Contracts", "AddressLines": { "$type": "Asi.Soa.Membership.DataContracts.AddressLineDataCollection, Asi.Contracts", "$values": [ "", "", "" ] }, "CityName": "", "CountryCode": "", "CountrySubEntityCode": "", "FullAddress": "", "PostalCode": "" }, "CommunicationPreferences": { "$type": "Asi.Soa.Membership.DataContracts.CommunicationPreferenceDataCollection, Asi.Contracts", "$values": [ { "$type": "Asi.Soa.Membership.DataContracts.CommunicationPreferenceData, Asi.Contracts", "Reason": "mail" }, { "$type": "Asi.Soa.Membership.DataContracts.CommunicationPreferenceData, Asi.Contracts", "Reason": "bill" }, { "$type": "Asi.Soa.Membership.DataContracts.CommunicationPreferenceData, Asi.Contracts", "Reason": "ship" } ] }, "DisplayName": "" } }, { "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name": "WebEnabled", "Value": { "$type": "System.Boolean", "$value": true } }, { "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name": "MUFPro1", "Value": "a" }, { "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name": "MUFPro2", "Value": "" }, { "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name": "MUFPro3", "Value": "" }, { "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name": "MUFPro4", "Value": "" }, { "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name": "MUFPro5", "Value": "" }, { "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name": "MUFPro6", "Value": "" }, { "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name": "MUFPro7", "Value": "" }, { "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name": "MUFPro8", "Value": "b" }, { "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name": "MUFPro9", "Value": "" }, { "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name": "MUFPro10", "Value": "c" }, { "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name": "TAX_AUTHORITY", "Value": "" }, { "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name": "TAX_BY_ADDRESS", "Value": { "$type": "System.Boolean", "$value": false } }, { "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name": "VAT_RULE", "Value": "" } ] } }
ANSWERED

API (EMS) - Possible to delete a subscription?

Hi - I'm trying to delete a subscription using this endpoint (after verifying the subscription exists by executing the comparable GET): Method: DELETE Endpoint: /api/Subscription/~194|PAC Response: 403 (Forbidden) - Does not have required permission. (O) Since I'm getting a 403, I'm interpreting that to mean the endpoint/method are valid, but maybe I just can't delete this subscription. But wanted to check - is this a functional method/endpoint? Thanks!
ANSWERED

iMIS Cloud and Diagnosing Errors

When iMIS was hosted on-prem, if an error occurred, I could log onto the server and check the event viewer to get a better idea of what was causing the error. With the move to the cloud and no server access, that is no longer possible; however, the need to diagnose errors still exists. Has ASI provided or does ASI intend to provide a way in the cloud to see the specifics of the errors that occur?
ANSWERED

PartyID - Can this be treated as a user UUID that will never change?

Hi iMIS, Just a quick one, we've added sync and SSO for one of our client that use iMIS. I just wanted to be 100% sure that that PartyID will never change for a user like a user UUID. I did some DB clean-up recently and noticed a few party id issues. Just trying to find out if it is iMIS, the client or possibly some bad data importing. Thanks :)
ANSWERED

HTML Editor on Description field of a Panel Table

I am looking to allow user to enter HTML into a description field to give them the power to format as needed. Currently when I enter the HTML in to the field it's stripped when saved. The current setup is a panel editor with a custom table. Is there a way I can bring in a HTML editor to update that one field?
ANSWERED

When building angular client side ipart example what dependencies are needed for ng build?

Trying to use example ipart from: https://github.com/Advsol/Angular-settings-demo What dependencies are needed for ng build? webpack? https://angular.io/cli/build?
ANSWERED

EMS API - updating the Party (or CsContact) EntityCode

Hi - I'm trying to update a person's EntityCode from DEMO to another value. I tried doing a PUT against the Party endpoint, and a PUT against the CsContact endpoint. In both cases, the response from the PUT reflects the new value of the property, so it appears the update succeeded, but if I do a GET shortly after the update, it still reflects the original value. To perform the update, I'm basically just doing a GET on the Party or CsContact endpoint, finding this entry: { "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name": "EntityCode", "Value": "DEMO" } and replacing it with: { "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name": "EntityCode", "Value": "CSI" } But after the update, I do a GET, and it still shows: { "$type": "Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name": "EntityCode", "Value": "DEMO" } Wondering if that field is locked on purpose? Or if there's another way to update it that I'm missing? Thanks!
ANSWERED

Create a view in SQL database using API

Hi team, As we can't access the database to create a view in iMIS EMS (cloud version). Hence, I'm thinking is that possible to use API to create a view in SQL database? What I'm trying to do is create a data source to filter the members that have more than 2 records in a muti-instance table. I have tried to use Business Object Designer but I'm not able to use having count function in the filter expression, hence need to find another way to filter the data. Any idea/suggestion is much appreciated. Thank you, Vu
ANSWERED

REST API - 2017 - query by ID or PartyID for a UD_Table?

Hi - I have an interesting case where I'm trying to query the API for a UD_Table. When I call: /api/BOEntityDefinition/{UD_Table_Name} I see the ObjectTypeName is "Standard," and there's an "ID" property represented as: --- { "$type": "Asi.Soa.Core.DataContracts.PropertyTypeStringData, Asi.Contracts", "MaxLength": 10, "PropertyTypeName": "String", "Name": "ID", "Description": "", "Caption": "ID", "DefaultValue": "", "DisplayMask": "", "IsIdentity": true, "RenderingInformation": { "$type": "Asi.Soa.Core.DataContracts.PropertyRenderingInformationData, Asi.Contracts", "HelpText": "", "ToolTip": "", "WatermarkText": "", "ControlType": 7 }, "Required": true, "Visible": true } --- When I query the table using the endpoint: /api/{UD_Table_Name}?ID={ID_Value} I get this response: --- { "$type": "Asi.Soa.Core.DataContracts.ValidateResultsData, Asi.Contracts", "IsValid": false, "ValidationResults": { "$type": "Asi.Soa.Core.DataContracts.ValidationResultsData, Asi.Contracts", "Errors": { "$type": "Asi.Soa.Core.DataContracts.ValidationResultDataCollection, Asi.Contracts", "$values": [ { "$type": "Asi.Soa.Core.DataContracts.ValidationResultData, Asi.Contracts", "Message": "In the query, ID is not a known property name." } ] }, "Warnings": { "$type": "Asi.Soa.Core.DataContracts.ValidationResultDataCollection, Asi.Contracts", "$values": [] } } } --- But when I query by PartyId instead of ID, I get a valid response: /api/{UD_Table_Name}?PartyId={ID_Value} Ok, so my question is, when I call the BOEntityDefinition endpoint, how do I know from the response whether I should query the entity using PartyId or ID? (For instance, if I call /api/BOEntityDefinition/CsContact, it also shows an ID property in the metadata, but in this case, I need to query by ID, e.g. /api/CsContact?ID={val}. If I try call /api/CsContact?PartyId={val}, I get the inverse error message, "In the query, PartyId is not a known property name.")
ANSWERED

Making async calls from an iPart

We have some custom .ascx iParts four our on-prem iMIS 20.2.65.9449 version, to which we applied the Telerik security update from march 2020 (Telerik version is 2020.1.219.45). We are now trying to update the iParts to make some post async calls to a web API for integration with other systems (we need to send some notification messages about custom data used by the iParts). The iParts use target .NET framework 4.6.2 (as per current version of iMIS) and System.Net.http runtime 4.1.1.3. We followed recommended practices for making the async calls. Since we made these changes, we are experiencing frequent iMIS sign-outs following an edit made using the iParts. Somehow it is more obvious when there are calls to Asi.AppContext.CurrentIdentity.UserLoginId within the iPart, which we need because we want to record which user made a particular data change. Has anyone else had any issues with async calls from an iPart or around the use of Asi.AppContext.CurrentIdentity.UserLoginId?