regis

<back to all web services

CRMDonationsRequest

Requires Authentication
Required role:REGISUserRole
The following routes are available for this service:
POST/DynamicsCRM/Donations
POST/DynamicsCRM/Donations/{regent_id}
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CRMDonationResponse:
    regent_id: int = 0
    contact_addressee: Optional[str] = None
    donor_first_name: Optional[str] = None
    donor_last_name: Optional[str] = None
    donor_addressee: Optional[str] = None
    donor_city: Optional[str] = None
    donor_country: Optional[str] = None
    donor_owner_full_name: Optional[str] = None
    is_contact: bool = False
    is_account: bool = False
    soft_credit_regent_id: Optional[int] = None
    soft_credit_contact_addressee: Optional[str] = None
    soft_credit_contact_first_name: Optional[str] = None
    soft_credit_contact_last_name: Optional[str] = None
    soft_credit_contact_spouse_is_main_contact: bool = False
    soft_credit_contact_city: Optional[str] = None
    soft_credit_contact_country: Optional[str] = None
    soft_credit_contact_owner_full_name: Optional[str] = None
    soft_credit_second_regent_id: Optional[str] = None
    soft_credit_second_contact_addressee: Optional[str] = None
    soft_credit_second_contact_first_name: Optional[str] = None
    soft_credit_second_contact_last_name: Optional[str] = None
    soft_credit_second_contact_spouse_is_main_contact: bool = False
    soft_credit_second_contact_city: Optional[str] = None
    soft_credit_second_contact_country: Optional[str] = None
    soft_credit_second_contact_owner_full_name: Optional[str] = None
    spouse_is_main_contact: bool = False
    import_id: Optional[int] = None
    donation_id: Optional[str] = None
    guid: Optional[str] = None
    name: Optional[str] = None
    description: Optional[str] = None
    appeal_code: Optional[str] = None
    designation: Optional[str] = None
    designation_description: Optional[str] = None
    general_ledger_account_number: Optional[str] = None
    campaign: Optional[str] = None
    total_pledge_amount: Decimal = decimal.Decimal(0)
    total_paid_amount: Decimal = decimal.Decimal(0)
    receipt_amount: Decimal = decimal.Decimal(0)
    exchange_rate: Optional[Decimal] = None
    total_paid_canadian_amount: Optional[Decimal] = None
    is_recurring: bool = False
    is_parent_donation: bool = False
    currency: Optional[str] = None
    source: Optional[str] = None
    channel: Optional[str] = None
    receipting_organization: Optional[str] = None
    type: Optional[str] = None
    acknowledgment_sent: bool = False
    send_acknowledgment: bool = False
    acknowledgment_template_guid: Optional[str] = None
    parent_guid: Optional[str] = None
    anonymous: bool = False
    gift_date: Optional[datetime.datetime] = None
    recurring_gift_start_date: Optional[datetime.datetime] = None
    recurring_gift_end_date: Optional[datetime.datetime] = None
    cheque_number: Optional[str] = None
    version_number: int = 0
    added_date: Optional[datetime.datetime] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CRMDonationsResponse:
    response_status: Optional[ResponseStatus] = None
    donations: Optional[List[CRMDonationResponse]] = None
    from_date: Optional[datetime.datetime] = None
    to_date: Optional[datetime.datetime] = None
    start_version_number: Optional[int] = None
    end_version_number: Optional[int] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CRMDonationsRequest:
    regent_id: Optional[int] = None
    from_date: Optional[datetime.datetime] = None
    to_date: Optional[datetime.datetime] = None
    start_version_number: Optional[int] = None
    end_version_number: Optional[int] = None
    is_missing_acknowledgement: bool = False
    has_acknowledgement_letter: bool = False

Python CRMDonationsRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /DynamicsCRM/Donations HTTP/1.1 
Host: data.regent-college.edu 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<CRMDonationsRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/regis.DynamicsCRM.Requests">
  <end_version_number>0</end_version_number>
  <from_date>0001-01-01T00:00:00</from_date>
  <has_acknowledgement_letter>false</has_acknowledgement_letter>
  <is_missing_acknowledgement>false</is_missing_acknowledgement>
  <regent_id>0</regent_id>
  <start_version_number>0</start_version_number>
  <to_date>0001-01-01T00:00:00</to_date>
</CRMDonationsRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<CRMDonationsResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/regis.DynamicsCRM.Responses">
  <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
    <d2p1:ErrorCode>String</d2p1:ErrorCode>
    <d2p1:Message>String</d2p1:Message>
    <d2p1:StackTrace>String</d2p1:StackTrace>
    <d2p1:Errors>
      <d2p1:ResponseError>
        <d2p1:ErrorCode>String</d2p1:ErrorCode>
        <d2p1:FieldName>String</d2p1:FieldName>
        <d2p1:Message>String</d2p1:Message>
        <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </d2p1:Meta>
      </d2p1:ResponseError>
    </d2p1:Errors>
    <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </d2p1:Meta>
  </ResponseStatus>
  <donations>
    <CRMDonationResponse>
      <acknowledgment_sent>false</acknowledgment_sent>
      <acknowledgment_template_guid>String</acknowledgment_template_guid>
      <added_date>0001-01-01T00:00:00</added_date>
      <anonymous>false</anonymous>
      <appeal_code>String</appeal_code>
      <campaign>String</campaign>
      <channel>String</channel>
      <cheque_number>String</cheque_number>
      <contact_addressee>String</contact_addressee>
      <currency>String</currency>
      <description>String</description>
      <designation>String</designation>
      <designation_description>String</designation_description>
      <donation_id>String</donation_id>
      <donor_addressee>String</donor_addressee>
      <donor_city>String</donor_city>
      <donor_country>String</donor_country>
      <donor_first_name>String</donor_first_name>
      <donor_last_name>String</donor_last_name>
      <donor_owner_full_name>String</donor_owner_full_name>
      <exchange_rate>0</exchange_rate>
      <general_ledger_account_number>String</general_ledger_account_number>
      <gift_date>0001-01-01T00:00:00</gift_date>
      <guid>String</guid>
      <import_id>0</import_id>
      <is_account>false</is_account>
      <is_contact>false</is_contact>
      <is_parent_donation>false</is_parent_donation>
      <is_recurring>false</is_recurring>
      <name>String</name>
      <parent_guid>String</parent_guid>
      <receipt_amount>0</receipt_amount>
      <receipting_organization>String</receipting_organization>
      <recurring_gift_end_date>0001-01-01T00:00:00</recurring_gift_end_date>
      <recurring_gift_start_date>0001-01-01T00:00:00</recurring_gift_start_date>
      <regent_id>0</regent_id>
      <send_acknowledgment>false</send_acknowledgment>
      <soft_credit_contact_addressee>String</soft_credit_contact_addressee>
      <soft_credit_contact_city>String</soft_credit_contact_city>
      <soft_credit_contact_country>String</soft_credit_contact_country>
      <soft_credit_contact_first_name>String</soft_credit_contact_first_name>
      <soft_credit_contact_last_name>String</soft_credit_contact_last_name>
      <soft_credit_contact_owner_full_name>String</soft_credit_contact_owner_full_name>
      <soft_credit_contact_spouse_is_main_contact>false</soft_credit_contact_spouse_is_main_contact>
      <soft_credit_regent_id>0</soft_credit_regent_id>
      <soft_credit_second_contact_addressee>String</soft_credit_second_contact_addressee>
      <soft_credit_second_contact_city>String</soft_credit_second_contact_city>
      <soft_credit_second_contact_country>String</soft_credit_second_contact_country>
      <soft_credit_second_contact_first_name>String</soft_credit_second_contact_first_name>
      <soft_credit_second_contact_last_name>String</soft_credit_second_contact_last_name>
      <soft_credit_second_contact_owner_full_name>String</soft_credit_second_contact_owner_full_name>
      <soft_credit_second_contact_spouse_is_main_contact>false</soft_credit_second_contact_spouse_is_main_contact>
      <soft_credit_second_regent_id>String</soft_credit_second_regent_id>
      <source>String</source>
      <spouse_is_main_contact>false</spouse_is_main_contact>
      <total_paid_amount>0</total_paid_amount>
      <total_paid_canadian_amount>0</total_paid_canadian_amount>
      <total_pledge_amount>0</total_pledge_amount>
      <type>String</type>
      <version_number>0</version_number>
    </CRMDonationResponse>
  </donations>
  <end_version_number>0</end_version_number>
  <from_date>0001-01-01T00:00:00</from_date>
  <start_version_number>0</start_version_number>
  <to_date>0001-01-01T00:00:00</to_date>
</CRMDonationsResponse>