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

Discussions

Ask a Question

Adding ASI references to project

Hi, We are trying to add some ASI dlls to our project. However, we keep running into a 'the type or namespace name 'Asi' could not be found (are you missing a using directive or an assembly reference?' error in visual studio. We've already verified that the dlls are coming from the correct location and are added to the project. The using directives are also already added to the project. We have already removed and added the references back many times via csproj file directly and in visual studio iteself, but still no differences. We also updated the permissions of the folders where the asi dlls are located for read write access. The .NET Framework 4.5 is what the solution is compiled on. Can you please assist? Thanks

UserData in Asi.Soa.Core.Contracts

We have a .NET project that uses the UserData object in Asi.Soa.Core.Contracts. It was written on 20.1.1.4 and worked until they upgraded from 20.2.49 to 20.2.65.9830 and it looks like that data contract was consolidated into another object. Does anyone know where the new equivalent is or if there is any documentation on the dll changes? Here are the lines of code having the problem: MembershipManager membershipManager = new MembershipManager(entityManager); UserData loggedInUser = membershipManager.FindUserByUserName(user.userName);

REST API Dues Payments - "There is already an active subscription for the following items: BASIC"

I am trying to create Dues renewal payment via the REST API. I am using a test account who is paid through 12/31/2019 (currently unpaid for 2020), but when attempting payment I receive the error "There is already an active subscription for the following items: BASIC" which I am assuming means IMIS believes they are current on their Dues? { "$type": "Asi.Soa.Commerce.DataContracts.ComboOrderData, Asi.Contracts", "Currency": { "$type": "Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts", "CurrencyCode": "USD", "DecimalPositions": 2, "ExtensionData": { "$type": "System.Runtime.Serialization.ExtensionDataObject, System.Runtime.Serialization" } }, "Order": { "$type": "Asi.Soa.Commerce.DataContracts.OrderData, Asi.Contracts", "BillToCustomerParty": { "$type": "Asi.Soa.Commerce.DataContracts.CustomerPartyData, Asi.Contracts", "PartyId": "197288" }, "Currency": { "$type": "Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts", "CurrencyCode": "USD", "DecimalPositions": 2, "ExtensionData": { "$type": "System.Runtime.Serialization.ExtensionDataObject, System.Runtime.Serialization" } }, "OrderDiscount": { "$type": "System.Nullable`1[[Asi.Soa.Core.DataContracts.MonetaryAmountData, Asi.Contracts]], mscorlib", "Currency": { "$type": "Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts", "CurrencyCode": "USD", "DecimalPositions": 2, "ExtensionData": { "$type": "System.Runtime.Serialization.ExtensionDataObject, System.Runtime.Serialization" } }, "IsAmountDefined": true }, "LineDiscountTotal": { "$type": "System.Nullable`1[[Asi.Soa.Core.DataContracts.MonetaryAmountData, Asi.Contracts]], mscorlib", "Currency": { "$type": "Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts", "CurrencyCode": "USD", "DecimalPositions": 2, "ExtensionData": { "$type": "System.Runtime.Serialization.ExtensionDataObject, System.Runtime.Serialization" } }, "IsAmountDefined": true }, "Lines": { "$type": "Asi.Soa.Commerce.DataContracts.OrderLineDataCollection, Asi.Contracts", "$values": [ { "$type": "Asi.Soa.Commerce.DataContracts.OrderLineData, Asi.Contracts", "OrderLineId": "344adb93-4076-4927-bf06-0e8f129ad51c", "ChildOrderLines": { "$type": "Asi.Soa.Commerce.DataContracts.OrderLineDataCollection, Asi.Contracts", "$values": [ { "$type": "Asi.Soa.Commerce.DataContracts.OrderLineData, Asi.Contracts", "OrderLineId": "425fc9e1-86f2-4319-82be-808ecfade63b", "ChildOrderLines": { "$type": "Asi.Soa.Commerce.DataContracts.OrderLineDataCollection, Asi.Contracts", "$values": [ { "$type": "Asi.Soa.Commerce.DataContracts.OrderLineData, Asi.Contracts", "OrderLineId": "85a3f6db-4a1f-4b30-a6b7-2b9244e845f2", "ExtendedAmount": { "$type": "System.Nullable`1[[Asi.Soa.Core.DataContracts.MonetaryAmountData, Asi.Contracts]], mscorlib", "Amount": 200, "Currency": { "$type": "Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts", "CurrencyCode": "USD", "DecimalPositions": 2, "ExtensionData": { "$type": "System.Runtime.Serialization.ExtensionDataObject, System.Runtime.Serialization" } }, "IsAmountDefined": true }, "Item": { "$type": "Asi.Soa.Commerce.DataContracts.ItemSummaryData, Asi.Contracts", "ItemClass": { "$type": "Asi.Soa.Commerce.DataContracts.ItemClassSummaryData, Asi.Contracts", "ItemClassId": "DUES" }, "ItemCode": "REGULAR_MEMBERSHIP_FEES/REG", "ItemId": "BASIC", "Name": "Regular Member Fees" }, "QuantityBackordered": { "$type": "System.Nullable`1[[Asi.Soa.Commerce.DataContracts.QuantityData, Asi.Contracts]], mscorlib" }, "QuantityOrdered": { "$type": "System.Nullable`1[[Asi.Soa.Commerce.DataContracts.QuantityData, Asi.Contracts]], mscorlib", "Amount": 1 }, "QuantityShipped": { "$type": "System.Nullable`1[[Asi.Soa.Commerce.DataContracts.QuantityData, Asi.Contracts]], mscorlib", "Amount": 1 }, "UnitPrice": { "$type": "System.Nullable`1[[Asi.Soa.Core.DataContracts.MonetaryAmountData, Asi.Contracts]], mscorlib", "Amount": 200, "Currency": { "$type": "Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts", "CurrencyCode": "USD", "DecimalPositions": 2, "ExtensionData": { "$type": "System.Runtime.Serialization.ExtensionDataObject, System.Runtime.Serialization" } }, "IsAmountDefined": true } } ] }, "ExtendedAmount": { "$type": "System.Nullable`1[[Asi.Soa.Core.DataContracts.MonetaryAmountData, Asi.Contracts]], mscorlib", "Amount": 200, "Currency": { "$type": "Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts", "CurrencyCode": "USD", "DecimalPositions": 2, "ExtensionData": { "$type": "System.Runtime.Serialization.ExtensionDataObject, System.Runtime.Serialization" } }, "IsAmountDefined": true }, "Item": { "$type": "Asi.Soa.Commerce.DataContracts.ItemSetItemData, Asi.Contracts", "Components": { "$type": "Asi.Soa.Commerce.DataContracts.ItemSetComponentDataCollection, Asi.Contracts", "$values": [ { "$type": "Asi.Soa.Commerce.DataContracts.ItemSetComponentData, Asi.Contracts", "IsSelected": true, "Item": { "$type": "Asi.Soa.Commerce.DataContracts.ItemSummaryData, Asi.Contracts", "Description": "", "ItemClass": { "$type": "Asi.Soa.Commerce.DataContracts.ItemClassSummaryData, Asi.Contracts", "ItemClassId": "DUES", "Name": "DUES" }, "ItemCode": "REGULAR_MEMBERSHIP_FEES/REG", "ItemId": "BASIC", "Name": "Regular Member Fees" }, "ItemSetComponentId": "REGULAR_MEMBERSHIP_FEES/REG", "MaximumQuantity": { "$type": "Asi.Soa.Commerce.DataContracts.QuantityData, Asi.Contracts", "Amount": 1 }, "Quantity": { "$type": "Asi.Soa.Commerce.DataContracts.QuantityData, Asi.Contracts", "Amount": 1 } } ] }, "ItemSetType": 1, "ItemClass": { "$type": "Asi.Soa.Commerce.DataContracts.ItemClassSummaryData, Asi.Contracts", "ItemClassId": "MEMBERSHIP", "Name": "Membership" }, "ItemCode": "REGULAR_MEMBERSHIP_FEES/DUES", "ItemId": "BASIC", "Name": "Membership Fees" }, "QuantityBackordered": { "$type": "System.Nullable`1[[Asi.Soa.Commerce.DataContracts.QuantityData, Asi.Contracts]], mscorlib" }, "QuantityOrdered": { "$type": "System.Nullable`1[[Asi.Soa.Commerce.DataContracts.QuantityData, Asi.Contracts]], mscorlib", "Amount": 1 }, "QuantityShipped": { "$type": "System.Nullable`1[[Asi.Soa.Commerce.DataContracts.QuantityData, Asi.Contracts]], mscorlib", "Amount": 1 }, "UnitPrice": { "$type": "System.Nullable`1[[Asi.Soa.Core.DataContracts.MonetaryAmountData, Asi.Contracts]], mscorlib", "Amount": 200, "Currency": { "$type": "Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts", "CurrencyCode": "USD", "DecimalPositions": 2, "ExtensionData": { "$type": "System.Runtime.Serialization.ExtensionDataObject, System.Runtime.Serialization" } }, "IsAmountDefined": true } } ] }, "ExtendedAmount": { "$type": "System.Nullable`1[[Asi.Soa.Core.DataContracts.MonetaryAmountData, Asi.Contracts]], mscorlib", "Amount": 220, "Currency": { "$type": "Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts", "CurrencyCode": "USD", "DecimalPositions": 2, "ExtensionData": { "$type": "System.Runtime.Serialization.ExtensionDataObject, System.Runtime.Serialization" } }, "IsAmountDefined": true }, "Item": { "$type": "Asi.Soa.Commerce.DataContracts.ItemSetItemData, Asi.Contracts", "Components": { "$type": "Asi.Soa.Commerce.DataContracts.ItemSetComponentDataCollection, Asi.Contracts", "$values": [ { "$type": "Asi.Soa.Commerce.DataContracts.ItemSetComponentData, Asi.Contracts", "Item": { "$type": "Asi.Soa.Commerce.DataContracts.ItemSetItemData, Asi.Contracts", "Components": { "$type": "Asi.Soa.Commerce.DataContracts.ItemSetComponentDataCollection, Asi.Contracts", "$values": [ { "$type": "Asi.Soa.Commerce.DataContracts.ItemSetComponentData, Asi.Contracts", "IsSelected": true, "Item": { "$type": "Asi.Soa.Commerce.DataContracts.ItemSummaryData, Asi.Contracts", "Description": "", "ItemClass": { "$type": "Asi.Soa.Commerce.DataContracts.ItemClassSummaryData, Asi.Contracts", "ItemClassId": "DUES", "Name": "DUES" }, "ItemCode": "REGULAR_MEMBERSHIP_FEES/REG", "ItemId": "BASIC", "Name": "Regular Member Fees" }, "ItemSetComponentId": "REGULAR_MEMBERSHIP_FEES/REG", "MaximumQuantity": { "$type": "Asi.Soa.Commerce.DataContracts.QuantityData, Asi.Contracts", "Amount": 1 }, "Quantity": { "$type": "Asi.Soa.Commerce.DataContracts.QuantityData, Asi.Contracts", "Amount": 1 } } ] }, "ItemSetType": 1, "Description": "", "ItemClass": { "$type": "Asi.Soa.Commerce.DataContracts.ItemClassSummaryData, Asi.Contracts", "ItemClassId": "MEMBERSHIP", "Name": "Membership" }, "ItemCode": "REGULAR_MEMBERSHIP_FEES/DUES", "ItemId": "BASIC", "Name": "Membership Fees" }, "ItemSetComponentId": "REGULAR_MEMBERSHIP_FEES/DUES", "Quantity": { "$type": "Asi.Soa.Commerce.DataContracts.QuantityData, Asi.Contracts", "Amount": 1 } } ] }, "ItemSetType": 1, "ItemClass": { "$type": "Asi.Soa.Commerce.DataContracts.ItemClassSummaryData, Asi.Contracts", "ItemClassId": "MEMBERSHIP", "Name": "Membership" }, "ItemCode": "REGULAR_MEMBERSHIP_FEES", "ItemId": "BASIC", "Name": "Regular Membership Fees" }, "LineNumber": 1, "QuantityBackordered": { "$type": "System.Nullable`1[[Asi.Soa.Commerce.DataContracts.QuantityData, Asi.Contracts]], mscorlib" }, "QuantityOrdered": { "$type": "System.Nullable`1[[Asi.Soa.Commerce.DataContracts.QuantityData, Asi.Contracts]], mscorlib", "Amount": 1 }, "QuantityShipped": { "$type": "System.Nullable`1[[Asi.Soa.Commerce.DataContracts.QuantityData, Asi.Contracts]], mscorlib", "Amount": 1 }, "UnitPrice": { "$type": "System.Nullable`1[[Asi.Soa.Core.DataContracts.MonetaryAmountData, Asi.Contracts]], mscorlib", "Amount": 220, "Currency": { "$type": "Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts", "CurrencyCode": "USD", "DecimalPositions": 2, "ExtensionData": { "$type": "System.Runtime.Serialization.ExtensionDataObject, System.Runtime.Serialization" } }, "IsAmountDefined": true }, "BaseUnitPrice": { "$type": "System.Nullable`1[[Asi.Soa.Core.DataContracts.MonetaryAmountData, Asi.Contracts]], mscorlib", "Amount": 220, "Currency": { "$type": "Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts", "CurrencyCode": "USD", "DecimalPositions": 2, "ExtensionData": { "$type": "System.Runtime.Serialization.ExtensionDataObject, System.Runtime.Serialization" } }, "IsAmountDefined": true }, "Discount": { "$type": "System.Nullable`1[[Asi.Soa.Core.DataContracts.MonetaryAmountData, Asi.Contracts]], mscorlib", "Currency": { "$type": "Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts", "CurrencyCode": "USD", "DecimalPositions": 2, "ExtensionData": { "$type": "System.Runtime.Serialization.ExtensionDataObject, System.Runtime.Serialization" } }, "IsAmountDefined": true }, "SourceCode": "" } ] }, "LineTotal": { "$type": "System.Nullable`1[[Asi.Soa.Core.DataContracts.MonetaryAmountData, Asi.Contracts]], mscorlib", "Amount": 220, "Currency": { "$type": "Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts", "CurrencyCode": "USD", "DecimalPositions": 2, "ExtensionData": { "$type": "System.Runtime.Serialization.ExtensionDataObject, System.Runtime.Serialization" } }, "IsAmountDefined": true }, "MiscellaneousChargesTotal": { "$type": "System.Nullable`1[[Asi.Soa.Core.DataContracts.MonetaryAmountData, Asi.Contracts]], mscorlib", "Currency": { "$type": "Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts", "CurrencyCode": "USD", "DecimalPositions": 2, "ExtensionData": { "$type": "System.Runtime.Serialization.ExtensionDataObject, System.Runtime.Serialization" } }, "IsAmountDefined": true }, "OrderDate": "2019-08-22T12:05:00.2579538Z", "OrderTotal": { "$type": "System.Nullable`1[[Asi.Soa.Core.DataContracts.MonetaryAmountData, Asi.Contracts]], mscorlib", "Amount": 220, "Currency": { "$type": "Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts", "CurrencyCode": "USD", "DecimalPositions": 2, "ExtensionData": { "$type": "System.Runtime.Serialization.ExtensionDataObject, System.Runtime.Serialization" } }, "IsAmountDefined": true }, "OriginatorCustomerParty": { "$type": "Asi.Soa.Commerce.DataContracts.CustomerPartyData, Asi.Contracts", "PartyId": "197288" }, "ShippingTotal": { "$type": "System.Nullable`1[[Asi.Soa.Core.DataContracts.MonetaryAmountData, Asi.Contracts]], mscorlib", "Currency": { "$type": "Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts", "CurrencyCode": "USD", "DecimalPositions": 2, "ExtensionData": { "$type": "System.Runtime.Serialization.ExtensionDataObject, System.Runtime.Serialization" } }, "IsAmountDefined": true }, "SoldToCustomerParty": { "$type": "Asi.Soa.Commerce.DataContracts.CustomerPartyData, Asi.Contracts", "PartyId": "197288" }, "TotalBasePrice": { "$type": "System.Nullable`1[[Asi.Soa.Core.DataContracts.MonetaryAmountData, Asi.Contracts]], mscorlib", "Amount": 220, "Currency": { "$type": "Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts", "CurrencyCode": "USD", "DecimalPositions": 2, "ExtensionData": { "$type": "System.Runtime.Serialization.ExtensionDataObject, System.Runtime.Serialization" } }, "IsAmountDefined": true } }, "Invoices": { "$type": "Asi.Soa.Commerce.DataContracts.InvoiceSummaryDataCollection, Asi.Contracts", "$values": [] }, "Payments": { "$type": "Asi.Soa.Commerce.DataContracts.RemittanceDataCollection, Asi.Contracts", "$values": [ { "$type": "Asi.Soa.Commerce.DataContracts.RemittanceData, Asi.Contracts", "Amount": { "$type": "Asi.Soa.Core.DataContracts.MonetaryAmountData, Asi.Contracts", "Amount": 200, "Currency": { "$type": "Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts", "CurrencyCode": "USD", "DecimalPositions": 2, "ExtensionData": { "$type": "System.Runtime.Serialization.ExtensionDataObject, System.Runtime.Serialization" } }, "IsAmountDefined": true }, "CreditCardInformation": { "$type": "Asi.Soa.Commerce.DataContracts.CreditCardInformationData, Asi.Contracts", "CardNumber": "4111111111111111", "Expiration": { "$type": "System.Nullable`1[[Asi.Soa.Core.DataContracts.YearMonthDateData, Asi.Contracts]], mscorlib", "Month": 1, "Year": 2022 }, "HoldersName": "Test Name", "SecurityCode": "" }, "PaymentMethod": { "$type": "Asi.Soa.Commerce.DataContracts.PaymentMethodData, Asi.Contracts", "Name": "VISA", "DisplayName": "VISA", "PaymentMethodId": "AANVMC", "PaymentType": "CreditCard", "GLAccountId": "1-1020", "Message": "VISA", "GatewayAccountId": "AANPRIMARY" }, "PayorParty": { "$type": "Asi.Soa.Commerce.DataContracts.CustomerPartyData, Asi.Contracts", "PartyId": "197288" }, "ReferenceNumber": "", "Message": "" } ] } }

Clear/DELETE sample/demo data in panels via REST

Is it possible to clear out values of a panel data source limited to a specific field (not necessarily ID)? As we deploy an integration/REST API-driven application, we run a scripted set of tests to verify that it's working as intended. We're looking for a way to clear out that test data, which is written and stored in custom panel data sources. We have a POSTMAN environment set up and can pull the details of what we'd like to clear with a GET: https://{{URL}}/api/[PANELDATASOURCE]?ListName=xxxxxxxx , but when we try the same call with a DELETE, we're getting the message: "The requested resource does not support http method 'DELETE'." _(which would indicate that it's not currently supported)_ There does appear to be an option to delete tied to a UserId (https://developer.imis.com/reference/panel#deletepanelsourcedatabyid) and that could be an option, however, I'm hoping to be able to fine-tune this a little more by restricting on another field (in addition to just the ID). Thanks in addition: UserId, that would be the iMIS ID, would it not? When I am running the GET by ID: https://{{URL}}/api/[PANELDATASOURCE]/[IMISID] I am getting this message: _"The identity did not match expected number of elements."_ However, if I pass the ID as a parameter: https://{{URL}}/api/[PANELDATASOURCE]?ID=[IMISID] I get the list of records for the user - however, I still would like to DELETE and supply an additional field Finally, if I try the DELETE as documented, I get that same message _"The identity did not match expected number of elements."_
ANSWERED

Webhooks?

Hiya, I was just wondering if there's any plans for real-time or near real-time passing of information via webhooks or something of the like? Polling and fetching data is a little oldschool now and becomes stale very quickly. Thanks.

100 / 200 Support

A 100/200 customer asked about some automations like flow down of paid_thru from organization to individuals under the organization. It appears automations with stored procedures are not possible for 100/200. Is there REST API support for 100/200 and can updates be made to the database. I would believe if updates via stored procedures are not allowed probably would not allow updates via REST and any other means. Any other options to do bulk type updates for 100/200 customers? Thanks Nick

Duo second factor authentication - Implementation

Hello, We are trying to implement second factor authentication solution from Duo into IMIS. I would like to know if anyone has implemented this solution yet? If yes, it would be great to get in touch as we have had no luck so far. Thank you

Get a list of all user defined tables

Hiya, working with iMIS Cloud and iMIS 2017. Is there a way to get a list of all user-defined tables? I can query documentmain?DocumentTypeCode=BUS but this will include all business objects. I would just like to get the ones which are created either via iMIS Desktop and/or the Panel Designer. Thanks a lot for your help! Best, Alex

Current Logged in User?

Hello, I'm working on a third-party app to provide some extra functionality for our clients whilst being tightly integrated with IMIS. Is there anyway of calling an API endpoint that will return the 'Current Logged in' users details, identified by the Bearer Token itself? I know about the User endpoint and you can query it based on a query string of userName or userId, however I'm trying to use an Authentication Module which attempts to return the user details from a GET request simply by using the Bearer Token returned from the Token call. I also can't use the 'Pass Through' method as the Authentication Module works server-side and so I cannot access the __ClientContext data. Any advice would be appreciated. Thankyou

CORS Error SSO Client App

#### What's been done ##### Setup - Setup Virtual Machine and installed iMIS. - Added iMIS to IIS. - Added Client App to iMIS. - Added Single Sign On iPart to new link in Menu on iMIS. - Configured ClientId and Client secret on Client Applications in iMIS. #### Coding - Created a new project in Visual Studio (ReactJS Front End) - Configured Controller Classes to listen to `POST` request (Step 2 in SSO Docs section titled 'How Does Single Sign On Work?') - Created 'fetch' that sends `POST` request to iMIS token endpoint `https://imisteststationfakename.comp.co.za/Asi.Scheduler_iMIS0/token` (Step 3 in SSO Docs section titled 'How Does Single Sign On Work?'). --- #### Problem/ Progress Block - Stored response `access_token` of Token request in react state `accToken`. - As per step 5 in SSO Docs section titled 'How Does Single Sign On Work?', using the `access_token` in subsequent calls where the `access_token` value is a bearer token in the Authorization header causes a CORS error. - Using `XMLHttpRequest` instead of `fetch` with Authorization header and `access_token` value causes (CORS error). --- #### What I have tried - Using `XMLHttpRequest` instead of `fetch` with Authorization header and `access_token` value causes (CORS error). - Checked IIS settings for allowing http verbs/ http responses in iMIS Asi.Scheduler IIS website. - Tried using `https` with self-signed certificate for ClientApp in IIS. - Browsed Discussions in the iMIS community for answers from people who have faced similar errors. - Took a deep breathe and walked through the documentation for SSO to make sure all steps are understood/implemented correctly. --- --- TL;DR I have followed all the steps for configuring a Single Sign On Client App, but I cannot use the `access_token` received by `POST`'ing to the token endpoint in subsequent calls to the iMIS API, I am stuck with a CORS error. Please help.