Required role: | REGISUserRole |
POST | /DynamicsCRM/Payments |
---|
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 CRMPaymentResponse:
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[int] = 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
payment_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)
amount: Decimal = decimal.Decimal(0)
canadian_amount: Decimal = decimal.Decimal(0)
payment_exchange_rate: Decimal = decimal.Decimal(0)
receipt_amount: Decimal = decimal.Decimal(0)
gift_exchange_rate: Optional[Decimal] = None
total_paid_canadian_amount: Optional[Decimal] = None
is_recurring: bool = False
is_complete: 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
push_to_gp: bool = False
finance_entry_date: Optional[datetime.datetime] = None
finance_id: 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
payment_date: Optional[datetime.datetime] = None
tax_receipt: Optional[str] = None
tax_receipt_date_sent: 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 CRMPaymentsResponse:
response_status: Optional[ResponseStatus] = None
payments: Optional[List[CRMPaymentResponse]] = 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 CRMPaymentsRequest:
from_date: Optional[datetime.datetime] = None
to_date: Optional[datetime.datetime] = None
regent_id: Optional[int] = None
start_version_number: Optional[int] = None
end_version_number: Optional[int] = None
recurring_only: bool = False
completed_only: bool = False
Python CRMPaymentsRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /DynamicsCRM/Payments HTTP/1.1
Host: data.regent-college.edu
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<CRMPaymentsRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/regis.DynamicsCRM.Requests">
<completed_only>false</completed_only>
<end_version_number>0</end_version_number>
<from_date>0001-01-01T00:00:00</from_date>
<recurring_only>false</recurring_only>
<regent_id>0</regent_id>
<start_version_number>0</start_version_number>
<to_date>0001-01-01T00:00:00</to_date>
</CRMPaymentsRequest>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <CRMPaymentsResponse 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> <end_version_number>0</end_version_number> <from_date>0001-01-01T00:00:00</from_date> <payments> <CRMPaymentResponse> <acknowledgment_sent>false</acknowledgment_sent> <acknowledgment_template_guid>String</acknowledgment_template_guid> <added_date>0001-01-01T00:00:00</added_date> <amount>0</amount> <anonymous>false</anonymous> <appeal_code>String</appeal_code> <campaign>String</campaign> <canadian_amount>0</canadian_amount> <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> <finance_entry_date>0001-01-01T00:00:00</finance_entry_date> <finance_id>String</finance_id> <general_ledger_account_number>String</general_ledger_account_number> <gift_date>0001-01-01T00:00:00</gift_date> <gift_exchange_rate>0</gift_exchange_rate> <guid>String</guid> <import_id>0</import_id> <is_account>false</is_account> <is_complete>false</is_complete> <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> <payment_date>0001-01-01T00:00:00</payment_date> <payment_exchange_rate>0</payment_exchange_rate> <payment_id>String</payment_id> <push_to_gp>false</push_to_gp> <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>0</soft_credit_second_regent_id> <source>String</source> <spouse_is_main_contact>false</spouse_is_main_contact> <tax_receipt>String</tax_receipt> <tax_receipt_date_sent>0001-01-01T00:00:00</tax_receipt_date_sent> <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> </CRMPaymentResponse> </payments> <start_version_number>0</start_version_number> <to_date>0001-01-01T00:00:00</to_date> </CRMPaymentsResponse>