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 .other suffix or ?format=other

HTTP + OTHER

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: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"regent_id":0,"from_date":"0001-01-01T00:00:00.0000000","to_date":"0001-01-01T00:00:00.0000000","start_version_number":0,"end_version_number":0,"is_missing_acknowledgement":false,"has_acknowledgement_letter":false}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}},"donations":[{"regent_id":0,"contact_addressee":"String","donor_first_name":"String","donor_last_name":"String","donor_addressee":"String","donor_city":"String","donor_country":"String","donor_owner_full_name":"String","is_contact":false,"is_account":false,"soft_credit_regent_id":0,"soft_credit_contact_addressee":"String","soft_credit_contact_first_name":"String","soft_credit_contact_last_name":"String","soft_credit_contact_spouse_is_main_contact":false,"soft_credit_contact_city":"String","soft_credit_contact_country":"String","soft_credit_contact_owner_full_name":"String","soft_credit_second_regent_id":"String","soft_credit_second_contact_addressee":"String","soft_credit_second_contact_first_name":"String","soft_credit_second_contact_last_name":"String","soft_credit_second_contact_spouse_is_main_contact":false,"soft_credit_second_contact_city":"String","soft_credit_second_contact_country":"String","soft_credit_second_contact_owner_full_name":"String","spouse_is_main_contact":false,"import_id":0,"donation_id":"String","guid":"String","name":"String","description":"String","appeal_code":"String","designation":"String","designation_description":"String","general_ledger_account_number":"String","campaign":"String","total_pledge_amount":0,"total_paid_amount":0,"receipt_amount":0,"exchange_rate":0,"total_paid_canadian_amount":0,"is_recurring":false,"is_parent_donation":false,"currency":"String","source":"String","channel":"String","receipting_organization":"String","type":"String","acknowledgment_sent":false,"send_acknowledgment":false,"acknowledgment_template_guid":"String","parent_guid":"String","anonymous":false,"gift_date":"0001-01-01T00:00:00.0000000","recurring_gift_start_date":"0001-01-01T00:00:00.0000000","recurring_gift_end_date":"0001-01-01T00:00:00.0000000","cheque_number":"String","version_number":0,"added_date":"0001-01-01T00:00:00.0000000"}],"from_date":"0001-01-01T00:00:00.0000000","to_date":"0001-01-01T00:00:00.0000000","start_version_number":0,"end_version_number":0}