POST api/{context}/transaction/Create

Create a new Transaction in Aegis CRM

Request Information

ParameterDescriptionAdditional information
transaction

Define this parameter in the request body.

Requirements

NumberNotes
#1
The Partner, Appeal, Fund, Batch Category, and Product must already exist in Aegis CRM.
#2
If Total Transaction Amount is greater than 0, than Payment.Amount must be equal to it.
#3
The sum of gifts plus orders minus discounts must balance to the Total Transaction Amount.
#4
Valid Country values are based on the 'ISO 3166-1 alpha-2' specification.  More info: http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
#5
If Aegis CRM will be charging the credit card, set Payment.Status equal to 'Pending'.  Otherwise it must be set to 'Received'.
#6
The Shipping object is required for product orders.  Failure to include one will mean that the item(s) cannot be fulfilled in Aegis CRM.

Special Field Notes

Field NameNotes
Acknowledgements
Trigger these acknowledgements in addition to any Conditional Acknowledgements that get triggered.
BatchCategory
If left empty or null, no category will be assigned.
BatchType
If left empty or null, a default of 'Web' will be assigned.
Channel
If left empty or null, a default of 'Web' will be assigned.
DefaultPaymentType
Sets the default payment type for the batch header.
Gift.ApplyToPledge
If set to True and the PledgeID is empty or cannot be found, the contribution will be applied to the most recent pledge found.
Gift.EstimatedPercentage
The matching gift estimated percentage.  Any other value outside the range of 1 to 100 will default to 100.
Gift.MatchingContactID
The Matching Gift Partner's ContactID.
InvoiceNumber
Auto-generated by Aegis CRM.  Empty until the transaction has been created successfully.
Payment.Status
Set to 'Pending' to let the payment be processed by Aegis CRM.  Otherwise set to 'Paid', 'Received', or 'Approved' if it's already been processed.
ProductOrder.Discount
Any discount is applied at the line item level, not the order level.  Order-wide discounts should be divided accordingly.
RecordedBy
Leave empty by default.  Should only be overridden on a case-by-case basis so the currently authenticated user is accurately reflected.
ReferenceNumber
Useful for 3rd party invoice numbers or transaction IDs.
ResponsesOverridden
If set to False, any Conditional Acknowledgements can and will be triggered.  Set to True to suppress Conditional Acknowledgements.

Request body formats

application/json, text/json

Sample:
{
  "PartnerID": "sample string 1",
  "TransactionDate": "2024-04-18T08:45:51.6134665-06:00",
  "TotalTransactionAmount": 3.0,
  "AppealCode": "sample string 4",
  "MediaOutlet": "sample string 5",
  "MediaProgram": "sample string 6",
  "ValidatesAttributes": true,
  "SegmentCode": "sample string 8",
  "Channel": "sample string 9",
  "BatchType": "sample string 10",
  "BatchCategory": "sample string 11",
  "DefaultPaymentType": "sample string 12",
  "RecordedBy": "sample string 13",
  "TransactionNote": "sample string 14",
  "InvoiceNumber": "sample string 15",
  "ReferenceNumber": "sample string 16",
  "ShippingCost": 17.0,
  "TaxAmount": 18.0,
  "ResponsesOverridden": true,
  "Acknowledgements": [
    {
      "AppealID": "sample string 1",
      "AppealName": "sample string 2",
      "Responded": true,
      "ResponseDate": "2024-04-18T08:45:51.6134665-06:00",
      "ResponseType": "sample string 3"
    },
    {
      "AppealID": "sample string 1",
      "AppealName": "sample string 2",
      "Responded": true,
      "ResponseDate": "2024-04-18T08:45:51.6134665-06:00",
      "ResponseType": "sample string 3"
    },
    {
      "AppealID": "sample string 1",
      "AppealName": "sample string 2",
      "Responded": true,
      "ResponseDate": "2024-04-18T08:45:51.6134665-06:00",
      "ResponseType": "sample string 3"
    }
  ],
  "Notes": [
    {
      "PartnerID": "sample string 1",
      "EnteredBy": "sample string 2",
      "DateEntered": "2024-04-18T08:45:51.6134665-06:00",
      "Subject": "sample string 3",
      "Type": "sample string 4",
      "Private": true,
      "Note": "sample string 6"
    },
    {
      "PartnerID": "sample string 1",
      "EnteredBy": "sample string 2",
      "DateEntered": "2024-04-18T08:45:51.6134665-06:00",
      "Subject": "sample string 3",
      "Type": "sample string 4",
      "Private": true,
      "Note": "sample string 6"
    },
    {
      "PartnerID": "sample string 1",
      "EnteredBy": "sample string 2",
      "DateEntered": "2024-04-18T08:45:51.6134665-06:00",
      "Subject": "sample string 3",
      "Type": "sample string 4",
      "Private": true,
      "Note": "sample string 6"
    }
  ],
  "Payment": {
    "Status": "sample string 1",
    "Amount": 2.0,
    "PaymentType": "sample string 3",
    "Bank": "sample string 4",
    "Number": "sample string 5",
    "ExtraID": "sample string 6",
    "ExpDate": "2024-04-18T08:45:51.6134665-06:00",
    "FirstName": "sample string 7",
    "MiddleName": "sample string 8",
    "LastName": "sample string 9",
    "EmailAddress": "sample string 10",
    "Address1": "sample string 11",
    "Address2": "sample string 12",
    "City": "sample string 13",
    "StateProvince": "sample string 14",
    "PostalCode": "sample string 15",
    "Country": "sample string 16",
    "ContactPhone": "sample string 17",
    "UpdatePrimaryMailingAddress": true,
    "UpdatePrimaryEmailAddress": true
  },
  "Shipping": {
    "ShippingOverridden": true,
    "Shipto": "sample string 2",
    "ShiptoAddress1": "sample string 3",
    "ShiptoAddress2": "sample string 4",
    "ShiptoCity": "sample string 5",
    "ShiptoState": "sample string 6",
    "ShiptoPostalCode": "sample string 7",
    "ShiptoCountry": "sample string 8",
    "ShippingNote": "sample string 9",
    "ShippingMethod": "sample string 10"
  },
  "Gifts": [
    {
      "GiftAmount": 1.0,
      "FundCode": "sample string 2",
      "ApplyToPledge": true,
      "PledgeID": "sample string 4",
      "MatchingContactID": "sample string 5",
      "EstimatedPercentage": 1
    },
    {
      "GiftAmount": 1.0,
      "FundCode": "sample string 2",
      "ApplyToPledge": true,
      "PledgeID": "sample string 4",
      "MatchingContactID": "sample string 5",
      "EstimatedPercentage": 1
    },
    {
      "GiftAmount": 1.0,
      "FundCode": "sample string 2",
      "ApplyToPledge": true,
      "PledgeID": "sample string 4",
      "MatchingContactID": "sample string 5",
      "EstimatedPercentage": 1
    }
  ],
  "ProductOrders": [
    {
      "FundCode": "sample string 1",
      "ProductSKU": "sample string 2",
      "WarehouseID": "sample string 3",
      "Quantity": 4,
      "Price": 1.0,
      "Discount": 5.0,
      "Attributes": [
        {
          "Name": "sample string 1",
          "Value": "sample string 2"
        },
        {
          "Name": "sample string 1",
          "Value": "sample string 2"
        },
        {
          "Name": "sample string 1",
          "Value": "sample string 2"
        }
      ]
    },
    {
      "FundCode": "sample string 1",
      "ProductSKU": "sample string 2",
      "WarehouseID": "sample string 3",
      "Quantity": 4,
      "Price": 1.0,
      "Discount": 5.0,
      "Attributes": [
        {
          "Name": "sample string 1",
          "Value": "sample string 2"
        },
        {
          "Name": "sample string 1",
          "Value": "sample string 2"
        },
        {
          "Name": "sample string 1",
          "Value": "sample string 2"
        }
      ]
    },
    {
      "FundCode": "sample string 1",
      "ProductSKU": "sample string 2",
      "WarehouseID": "sample string 3",
      "Quantity": 4,
      "Price": 1.0,
      "Discount": 5.0,
      "Attributes": [
        {
          "Name": "sample string 1",
          "Value": "sample string 2"
        },
        {
          "Name": "sample string 1",
          "Value": "sample string 2"
        },
        {
          "Name": "sample string 1",
          "Value": "sample string 2"
        }
      ]
    }
  ],
  "Attributes": [
    {
      "AttributeName": "sample string 1",
      "AttributeValue": "sample string 2"
    },
    {
      "AttributeName": "sample string 1",
      "AttributeValue": "sample string 2"
    },
    {
      "AttributeName": "sample string 1",
      "AttributeValue": "sample string 2"
    }
  ]
}

application/xml, text/xml

Sample:
<TransactionModel xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BDS.Web.WebApi.Models">
  <Acknowledgements>
    <TransactionModel.AcknowledgementModel>
      <AppealID>sample string 1</AppealID>
      <AppealName>sample string 2</AppealName>
      <Responded>true</Responded>
      <ResponseDate>2024-04-18T08:45:51.6134665-06:00</ResponseDate>
      <ResponseType>sample string 3</ResponseType>
    </TransactionModel.AcknowledgementModel>
    <TransactionModel.AcknowledgementModel>
      <AppealID>sample string 1</AppealID>
      <AppealName>sample string 2</AppealName>
      <Responded>true</Responded>
      <ResponseDate>2024-04-18T08:45:51.6134665-06:00</ResponseDate>
      <ResponseType>sample string 3</ResponseType>
    </TransactionModel.AcknowledgementModel>
    <TransactionModel.AcknowledgementModel>
      <AppealID>sample string 1</AppealID>
      <AppealName>sample string 2</AppealName>
      <Responded>true</Responded>
      <ResponseDate>2024-04-18T08:45:51.6134665-06:00</ResponseDate>
      <ResponseType>sample string 3</ResponseType>
    </TransactionModel.AcknowledgementModel>
  </Acknowledgements>
  <AppealCode>sample string 4</AppealCode>
  <AuthorizedPaymentID>ca117b41-5930-433c-bb04-c7b6e0a62d2f</AuthorizedPaymentID>
  <BatchCategory>sample string 11</BatchCategory>
  <BatchType>sample string 10</BatchType>
  <Channel>sample string 9</Channel>
  <DefaultPaymentType>sample string 12</DefaultPaymentType>
  <InvoiceNumber>sample string 15</InvoiceNumber>
  <MediaOutlet>sample string 5</MediaOutlet>
  <MediaProgram>sample string 6</MediaProgram>
  <PartnerID>sample string 1</PartnerID>
  <Payment>
    <Address1>sample string 11</Address1>
    <Address2>sample string 12</Address2>
    <Amount>2</Amount>
    <Bank>sample string 4</Bank>
    <City>sample string 13</City>
    <ContactPhone>sample string 17</ContactPhone>
    <Country>sample string 16</Country>
    <EmailAddress>sample string 10</EmailAddress>
    <ExpDate>2024-04-18T08:45:51.6134665-06:00</ExpDate>
    <ExtraID>sample string 6</ExtraID>
    <FirstName>sample string 7</FirstName>
    <LastName>sample string 9</LastName>
    <MiddleName>sample string 8</MiddleName>
    <Number>sample string 5</Number>
    <PaymentType>sample string 3</PaymentType>
    <PostalCode>sample string 15</PostalCode>
    <StateProvince>sample string 14</StateProvince>
    <Status>sample string 1</Status>
    <UpdatePrimaryEmailAddress>true</UpdatePrimaryEmailAddress>
    <UpdatePrimaryMailingAddress>true</UpdatePrimaryMailingAddress>
  </Payment>
  <RecordedBy>sample string 13</RecordedBy>
  <ReferenceNumber>sample string 16</ReferenceNumber>
  <ResponsesOverridden>true</ResponsesOverridden>
  <SegmentCode>sample string 8</SegmentCode>
  <Shipping>
    <ShippingMethod>sample string 10</ShippingMethod>
    <ShippingNote>sample string 9</ShippingNote>
    <ShippingOverridden>true</ShippingOverridden>
    <Shipto>sample string 2</Shipto>
    <ShiptoAddress1>sample string 3</ShiptoAddress1>
    <ShiptoAddress2>sample string 4</ShiptoAddress2>
    <ShiptoCity>sample string 5</ShiptoCity>
    <ShiptoCountry>sample string 8</ShiptoCountry>
    <ShiptoPostalCode>sample string 7</ShiptoPostalCode>
    <ShiptoState>sample string 6</ShiptoState>
  </Shipping>
  <ShippingCost>17</ShippingCost>
  <TaxAmount>18</TaxAmount>
  <TotalTransactionAmount>3</TotalTransactionAmount>
  <TransactionDate xmlns:d2p1="http://schemas.datacontract.org/2004/07/System">
    <d2p1:DateTime>2024-04-18T14:45:51.6134665Z</d2p1:DateTime>
    <d2p1:OffsetMinutes>-360</d2p1:OffsetMinutes>
  </TransactionDate>
  <TransactionNote>sample string 14</TransactionNote>
  <ValidatesAttributes>true</ValidatesAttributes>
</TransactionModel>