Discussions

Ask a Question

Find UserSecurity by Name returns a Task

According to the documentation here: [Executes a GenericExecuteRequest](https://developer.imis.com/reference/executesmusersecurity) A `POST` request to `/api/UserSecurity/_execute` Returns a "$type" value of: "System.Threading.Tasks.Task`1[[Asi.Soa.Core.DataContracts.IServiceResponse`1[[Asi.Soa.Membership.DataContracts.User.UserSecurityData, Asi.Contracts]], Asi.Contracts]], mscorlib" Is that normal? A `System.Threading.Tasks.Task` wasn't expected. Thank you for any insight. Cordially, Molivouth B.

REST API Cache - Configurable?

As per other questions here, https://developer.imis.com/discuss/622bb30d1c31630091561243 https://developer.imis.com/discuss/5c6e1041cd56010020fe9280 iMIS REST appears to cache, but the cache isn't marked dirty for changes made outside of the REST API Eg. Through iBO Through iMIS Automation stored procedures Through iMIS desktop Is there a way to turn this off or configure the cache expiry time?

Rest Api call timeout

Hello, I'm trying to GET from the invoice endpoint a list ( https://{{URL}}/api/Invoice?limit=100 ), but I'm receiving in the Windows Event Log the following error. 2022-04-20 16:50:43,641 [90] ERROR DC-APP-SQL:Bravo [(null)] - Error occured at Uri: https://myurl.com/Asi.Scheduler_iMIS/api/Invoice System.Data.SqlClient.SqlException (0x80131904): Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.ComponentModel.Win32Exception (0x80004005): The wait operation timed out at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() at System.Data.SqlClient.SqlDataReader.get_MetaData() at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult) at System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries) at System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query) at System.Data.Linq.DataQuery`1.System.Collections.IEnumerable.GetEnumerator() at Asi.Soa.Core.Persistence.LinqQueryBuilder.GetFilteredResult() at Asi.Soa.Core.Persistence.LinqQuery.ExecuteQuery() at Asi.Soa.Core.Persistence.LinqPersistenceStrategyBase.FindMatching(QueryData query) at Asi.Soa.Core.Domain.Repository.FindMatching(QueryData query) at Asi.Services.Core.EntityServiceToCommonServiceAdapter`1.Find(IQuery`1 query) at Asi.Services.Core.EntityServiceToCommonServiceAdapter`1.Find(IQuery query) at Castle.Proxies.Invocations.ICommonReadOnlyService_Find.InvokeMethodOnTarget() at Castle.DynamicProxy.AbstractInvocation.Proceed() at Asi.Shared.Aspects.CacheAspect.Intercept(IInvocation invocation) in C:\Builds\208\ScrumV3\sp137_Main10\Sources\MainFoundation\imis.net\Packages\Platform\Asi.Shared\Aspects\CacheAspect.cs:line 62 at Castle.DynamicProxy.AbstractInvocation.Proceed() at Asi.Services.Core.Interceptors.CommonSecurityAspect.Intercept(IInvocation invocation) at Castle.DynamicProxy.AbstractInvocation.Proceed() at Asi.Shared.Aspects.PerformanceAspect.Intercept(IInvocation invocation) in C:\Builds\208\ScrumV3\sp137_Main10\Sources\MainFoundation\imis.net\Packages\Platform\Asi.Shared\Aspects\PerformanceAspect.cs:line 55 at Castle.DynamicProxy.AbstractInvocation.Proceed() at Castle.Proxies.ICommonService`1Proxy_22.Find(IQuery query) at Asi.Scheduler.Controllers.CommonServiceController.Get(String entityName) ClientConnectionId:2c8fce6a-15af-4e86-8b61-983bdfbbac9f Error Number:-2,State:0,Class:11 Thanks Do you know what is the solution ? Thanks

Group Price for Events

Hello, I know that I can specify specific prices for Members and Non-Members in Rise and also by creating new groups using IQA and then creating the group over that IQA. What I don't understand is how could I change the default behavior (IQA probably ?) that identifies PartyId as a Member or Non-Member. Could someone point me to the right direction to achieve this ? I've read in documentations that Members are PartyIds that are 'Active'. But what if I want to exclude some Registration Types ? Thanks

In IQA query, parameters must be Parameter Equal

Hi, I have my url like this in a clientside iPart var urllookup = MemberPrimeBuyersGuideSearch.restApiUrl + "/iqa?queryname=$/IFDAReports/Allied/Directory Search/iPartAlliedBuyersGuideSearch&Parameter=eq:" + cats; still getting validation error : "In IQA query, parameters must be Parameter Equal" works fine in postman request either with or without eq: Can anyone help giving any solution? Thanks

/api/Communication with no ID returns a 400 and error

iMIS 20.3.113.63375 - call made to /api/Communication (as per https://developer.imis.com/reference/getcommunication-1) with no ID parameter returns a 400 response and the text: {"$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":"Query does not contain any criteria"}]},"Warnings":{"$type":"Asi.Soa.Core.DataContracts.ValidationResultDataCollection, Asi.Contracts","$values":[]}} Would have expected it to return the communications as per "Returns a list or single record of Communication". Thanks.

Can you update "Date of Publication" of a RiSE document via the API?

I see there's the Document endpoint, however when querying that I see various metadata like "CreatedOn" and "UpdatedOn", however not something that might be like the Date of Publication field. Is this not possible? Thank you.

Create Voluntary Contribution Subscription with price

Is there a way to create a voluntary contribution in the Subscriptions table and pass the dollar amount?

How to recreate 'Register Myself'/'Register Someone Else' buttons on Events through the API

Hi, I've asked a similar question in another discussion post: How to recreate 'Cancel My Registration' button on Events through the API" however i'd like some insight on how to register rather than cancel. That old post explains how most of registration is done through the cart. I've created OrderLines with the right prices and delivery data and posted to the cart. However our manually created carts are missing fields such as 'OrderLineId' and 'DeliveryId' that seem to be required to make this work. Are these Ids generated manually as well or is there an API endpoint that generates these guids as well? Thanks

AdditionalCharges through REST API

I am trying to add the AdditionalCharges object to our payload that is sent to IMIS' REST API to add items to cart. The way it is currently formatted uses a TaxAuthority to try to calculate tax automatically but it is not displaying any extra values or calculations on the cart screen. The payload for AdditionalCharges is as follows: "AdditionalCharges": { "$values": [{ "AdditionalChargeId": "HSTAddCharge", "Description": "HST", "Tax": { "Details": { "$values": [{ "IsTaxInclusive": false, "TaxAuthority": { "Description": "HST", "Name": "HST", "TaxAuthorityCode": "HST", "TaxAuthorityId": "HST" } }] } } }] }, I have tried toggling the IsTaxInclusive property but it does not work for both true and false. Taxes can be calculated fine when adding items to the cart manually, but not through the API. Any help would be appreciated. Thanks