Discussions

Ask a Question
ANSWERED

Enter Gift API

I'm looking to replicate the functionality of the Fundraising -> Enter Gifts page located on the staff site using the API. The page <https://developer.imis.com/docs/giftinformationbatch-post-samples> that shows how to create the GiftInformationBatch and BatchId. Once the call to the GiftInformationBatch is made I don't see any batch or gift entry on the member record. Is there another API call that needs to be made prior to or after the GiftInformationBatch? Below is my sample call ```json { "$type":"Asi.Soa.Fundraising.DataContracts.GiftInformationBatchData, Asi.Contracts", "BatchId":"0f9fac07-218b-409c-b641-a34d88d20e84", "Gifts":{ "$type":"Asi.Soa.Fundraising.DataContracts.GiftInformationDataCollection, Asi.Contracts", "$values":[ { "$type":"Asi.Soa.Fundraising.DataContracts.GiftInformationData, Asi.Contracts", "InstallmentInformation":{ "$type":"Asi.Soa.Commerce.DataContracts.GiftInstallmentSummaryData, Asi.Contracts", "PaymentTerms":{ "$type":"Asi.Soa.Commerce.DataContracts.OrderLinePaymentTermsData, Asi.Contracts", "FirstPaymentDueDate":"2019-04-29T21:47:22.140Z" }, "PaymentSchedule":{ "$type":"Asi.Soa.Commerce.DataContracts.ScheduledPaymentDataCollection, Asi.Contracts", "$values":[ ] } }, "DonationType":"Gift", "GiftItem":{ "$type":"Asi.Soa.Fundraising.DataContracts.GiftItemData, Asi.Contracts", "Image":{ "$type":"Asi.Soa.Core.DataContracts.VirtualFileData, Asi.Contracts", "VirtualPath":"~/images/samples/donor/childwithheart.jpg", "ThumbnailVirtualPath":"~/images/samples/donor/childwithheart_50X50.jpg" }, "ImageUrl":"~/images/samples/donor/childwithheart.jpg", "ThumbnailUrl":"~/images/samples/donor/childwithheart.jpg", "HasPhysicalInventory":false, "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 }, "ItemFinancialInformation":{ "$type":"Asi.Soa.Commerce.DataContracts.ItemFinancialInformationData, Asi.Contracts", "FinancialEntity":{ "$type":"Asi.Soa.Commerce.DataContracts.FinancialEntityData, Asi.Contracts", "EntityCode":"EMERG" }, "TaxCategory":{ "$type":"Asi.Soa.Commerce.DataContracts.TaxCategorySummaryData, Asi.Contracts", "Name":"Non-Taxable", "TaxCategoryId":"Non-Taxable", "Description":"Non-Taxable" }, "ItemFinancialAccounts":{ "$type":"Asi.Soa.Commerce.DataContracts.ItemFinancialAccountsData, Asi.Contracts", "AccountsReceivable":{ "$type":"Asi.Soa.Commerce.DataContracts.FinancialAccountData, Asi.Contracts" }, "Income":{ "$type":"Asi.Soa.Commerce.DataContracts.FinancialAccountData, Asi.Contracts", "GLAccount":{ "$type":"Asi.Soa.Commerce.DataContracts.GLAccountData, Asi.Contracts", "GLAccountId":"DEMO-1-4000", "FinancialEntity":{ "$type":"Asi.Soa.Commerce.DataContracts.FinancialEntitySummaryData, Asi.Contracts", "FinancialEntityId":"DEMO", "Name":"iMIS International", "IsDefault":true }, "GLAccountCode":"1-4000", "Name":"General Income" } }, "Inventory":{ "$type":"Asi.Soa.Commerce.DataContracts.FinancialAccountData, Asi.Contracts", "GLAccount":{ "$type":"Asi.Soa.Commerce.DataContracts.GLAccountData, Asi.Contracts", "GLAccountId":"", "GLAccountCode":"", "Name":"" } }, "CostOfGoodsSold":{ "$type":"Asi.Soa.Commerce.DataContracts.FinancialAccountData, Asi.Contracts", "GLAccount":{ "$type":"Asi.Soa.Commerce.DataContracts.GLAccountData, Asi.Contracts", "GLAccountId":"", "GLAccountCode":"", "Name":"" } }, "InventoryAdjustments":{ "$type":"Asi.Soa.Commerce.DataContracts.FinancialAccountData, Asi.Contracts", "GLAccount":{ "$type":"Asi.Soa.Commerce.DataContracts.GLAccountData, Asi.Contracts", "GLAccountId":"", "GLAccountCode":"", "Name":"" } }, "DamagedGoods":{ "$type":"Asi.Soa.Commerce.DataContracts.FinancialAccountData, Asi.Contracts" }, "DeferredIncome":{ "$type":"Asi.Soa.Commerce.DataContracts.FinancialAccountData, Asi.Contracts", "GLAccount":{ "$type":"Asi.Soa.Commerce.DataContracts.GLAccountData, Asi.Contracts", "GLAccountId":"", "GLAccountCode":"", "Name":"" } } }, "IsCharitable":true }, "FairMarketValue":{ "$type":"Asi.Soa.Core.DataContracts.MonetaryAmountData, Asi.Contracts", "Currency":{ "$type":"Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts", "CurrencyCode":"USD", "DecimalPositions":2, "ExtensionData":null }, "IsAmountDefined":true }, "AdditionalAttributes":{ "$type":"Asi.Soa.Core.DataContracts.GenericPropertyDataCollection, Asi.Contracts", "$values":[ { "$type":"Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name":"TAXABLE", "Value":{ "$type":"System.Boolean", "$value":false } }, { "$type":"Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name":"PST_TAXABLE", "Value":{ "$type":"System.Boolean", "$value":false } }, { "$type":"Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name":"TAX_AUTHORITY", "Value":"" }, { "$type":"Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name":"TAX_BY_LOCATION", "Value":{ "$type":"System.Boolean", "$value":false } }, { "$type":"Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name":"TAXCATEGORY_CODE", "Value":"" }, { "$type":"Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name":"WEBOPTION", "Value":{ "$type":"System.Int32", "$value":0 } }, { "$type":"Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name":"IsBillingBaseItem", "Value":{ "$type":"System.Boolean", "$value":false } }, { "$type":"Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name":"PayPriority", "Value":{ "$type":"System.Int32", "$value":0 } } ] }, "IsPremium":false, "PremiumInformation":{ "$type":"Asi.Soa.Commerce.DataContracts.PremiumInformationData, Asi.Contracts", "RequiredGiftAmount":{ "$type":"Asi.Soa.Core.DataContracts.MonetaryAmountData, Asi.Contracts", "Currency":{ "$type":"Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts", "CurrencyCode":"USD", "DecimalPositions":2, "ExtensionData":null }, "IsAmountDefined":true } }, "AllowOrderLineNote":false, "AllowPublicBackorders":false, "Description":"Earthquakes, tsunamis, and hurricanes happen without warning. Your gift can help us to respond quickly to the needs of people in a crisis.", "ItemClass":{ "$type":"Asi.Soa.Commerce.DataContracts.ItemClassSummaryData, Asi.Contracts", "ItemClassId":"GIFT", "Name":"Gift" }, "ItemCode":"EMERG", "ItemId":"EMERG", "Name":"Support the Emergency Relief Fund" }, "GiftAmount":{ "$type":"Asi.Soa.Core.DataContracts.MonetaryAmountData, Asi.Contracts", "Amount":"60" }, "ListAsSalutation":{ "$type":"Asi.Soa.Membership.DataContracts.PartySalutationData, Asi.Contracts", "IsOverridden":true, "SalutationId":"21804", "SalutationMethod":{ "$type":"Asi.Soa.Membership.DataContracts.PartySalutationMethodSummaryData, Asi.Contracts", "PartySalutationMethodId":"LIST_AS" }, "Text":"Melissa F. Hodges" }, "TributeInformation":{ "$type":"Asi.Soa.Fundraising.DataContracts.TributeInformationDataCollection, Asi.Contracts", "$values":[ { "$type":"Asi.Soa.Fundraising.DataContracts.TributeInformationData, Asi.Contracts" } ] }, "SourceCode":{ "$type":"Asi.Soa.Communications.DataContracts.SourceCodeSummaryData, Asi.Contracts", "SourceCodeId":"6d0e02b0-99f9-4a45-84ec-1665155b7d70", "SolicitationId":"73845408-906b-444b-a867-dd4c1aa18251", "Name":"", "Description":"Responses to home page story", "Code":"Web Signups" }, "SoftCreditInformation":{ "$type":"Asi.Soa.Commerce.DataContracts.SoftCreditAllocationData, Asi.Contracts", "Allocations":{ "$type":"Asi.Soa.Commerce.DataContracts.SoftCreditAllocationDetailsDataCollection, Asi.Contracts", "$values":[ { "$type":"Asi.Soa.Commerce.DataContracts.SoftCreditAllocationDetailData, Asi.Contracts", "Percent":100, "Amount":{ "$type":"Asi.Soa.Core.DataContracts.MonetaryAmountData, Asi.Contracts", "Amount":"60" }, "SoftCreditType":{ "$type":"Asi.Soa.Commerce.DataContracts.SoftCreditTypeData, Asi.Contracts", "Description":"" }, "SoftCreditRecipient":{ "$type":"Asi.Soa.Membership.DataContracts.PersonData, Asi.Contracts", "PersonName":{ "$type":"Asi.Soa.Membership.DataContracts.PersonNameData, Asi.Contracts", "FirstName":"Simone", "InformalName":"Simone", "LastName":"Hobbs", "FullName":"Simone Hobbs" }, "PrimaryOrganization":{ "$type":"Asi.Soa.Membership.DataContracts.PrimaryOrganizationInformationData, Asi.Contracts", "OrganizationPartyId":"23100", "Name":"iMIS Foundation", "Title":"Moves Manager" }, "PartyId":"18120", "Id":"18120", "UniformId":"deafcd2a-26ce-4a14-8922-90dd39c0521a", "Name":"Simone Hobbs", "Sort":"Hobbs, Simone" } }, { "$type":"Asi.Soa.Commerce.DataContracts.SoftCreditAllocationDetailData, Asi.Contracts", "Percent":100, "Amount":{ "$type":"Asi.Soa.Core.DataContracts.MonetaryAmountData, Asi.Contracts", "Amount":0 }, "SoftCreditType":{ "$type":"Asi.Soa.Commerce.DataContracts.SoftCreditTypeData, Asi.Contracts", "Description":"" } } ] } }, "GiftAidInformation":{ "$type":"Asi.Soa.Fundraising.DataContracts.GiftAidInformationData, Asi.Contracts", "IsGiftAidExcluded":true, "GiftAidDeclaration":{ "$type":"Asi.Soa.Membership.DataContracts.GiftAidDeclarationData, Asi.Contracts", "MethodOfDeclaration":0, "IsPast":true, "IsOngoing":true, "DeclarationReceived":"2019-04-29T00:00:00.000Z" } }, "Donor":{ "$type":"Asi.Soa.Membership.DataContracts.PersonData, Asi.Contracts", "BirthDate":"1960-04-30T00:00:00", "PersonName":{ "$type":"Asi.Soa.Membership.DataContracts.PersonNameData, Asi.Contracts", "FirstName":"Melissa", "InformalName":"Melissa", "LastName":"Hodges", "MiddleName":"F.", "NamePrefix":"Ms.", "FullName":"Ms. Melissa F. Hodges" }, "PrimaryOrganization":{ "$type":"Asi.Soa.Membership.DataContracts.PrimaryOrganizationInformationData, Asi.Contracts", "OrganizationPartyId":"19835", "Name":"Mariposa Foundation", "Title":"Philanthropist" }, "AdditionalAttributes":{ "$type":"Asi.Soa.Core.DataContracts.GenericPropertyDataCollection, Asi.Contracts", "$values":[ { "$type":"Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name":"CustomerTypeDescription", "Value":"Donor" }, { "$type":"Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name":"IsMemberRecord", "Value":{ "$type":"System.Boolean", "$value":false } }, { "$type":"Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name":"CustomerTypeCode", "Value":"D" }, { "$type":"Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name":"IsMember", "Value":{ "$type":"System.Boolean", "$value":false } }, { "$type":"Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name":"IsInactiveMember", "Value":{ "$type":"System.Boolean", "$value":false } }, { "$type":"Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name":"AllowAdvanceRenewal", "Value":{ "$type":"System.Boolean", "$value":false } }, { "$type":"Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name":"JoinDate", "Value":"0001-01-01T00:00:00" }, { "$type":"Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name":"MajorKey", "Value":"11196" }, { "$type":"Asi.Soa.Core.DataContracts.GenericPropertyData, Asi.Contracts", "Name":"ParentPartyId", "Value":"19835" } ] }, "Addresses":{ "$type":"Asi.Soa.Membership.DataContracts.FullAddressDataCollection, Asi.Contracts", "$values":[ { "$type":"Asi.Soa.Membership.DataContracts.FullAddressData, Asi.Contracts", "AdditionalLines":{ "$type":"Asi.Soa.Membership.DataContracts.AddressLineDataCollection, Asi.Contracts", "$values":[ ] }, "Address":{ "$type":"Asi.Soa.Membership.DataContracts.AddressData, Asi.Contracts", "AddressId":"12196", "AddressLines":{ "$type":"Asi.Soa.Membership.DataContracts.AddressLineDataCollection, Asi.Contracts", "$values":[ "710 South Second Street", "Suite 400" ] }, "CityName":"Minneapolis", "CountryCode":"US", "CountryName":"United States", "CountrySubEntityCode":"MN", "CountrySubEntityName":"Minnesota", "FullAddress":"710 South Second Street\rSuite 400\rMinneapolis, MN 55401\rUNITED STATES", "PostalCode":"55401", "VerificationStatus":0 }, "AddresseeText":"Ms. Melissa F. Hodges\r\n710 South Second Street\rSuite 400\rMinneapolis, MN 55401\rUNITED STATES", "AddressPurpose":"Address", "CommunicationPreferences":{ "$type":"Asi.Soa.Membership.DataContracts.CommunicationPreferenceDataCollection, Asi.Contracts", "$values":[ { "$type":"Asi.Soa.Membership.DataContracts.CommunicationPreferenceData, Asi.Contracts", "Reason":"default" }, { "$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" } ] }, "Email":"[email protected]", "FullAddressId":"12196", "Phone":"(612) 345-1212", "Salutation":{ "$type":"Asi.Soa.Membership.DataContracts.PartySalutationData, Asi.Contracts", "SalutationMethod":{ "$type":"Asi.Soa.Membership.DataContracts.PartySalutationMethodSummaryData, Asi.Contracts", "PartySalutationMethodId":"main" }, "Text":"Ms. Melissa F. Hodges" }, "DisplayName":"Melissa", "DisplayOrganizationTitle":"Philanthropist", "DisplayOrganizationName":"Mariposa Foundation" } ] }, "AlternateIds":{ "$type":"Asi.Soa.Core.DataContracts.AlternateIdDataCollection, Asi.Contracts", "$values":[ { "$type":"Asi.Soa.Core.DataContracts.AlternateIdData, Asi.Contracts", "Id":"11196", "IdType":"MajorKey" }, { "$type":"Asi.Soa.Core.DataContracts.AlternateIdData, Asi.Contracts", "Id":"21804", "IdType":"Id" } ] }, "Emails":{ "$type":"Asi.Soa.Membership.DataContracts.EmailDataCollection, Asi.Contracts", "$values":[ { "$type":"Asi.Soa.Membership.DataContracts.EmailData, Asi.Contracts", "Address":"[email protected]", "EmailType":"_Primary", "IsPrimary":true }, { "$type":"Asi.Soa.Membership.DataContracts.EmailData, Asi.Contracts", "Address":"[email protected]", "EmailType":"Address" } ] }, "FinancialInformation":{ "$type":"Asi.Soa.Membership.DataContracts.FinancialInformationData, Asi.Contracts" }, "Phones":{ "$type":"Asi.Soa.Membership.DataContracts.PhoneDataCollection, Asi.Contracts", "$values":[ { "$type":"Asi.Soa.Membership.DataContracts.PhoneData, Asi.Contracts", "Number":"(612) 345-1212", "PhoneType":"_Work Phone" }, { "$type":"Asi.Soa.Membership.DataContracts.PhoneData, Asi.Contracts", "Number":"(647) 778-0379", "PhoneType":"Mobile" }, { "$type":"Asi.Soa.Membership.DataContracts.PhoneData, Asi.Contracts", "Number":"(612) 345-1212", "PhoneType":"Address" } ] }, "Salutations":{ "$type":"Asi.Soa.Membership.DataContracts.PartySalutationDataCollection, Asi.Contracts", "$values":[ { "$type":"Asi.Soa.Membership.DataContracts.PartySalutationData, Asi.Contracts", "IsOverridden":false, "SalutationId":"21804", "SalutationMethod":{ "$type":"Asi.Soa.Membership.DataContracts.PartySalutationMethodSummaryData, Asi.Contracts", "PartySalutationMethodId":"FAMILY" }, "Text":"Ms. Melissa F. Hodges" }, { "$type":"Asi.Soa.Membership.DataContracts.PartySalutationData, Asi.Contracts", "IsOverridden":false, "SalutationId":"21804", "SalutationMethod":{ "$type":"Asi.Soa.Membership.DataContracts.PartySalutationMethodSummaryData, Asi.Contracts", "PartySalutationMethodId":"FORMAL" }, "Text":"Ms. Melissa F. Hodges" }, { "$type":"Asi.Soa.Membership.DataContracts.PartySalutationData, Asi.Contracts", "IsOverridden":false, "SalutationId":"21804", "SalutationMethod":{ "$type":"Asi.Soa.Membership.DataContracts.PartySalutationMethodSummaryData, Asi.Contracts", "PartySalutationMethodId":"HOUSEHOLD" }, "Text":"The Hodges Household" }, { "$type":"Asi.Soa.Membership.DataContracts.PartySalutationData, Asi.Contracts", "IsOverridden":false, "SalutationId":"21804", "SalutationMethod":{ "$type":"Asi.Soa.Membership.DataContracts.PartySalutationMethodSummaryData, Asi.Contracts", "PartySalutationMethodId":"INFORMAL" }, "Text":"Melissa" }, { "$type":"Asi.Soa.Membership.DataContracts.PartySalutationData, Asi.Contracts", "IsOverridden":true, "SalutationId":"21804", "SalutationMethod":{ "$type":"Asi.Soa.Membership.DataContracts.PartySalutationMethodSummaryData, Asi.Contracts", "PartySalutationMethodId":"LIST_AS" }, "Text":"Melissa F. Hodges" } ] }, "SocialNetworks":{ "$type":"Asi.Soa.Membership.DataContracts.PartySocialNetworkDataCollection, Asi.Contracts", "$values":[ { "$type":"Asi.Soa.Membership.DataContracts.PartySocialNetworkData, Asi.Contracts", "PartySocialNetworkId":"2e142807-fc5c-4bc3-850b-b1c07e82480e", "SocialNetwork":{ "$type":"Asi.Soa.Membership.DataContracts.SocialNetworkData, Asi.Contracts", "SocialNetworkId":"7373766e-102b-434f-86e3-b172a81c2aed", "SocialNetworkName":"Twitter", "BaseURL":"https://twitter.com" }, "SocialNetworkUserName":"@advsol", "SocialNetworkUserId":"", "SocialNetworkProfileLinkURL":"@advsol", "SocialNetworkToken":"" }, { "$type":"Asi.Soa.Membership.DataContracts.PartySocialNetworkData, Asi.Contracts", "PartySocialNetworkId":"95c9404d-0cca-4847-8735-f295ee80cfc1", "SocialNetwork":{ "$type":"Asi.Soa.Membership.DataContracts.SocialNetworkData, Asi.Contracts", "SocialNetworkId":"359b00d6-49df-4f13-9905-7cf5f949ba80", "SocialNetworkName":"LinkedIn", "BaseURL":"http://www.linkedin.com" }, "SocialNetworkUserName":"www.linkedin.com/company/advanced-solutions-international-inc.", "SocialNetworkUserId":"", "SocialNetworkProfileLinkURL":"www.linkedin.com/company/advanced-solutions-international-inc.", "SocialNetworkToken":"" }, { "$type":"Asi.Soa.Membership.DataContracts.PartySocialNetworkData, Asi.Contracts", "PartySocialNetworkId":"b6708b80-948e-40cc-862a-7e1d83566869", "SocialNetwork":{ "$type":"Asi.Soa.Membership.DataContracts.SocialNetworkData, Asi.Contracts", "SocialNetworkId":"83678141-860b-4093-a58e-c9cb6db459db", "SocialNetworkName":"Facebook", "BaseURL":"http://www.facebook.com" }, "SocialNetworkUserName":"www.facebook.com/advsol", "SocialNetworkUserId":"", "SocialNetworkProfileLinkURL":"www.facebook.com/advsol", "SocialNetworkToken":"" } ] }, "CommunicationTypePreferences":{ "$type":"Asi.Soa.Membership.DataContracts.PartyCommunicationTypePreferenceDataCollection, Asi.Contracts", "$values":[ { "$type":"Asi.Soa.Membership.DataContracts.PartyCommunicationTypePreferenceData, Asi.Contracts", "PartyCommunicationTypePreferenceId":"38662302-00f4-4626-8899-32831830e71c", "CommunicationTypeId":"cfc9145f-031c-41cf-a3f5-d97775d558a5" }, { "$type":"Asi.Soa.Membership.DataContracts.PartyCommunicationTypePreferenceData, Asi.Contracts", "PartyCommunicationTypePreferenceId":"961ce305-ba8d-4d64-8c16-51fc1fbd823c", "CommunicationTypeId":"b09a2338-5ddb-4996-b8cd-c94620be0888", "OptInFlag":true }, { "$type":"Asi.Soa.Membership.DataContracts.PartyCommunicationTypePreferenceData, Asi.Contracts", "PartyCommunicationTypePreferenceId":"c5af241a-44fe-4d9f-97f0-e4a1a3520a38", "CommunicationTypeId":"fd489dbd-d4dd-49fc-b877-0af5a7a830b7" }, { "$type":"Asi.Soa.Membership.DataContracts.PartyCommunicationTypePreferenceData, Asi.Contracts", "PartyCommunicationTypePreferenceId":"c6638309-bf42-4929-a01e-331b639858f3", "CommunicationTypeId":"6a3de0ae-1a6f-4cd0-a826-e455ea65b41c" } ] }, "SortIsOverridden":false, "UpdateInformation":{ "$type":"Asi.Soa.Core.DataContracts.EntityUpdateInformationData, Asi.Contracts", "CreatedBy":"GREGC", "CreatedOn":"2012-04-08T00:08:59.47", "UpdatedBy":"BRIANM", "UpdatedOn":"2014-12-03T15:15:11.01" }, "PartyId":"21804", "Id":"21804", "UniformId":"e7468f74-c557-4840-9855-7526cbe31c2b", "Status":{ "$type":"Asi.Soa.Membership.DataContracts.PartyStatusData, Asi.Contracts", "PartyStatusId":"A", "Name":"Active", "Description":"Active" }, "Name":"Ms. Melissa F. Hodges", "Sort":"Hodges, Melissa, F." }, "PaymentInformation":{ "$type":"Asi.Soa.Commerce.DataContracts.RemittanceData, Asi.Contracts", "PaymentMethod":{ "$type":"Asi.Soa.Commerce.DataContracts.PaymentMethodData, Asi.Contracts", "PaymentMethodId":"CASH" }, "ReferenceNumber":"111" }, "SolicitorPartyId":"18120" } ] } } ```

IQA new query endpoints

Hi there, In relation to this post: <https://developer.imis.com/discuss/5b2c0aab50515000033b3713>, and more specifically, the second to last post, a comment was made regarding new endpoints for IQA's that provide a cleaner JSON response: "For IQAs, iMIS EMS has a new query endpoint (/api/query) that will return the IQA results formatted more cleanly, for example:" Could we get an example of this endpoint in more detail. The current response from IQAs is a heavily nested JSON object that requires constant de/reserialisation. Thanks

HTTP Patch REST API

Hello, I'm using the REST API for iMIS EMS to try to update a panel source. Is there anyway to use PATCH to just update one property that I care about? Or do I have to fetch the entire entity, manipulate my one property, and then send it back as a PUT? Thanks, Joe

Where can I find Order_Meet.UF_1 thru UF_10

Can't seem to narrow down where these fields are via the API (or even if they're available any more). Thanks.

Deleting Party records with REST API

We are wondering what exactly is being removed when we call the endpoint to [remove a Party by id](https://developer.imis.com/reference/deletepartybyid-1). Is this information available for review? For example: - Does it remove (legacy) Activity records? - Does it remove panel sources data associated with the delete record? - What about Orders? Gifts? Event Registrations? etc. Is it also possible with REST API to delete more than one record at a time? The use case being: a load testing process was completed and now we would like to remove all data it created...
ANSWERED

Add Commerce item to cart - 403 on second Order/_execute UpdatePricing

Hello, Due to a bug in ProductDisplay list Addtocart functionality (ZD 267095) I am trying to implement my own. Here is my process: Create cart (assume no existing cart for this example): ``` const user = await AVICapiData(`/api/Person/${uid}`); var bid = user["PrimaryOrganization"]["OrganizationPartyId"]; if (bid == undefined) { bid = uid; } const cartpost = { "$type": "Asi.Soa.Commerce.DataContracts.CartData, Asi.Contracts", "UserId": uid, "ComboOrder": { "$type": "Asi.Soa.Commerce.DataContracts.ComboOrderData, Asi.Contracts", "Order": { "$type": "Asi.Soa.Commerce.DataContracts.OrderData, Asi.Contracts", "Lines": { "$type": "Asi.Soa.Commerce.DataContracts.OrderLineDataCollection, Asi.Contracts", "$values": [] }, "SoldToCustomerParty": { "$type": "Asi.Soa.Commerce.DataContracts.CustomerPartyData, Asi.Contracts", "PartyId": uid }, "BillToCustomerParty": { "$type": "Asi.Soa.Commerce.DataContracts.CustomerPartyData, Asi.Contracts", "PartyId": bid }, "OriginatorCustomerParty": { "$type": "Asi.Soa.Commerce.DataContracts.CustomerPartyData, Asi.Contracts", "PartyId": uid }, "Currency": { "$type": "Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts", "CurrencyCode": "AUD", "DecimalPositions": 2 }, "SourceCode": "" }, "Currency": { "$type": "Asi.Soa.Core.DataContracts.CurrencyData, Asi.Contracts", "CurrencyCode": "AUD", "DecimalPositions": 2 }, }, "UpdateInformation": { "$type": "Asi.Soa.Core.DataContracts.EntityUpdateInformationData, Asi.Contracts", "CreatedBy": uid, "CreatedOn": new Date().toISOString(), "UpdatedBy": uid, "UpdatedOn": new Date().toISOString() } }; return await AVICapiData("/api/cart", cartpost, "POST"); ``` That is a pretty basic empty cart, of note: I set the Bill to ID to the organisation. I get the item data from ItemSummary (also tried Item endpoint), pretty straight forward ``const itemresult = await AVICapiData(`/api/ItemSummary/${productID}`);`` I wrap that item data in a basic OrderLine structure: ``` order["Lines"]["$values"].push(createOrderLine(itemresult, orderlines+1)); function createOrderLine(itemData, lineno) { return { "$type": "Asi.Soa.Commerce.DataContracts.OrderLineData, Asi.Contracts", "OrderLineId": self.crypto.randomUUID(), "Item": itemData, "QuantityOrdered": { "$type": "System.Nullable`1[[Asi.Soa.Commerce.DataContracts.QuantityData, Asi.Contracts]], mscorlib", "Amount": 1 }, "LineNumber": lineno, "SourceCode": "", "CanCombine": true, "UsesPriceGroup" : true } } ``` now I have my order object wrapped and ready to be UpdatePricing ``` order = await AVICapiData("/api/Order/_execute", { "$type": "Asi.Soa.Commerce.DataContracts.OrderPriceUpdateRequest, Asi.Contracts", "EntityTypeName": "Order", "OperationName": "UpdatePricing", "Order": order }, "POST"); ``` Now, if I add this updated order object to the comboorder and PUT to /api/cart, the pricing will be incorrect... ![](https://files.readme.io/fbf33e8-image.png) That is with a single Order/\_execute. Pricing is incorrect, and if you try to checkout with this cart you will get ![](https://files.readme.io/385d414-image.png) So I UpdatePricing on the _returned_ order object, which should then give me correct pricing. However _if_ you use BillToCustomerParty = Organisation ID, I get 403 after the second UpdatePricing. ![](https://files.readme.io/57c9f7d-image.png) If I use BillToCustomerParty = user ID _and_ change "Users who can bill to their organisation = All users", I can double UpdatePricing, see the correct cart, and no problem. ![](https://files.readme.io/1482dfd-image.png) For some reason when Adding to cart from ItemDetail, it is able to add to cart without problem. If someone is able to point out any obvious flaw in what I am doing that would be massively useful. Or if it was possible to get a fiddler dump of someone on the latest update doing Add to Cart from ItemDetail with the following setup: - Settings -> Contacts -> General -> Users who can bill to their organisation: All users - organization selected by default - Add Pricing Group on the item -> Add new pricing group -> Group Type -> Member Type Hopefully that will give me some insight in to what is happening behind the scenes, and will show me what steps if any I am missing. Thank you for your time and assistance.

How to move program item to registration item?

EMS, event was originally set up with a program item that now needs to be a registration item. It already has registrations. In SQL it's a checkbox (pretty much), I can't seem to get a PUT Event to work (not documented). Is there a way to do it that doesn't involve deleting the function and adding it? Thanks.

Deadlocks on TaskQueue and TaskQueuePublishDetail

One of our clients with two iMIS servers talking to the same database started monitoring for deadlocks, and they are seeing a high volume of deadlocks on the TaskQueue and TaskQueuePublishDetail pages. We haven't dug very deep yet, but it appears both servers are trying to execute PA+ tasks, or possibly "publishing" (indexing) contacts, events, products. A classic race condition. We don't see any problem with processes running twice, we just don't want them to run simultaneously. Given that these servers are meant to operate as load balanced and/or failover, we want them both to stay active and current. It's also critical that their system clocks remain in sync. What strategies could we use to reduce the race condition? Even if we could get one of the servers to process 1/4 second later, it should make a huge difference.
ANSWERED

Creating a webservice and hosting

We're looking to create a webservice to be integrated into iMIS for a cloud hosted client. This webservice will enable the push and pull of data to and from the vendor's system. Would this be possible in a fully cloud hosted instance? I know this question is relatively scant on information so let me know if there is anything else I can provide? Thank you, William

PowerBi iMIS

Hi, Has anyone previously integrated iMIS with PowerBi. How was your experience. How long did the project take? Kind regards, Saif