REST API

The BBIS REST API provides access to several key components of data retrieval. This API is commonly used in conjunction with the Advanced Donation Form. The API defaults to returning JSON, but will also return XML based on the accept header. See the Developer Guide for more information.

CodeTable/{Id}GET

Description

Returns the active code table entries for the specified code table Id ordered as configured in the CRM.

If the provided code table Id is valid, then this will return the active code table entries for the specified code table. The entries will be ordered as configured in the CRM.

Parameters
Id (GUID) Required Id of a code table.
Response
404 Not Found No code table was found by the specified Id.
200 OK Array of Code Table Entry Returns an array of code table entries.
[
  {
    "Description": "Mr.",
    "Id": "aa784eae-4649-43ce-bf5a-0d2fccb01807"
  },
  {
    "Description": "Mrs.",
    "Id": "ca590da0-2884-4c90-86ef-a349d6ea6b09"
  }
]

Consent/{Id}GET

Description

Returns the object of the consent with consent options associated with a specified consent partId.

If the provided consent partId is valid, then this will return the object for the specified consent. The entries will be as configured in the CRM.

Parameters
Id (Integer) Required Id of the consent part.
Response
404 Not Found No consent part was found by the specified Id.
200 OK Object Returns a consent object.
{
    "ConsentPartId": 000,
    "Title": "Consent Title",
    "ConsentStatement": "Please let us know how we should contact you in the future.",
    "PrivacyPolicy": null,
    "SolicitCodes": [
        {
            "SolicitCodeID": "fc17b935-5aa9-458b-804f-885f4e9d1e68",
            "ConsentPreferenceCode": 0,
            "IsRequired": false,
            "Sequence": 1,
            "Caption": "Do not phone",
            "ConsentCode": 0
        },
        {
            "SolicitCodeID": "393295e5-e70c-4e82-b105-c19a90b11bf0",
            "ConsentPreferenceCode": 0,
            "IsRequired": false,
            "Sequence": 4,
            "Caption": "Consent Solicit Codes:",
            "ConsentCode": 3
        },
        {
            "SolicitCodeID": "216c4bd4-0cb6-4e1d-85da-6da56642f834",
            "ConsentPreferenceCode": 0,
            "IsRequired": false,
            "Sequence": 7,
            "Caption": "Autumn mailing only",
            "ConsentCode": 0
        }
    ],
    "PrivacyPolicyText": null,
    "hdnCRMConsentSolicitCode": "41c43d63-7ea5-42e7-bbf4-032b0d72c2f5",
    "hdnCRMSolicitCode": "0aa0aa03-53ab-4dc6-b294-8ba6c02d9ad3"
}

DonationEditor/{PartId}GET

Description

Get the information that is configured on ADF Part to open checkout popup.

Parameters
PartId (Integer) Required Id of a donation form part.
Response
200 OK Object Return an object containing editor information.
{
"MerchantAccountID":"00000000-0000-0000-0000-000000000000",
"UseMasterPass":true,
"UseVisaPass":true,
"UseApplePay":true,
"PrimaryFontColor":"#000000",
"SecondaryFontColor":"#000000",
"FontType":"roboto",
"MACheckoutSupported":true,
"DataKey":"00000000-0000-0000-0000-000000000000",
"RecaptchRequired":false
}
400 Bad Request Error[]

ADFCheckout/CreatePOST

Description

If the payment checkout pop up is configured on ADF and we click on donate button, after the checkout is loaded on the page, the donation transaction is added in the database and the state will be "pending".

Post Body
Donor (Object) Required Information about the donor of the gift. Donor and all attributes related to the donor (ex: Donor.Title) should be excluded if the donation form uses a Payment 2.0 part.
Donor.Title (String)
Donor.FirstName (String)
Donor.LastName (String) Required
Donor.EmailAddress (String) Required
Donor.Phone (String)
Donor.Address () Required Address information about the donor.
Donor.Address.StreetAddress (String) Required
Donor.Address.City (String) Required
Donor.Address.State (String) Required
Donor.Address.Country (String) Required In order for Blackbaud Secure Payments to pre-populate international billing addresses, this value should be the full country description specified in CRM.
Donor.Address.PostalCode (String) Required
Donor.OrganizationName (String) Required if Gift.IsCorporate is true. This field is not valid if the part is configured to use a Payment 2.0 page.
Gift () Required Information about the donation gift.
Gift.IsAnonymous (Boolean) Indicates that the gift is being made anonymously.
Gift.FinderNumber (Long)
Gift.SourceCode (String)
Gift.PaymentMethod (PaymentMethod ENUM) Required Indicates the method of payment to be used for the gift. Possible values:
  • CreditCard (0)
  • BillMeLater (1)
  • DirectDebit (2)
Gift.Comments (String)
Gift.CreateGiftAidDeclaration (Boolean) Indicates whether the gift aid is applied to the donation.
Gift.Designations (Array) Required Array of designation objects for the gift.
Gift.Designations.Amount (Decimal) Required The numeric amount of the designation. The currency is dictated by the merchant account specified.
Gift.Designations.DesignationId (GUID) Required Id of a designation to which the amount should be allocated.
Gift.Attributes (Array) Array of revenue attributes to be added to the gift.
Gift.Attributes.AttributeId (GUID) Required Id of revenue attribute. The only supported attribute data types are text, number, date, currency, yes/no, and code table. Only one per record attribute types are supported, except for code table attributes which support multiple entries per record. Any individual attribute id can only be supplied once for a donation.
Gift.Attributes.Value (String) Required Value of the attribute. For code table values, the name of the code table entry should be used. For Multiple code table entries, use a single attribute with the names semicolon delimited in the value field.
Gift.Recurrence.DayOfWeek (DayOfWeek ENUM) DayOfWeek value is required for weekly recurrences. Field is invalid for any frequency other than weekly. Possible values:
  • Sunday (0)
  • Monday (1)
  • Tuesday (2)
  • Wednesday (3)
  • Thursday (4)
  • Friday (5)
  • Saturday (6)
Gift.Recurrence.DayOfMonth (Integer) DayOfMonth value is required for non-weekly recurrences. Field is invalid for weekly frequency. Valid values: 1-31. Months with less than 31 days will default to the last day of the month is DayOfMonth is higher than number of days in the month.
Gift.Recurrence.Month (Integer) Month value is required for annual recurrences. Field is invalid for any frequency other than annually. Valid values: 1-12; Jan-Dec.
Gift.Recurrence.Frequency (RecurrenceFrequency ENUM) Required Designates the recurrence frequency. "Weekly" cannot be used with pledge installments. Possible values:
  • Weekly (1)
  • Monthly (2)
  • Quarterly (3)
  • Annually (4)
  • Every4Weeks (7)
Gift.Recurrence.StartDate (Date) Required Start date for recurrence. Must start on or after today's date.
Gift.Recurrence.EndDate (Date) Optional end date for recurrence. Must end after start date.
Gift.PledgeInstallment.InstallmentAmount (Date) An installment amount is required for a pledge or pledge installment payment.
Gift.PledgeInstallment.NumberOfInstallments (Date) The number of installments is required for a pledge installment payment.
Gift.Tribute.TributeID (GUID) Optional Tribute ID to map to. Must match Tribute ID from backoffice.
Gift.Tribute.TributeDefinition.FirstName (String) First name for new tribute definition.
Gift.Tribute.TributeDefinition.LastName (String) Required Last name for new tribute definition.
Gift.Tribute.TributeDefinition.Type (String) Required Tribute type to map to in backoffice. Must match existing tribute type.
Gift.Tribute.TributeDefinition.Description (String) Required Description for new tribute definition.
Gift.Tribute.Acknowledgee.FirstName (String) First name for tribute acknowledgee.
Gift.Tribute.Acknowledgee.LastName (String) Required Last name for tribute acknowledgee.
Gift.Tribute.Acknowledgee.Country (String) Required Country for tribute acknowledgee address.
Gift.Tribute.Acknowledgee.AddressLines (String) Required Address lines for tribute acknowledgee address.
Gift.Tribute.Acknowledgee.City (String) Required City for tribute acknowledgee address.
Gift.Tribute.Acknowledgee.State (String) Required State for tribute acknowledgee address.
Gift.Tribute.Acknowledgee.PostalCode (String) Required Postal code for tribute acknowledgee address.
Gift.Tribute.Acknowledgee.Phone (String) Phone number for tribute acknowledgee.
Gift.Tribute.Acknowledgee.Email (String) Email address for tribute acknowledgee.
Gift.IsCorporate (Boolean) Indicates that the gift is given on behalf of a company. When true, the Corporate merge fields are displayed as opposed to the Individual merge fields. Cannot process if Donation Form is using a Payment 2.0 Part.
Origin () Required Information about the origin of the transaction.
Origin.AppealId (GUID) Id of an appeal to associate with the donation.
Origin.PageId (Integer) Id of the BBIS page hosting the donation form.
Origin.PageName (String) Required Name of the web page hosting the donation form.
BBSPReturnUri (String) The Uri that Blackbaud secured payment should redirect to after completing the payment. Required for credit card transactions. Exclude if Donation Form is using a Payment 2.0 Part.
BBSPTemplateSitePageId (Integer) Id of the BBIS page that should be used as the page template in Blackbaud secured payment. This page must contain certain BBSP-integrated part types for the page template to be usable, such as the Advanced Donation Form. Exclude if Donation Form is using a Payment 2.0 Part.
MerchantAccountId (GUID) Required Id of the merchant account that should be used to process the donation. Exclude if Donation Form is using a Payment 2.0 Part.
{
"Id": "00000000-0000-0000-0000-000000000000"
}
Response
200 OK CreateDonationReply Returns a CreateDonationReply object containing information about the created donation and optionally a Uri for completing payment of the donation with Blackbaud secured payment. A location header is also returned containing a Uri of the new donation object. If the part is configured to use a Payment 2.0 page, the reply will contain a URI to the selected payment page instead of a secure payment URI.
400 Bad Request Error[] A validation error was found with the post data or an error occurred in the processing. Returns an array of Errror objects. Possible Errors:
  • RecordNotFound (106)
  • RequiredFieldMissing (101)
  • InvalidFieldSupplied (102)
  • ValueBelowMinimum (103)
  • ValueExceedsMaximum (104)
  • ValueNotAllowed (105)
  • ExceedsMaximumLength (107)
[
	{
		"ErrorCode":101,
		"Field":"Donor.LastName",
		"Message":null
	},
	{
		"ErrorCode":103,
		"Field":"Gift.Designations.Amount",
		"Message":"A designation's amount should be greater than 0."
	}
]

ADFCheckout/CompletePOST

Description

When the payment is completed by the checkout pop up then the previously added donation transaction will be marked as complete in the database, which were added at the time when pop up was loaded first time.

Post Body
Donor (Object) Required Information about the donor of the gift. Donor and all attributes related to the donor (ex: Donor.Title) should be excluded if the donation form uses a Payment 2.0 part.
Donor.Title (String)
Donor.FirstName (String)
Donor.LastName (String) Required
Donor.EmailAddress (String) Required
Donor.Phone (String)
Donor.Address () Required Address information about the donor.
Donor.Address.StreetAddress (String) Required
Donor.Address.City (String) Required
Donor.Address.State (String) Required
Donor.Address.Country (String) Required In order for Blackbaud Secure Payments to pre-populate international billing addresses, this value should be the full country description specified in CRM.
Donor.Address.PostalCode (String) Required
Donor.OrganizationName (String) Required if Gift.IsCorporate is true. This field is not valid if the part is configured to use a Payment 2.0 page.
Gift () Required Information about the donation gift.
Gift.IsAnonymous (Boolean) Indicates that the gift is being made anonymously.
Gift.FinderNumber (Long)
Gift.SourceCode (String)
Gift.PaymentMethod (PaymentMethod ENUM) Required Indicates the method of payment to be used for the gift. Possible values:
  • CreditCard (0)
  • BillMeLater (1)
  • DirectDebit (2)
Gift.Comments (String)
Gift.CreateGiftAidDeclaration (Boolean) Indicates whether the gift aid is applied to the donation.
Gift.Designations (Array) Required Array of designation objects for the gift.
Gift.Designations.Amount (Decimal) Required The numeric amount of the designation. The currency is dictated by the merchant account specified.
Gift.Designations.DesignationId (GUID) Required Id of a designation to which the amount should be allocated.
Gift.Attributes (Array) Array of revenue attributes to be added to the gift.
Gift.Attributes.AttributeId (GUID) Required Id of revenue attribute. The only supported attribute data types are text, number, date, currency, yes/no, and code table. Only one per record attribute types are supported, except for code table attributes which support multiple entries per record. Any individual attribute id can only be supplied once for a donation.
Gift.Attributes.Value (String) Required Value of the attribute. For code table values, the name of the code table entry should be used. For Multiple code table entries, use a single attribute with the names semicolon delimited in the value field.
Gift.Recurrence.DayOfWeek (DayOfWeek ENUM) DayOfWeek value is required for weekly recurrences. Field is invalid for any frequency other than weekly. Possible values:
  • Sunday (0)
  • Monday (1)
  • Tuesday (2)
  • Wednesday (3)
  • Thursday (4)
  • Friday (5)
  • Saturday (6)
Gift.Recurrence.DayOfMonth (Integer) DayOfMonth value is required for non-weekly recurrences. Field is invalid for weekly frequency. Valid values: 1-31. Months with less than 31 days will default to the last day of the month is DayOfMonth is higher than number of days in the month.
Gift.Recurrence.Month (Integer) Month value is required for annual recurrences. Field is invalid for any frequency other than annually. Valid values: 1-12; Jan-Dec.
Gift.Recurrence.Frequency (RecurrenceFrequency ENUM) Required Designates the recurrence frequency. "Weekly" cannot be used with pledge installments. Possible values:
  • Weekly (1)
  • Monthly (2)
  • Quarterly (3)
  • Annually (4)
  • Every4Weeks (7)
Gift.Recurrence.StartDate (Date) Required Start date for recurrence. Must start on or after today's date.
Gift.Recurrence.EndDate (Date) Optional end date for recurrence. Must end after start date.
Gift.PledgeInstallment.InstallmentAmount (Date) An installment amount is required for a pledge or pledge installment payment.
Gift.PledgeInstallment.NumberOfInstallments (Date) The number of installments is required for a pledge installment payment.
Gift.Tribute.TributeID (GUID) Optional Tribute ID to map to. Must match Tribute ID from backoffice.
Gift.Tribute.TributeDefinition.FirstName (String) First name for new tribute definition.
Gift.Tribute.TributeDefinition.LastName (String) Required Last name for new tribute definition.
Gift.Tribute.TributeDefinition.Type (String) Required Tribute type to map to in backoffice. Must match existing tribute type.
Gift.Tribute.TributeDefinition.Description (String) Required Description for new tribute definition.
Gift.Tribute.Acknowledgee.FirstName (String) First name for tribute acknowledgee.
Gift.Tribute.Acknowledgee.LastName (String) Required Last name for tribute acknowledgee.
Gift.Tribute.Acknowledgee.Country (String) Required Country for tribute acknowledgee address.
Gift.Tribute.Acknowledgee.AddressLines (String) Required Address lines for tribute acknowledgee address.
Gift.Tribute.Acknowledgee.City (String) Required City for tribute acknowledgee address.
Gift.Tribute.Acknowledgee.State (String) Required State for tribute acknowledgee address.
Gift.Tribute.Acknowledgee.PostalCode (String) Required Postal code for tribute acknowledgee address.
Gift.Tribute.Acknowledgee.Phone (String) Phone number for tribute acknowledgee.
Gift.Tribute.Acknowledgee.Email (String) Email address for tribute acknowledgee.
Gift.IsCorporate (Boolean) Indicates that the gift is given on behalf of a company. When true, the Corporate merge fields are displayed as opposed to the Individual merge fields. Cannot process if Donation Form is using a Payment 2.0 Part.
Origin () Required Information about the origin of the transaction.
Origin.AppealId (GUID) Id of an appeal to associate with the donation.
Origin.PageId (Integer) Id of the BBIS page hosting the donation form.
Origin.PageName (String) Required Name of the web page hosting the donation form.
BBSPReturnUri (String) The Uri that Blackbaud secured payment should redirect to after completing the payment. Required for credit card transactions. Exclude if Donation Form is using a Payment 2.0 Part.
BBSPTemplateSitePageId (Integer) Id of the BBIS page that should be used as the page template in Blackbaud secured payment. This page must contain certain BBSP-integrated part types for the page template to be usable, such as the Advanced Donation Form. Exclude if Donation Form is using a Payment 2.0 Part.
MerchantAccountId (GUID) Required Id of the merchant account that should be used to process the donation. Exclude if Donation Form is using a Payment 2.0 Part.
{
"Id": "3439a5c7-9977-4f9c-ba11-fadfb8144d35"
}
Response
200 OK CreateDonationReply Returns a CreateDonationReply object containing information about the created donation and optionally a Uri for completing payment of the donation with Blackbaud secured payment. A location header is also returned containing a Uri of the new donation object. If the part is configured to use a Payment 2.0 page, the reply will contain a URI to the selected payment page instead of a secure payment URI.
400 Bad Request Error[] A validation error was found with the post data or an error occurred in the processing. Returns an array of Errror objects. Possible Errors:
  • RecordNotFound (106)
  • RequiredFieldMissing (101)
  • InvalidFieldSupplied (102)
  • ValueBelowMinimum (103)
  • ValueExceedsMaximum (104)
  • ValueNotAllowed (105)
  • ExceedsMaximumLength (107)
[
	{
		"ErrorCode":101,
		"Field":"Donor.LastName",
		"Message":null
	},
	{
		"ErrorCode":103,
		"Field":"Gift.Designations.Amount",
		"Message":"A designation's amount should be greater than 0."
	}
]

ADFCheckout/DeletePOST

Description

When we close the checkout pop up the previously saved transaction deletes from CMSTransactionState table.

Post Body
Id () Required Transaction Id
{
"Id": "3439a5c7-9977-4f9c-ba11-fadfb8144d35"
}
Response
200 OK HttpResponseMessage Returns a HttpResponseMessage object containing information about the public key.
400 Bad Request Error[] A validation error was found with the post data or an error occurred in the processing. Returns an array of Errror objects. Possible Errors:
  • RecordNotFound (106)
  • RequiredFieldMissing (101)
  • InvalidFieldSupplied (102)
  • ValueBelowMinimum (103)
  • ValueExceedsMaximum (104)
  • ValueNotAllowed (105)
  • ExceedsMaximumLength (107)
[
	{
		"ErrorCode":101,
		"Field":"Donor.LastName",
		"Message":null
	}
]

CountryGET

Description

Returns a list of all active countries alphabetized by their description.

Will return information about all active countries alphabetized by their description.

Response
200 OK Array of Countries Returns an array country objects
[
  { 
    "Id": "2C3F57A7-65DE-4D55-89EF-7857E6EDD53C",
    "Abbreviation": "CA",
    "Description": "Canada",
	"ISO":"CA",
	"AddressFormat":"afCANADA"
  },
  {
    "Id": "B4837D3E-36F6-42F4-8049-CC2A2B108F9E",
    "Abbreviation": "US",
    "Description": "United States",
	"ISO":"US",
	"AddressFormat":"afUNITED_STATES"
  }
]

Country/{Id}GET

Description

Returns information about a specific country.

If the provided country Id is valid, then this will return information about the country.

Parameters
Id (GUID) Required Id of a country.
Response
404 Not Found No country was found by the specified Id.
200 OK Country Returns a country object
{
  "Id": "B4837D3E-36F6-42F4-8049-CC2A2B108F9E",
  "Abbreviation": "US",
  "Description": "United States",
  "ISO":"US",
  "AddressFormat":"afUNITED_STATES"
}

Country/{Id}/StateGET

Description

Returns a list of states associated with a country, alphabetized by their description.

If the provided country Id is valid, then this will return a list of state objects for each state associated with the country. The states will be returned alphabetized description.

Parameters
Id (GUID) Required Id of a country.
Response
404 Not Found No country was found by the specified Id.
200 OK Array of States Returns an array of state objects for the given country alphabetized by their description.
[
  {
    "Id": "ba9b5958-b1d0-43ed-ba37-5e7c0eddfc78",
    "Abbreviation": "RI",
    "Description": "Rhode Island",
	"ISO":"RI"
  },
  {
    "Id": "70BF9733-5D24-46F4-A40C-61F6D2765575", 
    "Abbreviation": "SC",
    "Description": "South Carolina",
	"ISO":"SC"
  }
]

Country/{Id}/AddressCaptionsGET

Description

Returns the captions for Address Lines, City, State, and Postcode.

If the provided country Id is valid, then this will return the captions for address lines, city, state, and postcode.

Parameters
Id (GUID) Required Id of a country.
Response
404 Not Found No country was found by the specified Id.
200 OK Address Captions Returns an AddressCaptions object containing the labels for Address Lines, City, State, and Postcode.
{
  "AddressLines": "Address",
  "City": "City",
  "PostCode": "Zip",
  "State": "State"
}

{PartId}/Donation/{Id}GET

Description

Gets the donation object of the specified Id if the user has appropriate access.

Ensures the user has access to this donation by finding the Id in their session. If so, loads the donation out of the database.

Parameters
PartId (Integer) Required Id of a donation form part.
Id (GUID) Required Id of a donation.
Response
403 Forbidden User does not have access to the specified donation.
404 Not Found No donation was found by the specified Id.
200 OK Donation Returns a Donation object containing information about the requested donation Id.
{
    "Donor": {
        "Address": {
            "City": "Columbia",
            "Country": "United States",
            "PostalCode": "29212",
            "State": "SC",
            "StreetAddress": "123 Main St."
        },
        "EmailAddress": "john.doe@blackbaud.com",
        "FirstName": "John",
        "LastName": "Doe",
        "Phone": "555-555-5555",
        "Title": "Mr."
    },
    "Gift": {
        "Designations": [
            {
                "Amount": 5,
                "DesignationId": "3439a5c7-9977-4f9c-ba11-fadfb8144d35"
            }
        ],
        "FinderNumber": 0,
        "SourceCode": "Sample Source Code",
        "IsAnonymous": false,
        "PaymentMethod": 1,
        "Comments": "Gift comments here.",
        "CreateGiftAidDeclaration": false,
        "Attributes": [
            {
                "AttributeId": "BD18B3FD-B382-4183-A415-8F84B1E0E411",
                "Value": "Volunteer;Member;Alumni"
            },
            {
                "AttributeId": "3607C77D-19DC-4EE0-A0CD-A352762A8EF0",
                "Value": "1985"
            }
        ],
        "Recurrence": {
            "DayOfMonth": 26,
            "DayOfWeek": null,
            "EndDate": null,
            "Frequency": 2,
            "Month": null,
            "StartDate": "Date(1337227200000-0400)"
        },
        "Tribute": {
            "Acknowledgee": {
                "AddressLines": "123 Sunset ln.",
                "City": "Charleston",
                "Country": "USA",
                "Email": "email@address.com",
                "FirstName": "Jane",
                "LastName": "Doe",
                "Phone": "123-123-1234",
                "PostalCode": "29482",
                "State": "SC"
            },
            "TributeDefinition": {
                "Description": "New tribute",
                "FirstName": "John",
                "LastName": "Hancock",
                "Type": "Tribute"
            },
            "TributeId": null
        }
    },
    "Id": "853f96be-bf08-4828-aefa-326a06e48d31",
    "Origin": {
        "AppealId": "C3B20FD8-6A81-451E-BF78-D195E82B4CBF",
        "PageId": 784,
        "PageName": "Sample Page"
    },
    "TransactionStatus": 1
}

{PartId}/Donation/ValidateDonationRequestPOST

Description

When we use the checkout pop up on the ADF then the request must be validated before opening the pop up.

Parameters
PartId (Integer) Required Id of a donation form part.
Response
200 OK Boolean Returns true if successfully validated.
400 Bad Request Error[]

{PartId}/Donation/CreatePOST

Description

Attempts to create a donation from the posted object.

Validates the fields in the posted CreateDonationRequest. If valid, creates a donation transaction and saves it to the database. Stores the Id of the new donation in session so the user has permissions for the donation instance. If the payment type is credit card, communicates with Blackbaud secured payment to set up a check out URI and adds that URI to the return object. For credit card payment, the donation is saved in a Pending state. For payments not using a credit card, the donation is saved in a Completed state and an acknowledgement email is sent.

Parameters
PartId (Integer) Required Id of a donation form part.
Post Body
Donor () Required Information about the donor of the gift. Donor and all attributes related to the donor (ex: Donor.Title) should be excluded if the donation form uses a Payment 2.0 part.
Donor.Title (String)
Donor.FirstName (String)
Donor.LastName (String) Required
Donor.EmailAddress (String) Required
Donor.Phone (String)
Donor.Address () Required Address information about the donor.
Donor.Address.StreetAddress (String) Required
Donor.Address.City (String) Required
Donor.Address.State (String) Required
Donor.Address.Country (String) Required In order for Blackbaud Secure Payments to pre-populate international billing addresses, this value should be the full country description specified in CRM.
Donor.Address.PostalCode (String) Required
Donor.OrganizationName (String) Required if Gift.IsCorporate is true. This field is not valid if the part is configured to use a Payment 2.0 page.
Gift () Required Information about the donation gift.
Gift.IsAnonymous (Boolean) Indicates that the gift is being made anonymously.
Gift.FinderNumber (Long)
Gift.SourceCode (String)
Gift.PaymentMethod (PaymentMethod ENUM) Required Indicates the method of payment to be used for the gift. Possible values:
  • CreditCard (0)
  • BillMeLater (1)
  • DirectDebit (2)
Gift.Comments (String)
Gift.CreateGiftAidDeclaration (Boolean) Indicates whether the gift aid is applied to the donation.
Gift.Designations (Array) Required Array of designation objects for the gift.
Gift.Designations.Amount (Decimal) Required The numeric amount of the designation. The currency is dictated by the merchant account specified.
Gift.Designations.DesignationId (GUID) Required Id of a designation to which the amount should be allocated.
Gift.Attributes (Array) Array of revenue attributes to be added to the gift.
Gift.Attributes.AttributeId (GUID) Required Id of revenue attribute. The only supported attribute data types are text, number, date, currency, yes/no, and code table. Only one per record attribute types are supported, except for code table attributes which support multiple entries per record. Any individual attribute id can only be supplied once for a donation.
Gift.Attributes.Value (String) Required Value of the attribute. For code table values, the name of the code table entry should be used. For Multiple code table entries, use a single attribute with the names semicolon delimited in the value field.
Gift.Recurrence.DayOfWeek (DayOfWeek ENUM) DayOfWeek value is required for weekly recurrences. Field is invalid for any frequency other than weekly. Possible values:
  • Sunday (0)
  • Monday (1)
  • Tuesday (2)
  • Wednesday (3)
  • Thursday (4)
  • Friday (5)
  • Saturday (6)
Gift.Recurrence.DayOfMonth (Integer) DayOfMonth value is required for non-weekly recurrences. Field is invalid for weekly frequency. Valid values: 1-31. Months with less than 31 days will default to the last day of the month is DayOfMonth is higher than number of days in the month.
Gift.Recurrence.Month (Integer) Month value is required for annual recurrences. Field is invalid for any frequency other than annually. Valid values: 1-12; Jan-Dec.
Gift.Recurrence.Frequency (RecurrenceFrequency ENUM) Required Designates the recurrence frequency. Possible values:
  • Weekly (1)
  • Monthly (2)
  • Quarterly (3)
  • Annually (4)
  • Every4Weeks (7)
Gift.Recurrence.StartDate (Date) Required Start date for recurrence. Must start on or after today's date.
Gift.Recurrence.EndDate (Date) Optional end date for recurrence. Must end after start date.
Gift.Tribute.TributeID (GUID) Optional Tribute ID to map to. Must match Tribute ID from backoffice.
Gift.Tribute.TributeDefinition.FirstName (String) First name for new tribute definition.
Gift.Tribute.TributeDefinition.LastName (String) Required Last name for new tribute definition.
Gift.Tribute.TributeDefinition.Type (String) Required Tribute type to map to in backoffice. Must match existing tribute type.
Gift.Tribute.TributeDefinition.Description (String) Required Description for new tribute definition.
Gift.Tribute.Acknowledgee.FirstName (String) First name for tribute acknowledgee.
Gift.Tribute.Acknowledgee.LastName (String) Required Last name for tribute acknowledgee.
Gift.Tribute.Acknowledgee.Country (String) Required Country for tribute acknowledgee address.
Gift.Tribute.Acknowledgee.AddressLines (String) Required Address lines for tribute acknowledgee address.
Gift.Tribute.Acknowledgee.City (String) Required City for tribute acknowledgee address.
Gift.Tribute.Acknowledgee.State (String) Required State for tribute acknowledgee address.
Gift.Tribute.Acknowledgee.PostalCode (String) Required Postal code for tribute acknowledgee address.
Gift.Tribute.Acknowledgee.Phone (String) Phone number for tribute acknowledgee.
Gift.Tribute.Acknowledgee.Email (String) Email address for tribute acknowledgee.
Gift.IsCorporate (Boolean) Indicates that the gift is given on behalf of a company. When true, the Corporate merge fields are displayed as opposed to the Individual merge fields. Cannot process if Donation Form is using a Payment 2.0 Part.
Origin () Required Information about the origin of the transaction.
Origin.AppealId (GUID) Id of an appeal to associate with the donation.
Origin.PageId (Integer) Id of the BBIS page hosting the donation form.
Origin.PageName (String) Required Name of the web page hosting the donation form.
BBSPReturnUri (String) The Uri that Blackbaud secured payment should redirect to after completing the payment. Required for credit card transactions. Exclude if Donation Form is using a Payment 2.0 Part.
BBSPTemplateSitePageId (Integer) Id of the BBIS page that should be used as the page template in Blackbaud secured payment. This page must contain certain BBSP-integrated part types for the page template to be usable, such as the Advanced Donation Form. Exclude if Donation Form is using a Payment 2.0 Part.
MerchantAccountId (GUID) Required Id of the merchant account that should be used to process the donation. Exclude if Donation Form is using a Payment 2.0 Part.
{
    "Donor": {
        "Address": {
            "City": "Columbia",
            "Country": "United States",
            "PostalCode": "29212",
            "State": "SC",
            "StreetAddress": "123 Main St."
        },
        "EmailAddress": "john.doe@blackbaud.com",
        "FirstName": "John",
        "LastName": "Doe",
        "Phone": "555-555-5555",
        "Title": "Mr."
    },
    "Gift": {
        "Designations": [
            {
                "Amount": 5,
                "DesignationId": "3439a5c7-9977-4f9c-ba11-fadfb8144d35"
            }
        ],
        "FinderNumber": 0,
        "IsAnonymous": false,
        "PaymentMethod": 1,
        "Comments": "Gift comments here.",
        "CreateGiftAidDeclaration": false,
        "Attributes": [
            {
                "AttributeId": "BD18B3FD-B382-4183-A415-8F84B1E0E411",
                "Value": "Volunteer;Member;Alumni"
            },
            {
                "AttributeId": "3607C77D-19DC-4EE0-A0CD-A352762A8EF0",
                "Value": "1985"
            }
        ],
        "Recurrence": {
            "DayOfMonth": 26,
            "DayOfWeek": null,
            "EndDate": null,
            "Frequency": 2,
            "Month": null,
            "StartDate": "/Date(1337227200000-0400)/"
        },
        "Tribute": {
            "Acknowledgee": {
                "AddressLines": "123 Sunset ln.",
                "City": "Charleston",
                "Country": "USA",
                "Email": "email@address.com",
                "FirstName": "Joe",
                "LastName": "Schmo",
                "Phone": "123-123-1234",
                "PostalCode": "29482",
                "State": "SC"
            },
            "TributeDefinition": {
                "Description": "New tribute",
                "FirstName": "John",
                "LastName": "Hancock",
                "Type": "Tribute"
            },
            "TributeId": null
        }
    },
    "Origin": {
        "AppealId": "C3B20FD8-6A81-451E-BF78-D195E82B4CBF",
        "PageId": 784,
        "PageName": "Sample Page"
    },
    "BBSPReturnUri": "http://www.mydomain.com",
    "BBSPTemplateSitePageId": 784,
    "MerchantAccountId": "A9EBE81D-65A8-4BBF-8446-FB2ED0276209"
}
Response
400 Bad Request Error[] A validation error was found with the post data or an error occurred in the processing. Returns an array of Errror objects. Possible Errors:
  • RecordNotFound (106)
  • RequiredFieldMissing (101)
  • InvalidFieldSupplied (102)
  • ValueBelowMinimum (103)
  • ValueExceedsMaximum (104)
  • ValueNotAllowed (105)
  • ExceedsMaximumLength (107)
[
	{
		"ErrorCode":101,
		"Field":"Donor.LastName",
		"Message":null
	},
	{
		"ErrorCode":103,
		"Field":"Gift.Designations.Amount",
		"Message":"A designation's amount should be greater than 0."
	}
]
201 OK CreateDonationReply Returns a CreateDonationReply object containing information about the created donation and optionally a Uri for completing payment of the donation with Blackbaud secured payment. A location header is also returned containing a Uri of the new donation object. If the part is configured to use a Payment 2.0 page, the reply will contain a URI to the selected payment page instead of a secure payment URI.
{
    "Donation": {
        "Donor": {
            "Address": {
                "City": "Columbia",
                "Country": "United States",
                "PostalCode": "29212",
                "State": "SC",
                "StreetAddress": "123 Main St."
            },
            "EmailAddress": "john.doe@blackbaud.com",
            "FirstName": "John",
            "LastName": "Doe",
            "Phone": "555-555-5555",
            "Title": "Mr."
        },
        "Gift": {
            "Designations": [
                {
                    "Amount": 5,
                    "DesignationId": "3439a5c7-9977-4f9c-ba11-fadfb8144d35"
                }
            ],
            "FinderNumber": 0,
            "IsAnonymous": false,
            "PaymentMethod": 1,
            "Comments": "Gift comments here.",
            "CreateGiftAidDeclaration": false,
            "Attributes": [
                {
                    "AttributeId": "BD18B3FD-B382-4183-A415-8F84B1E0E411",
                    "Value": "Volunteer;Member;Alumni"
                },
                {
                    "AttributeId": "3607C77D-19DC-4EE0-A0CD-A352762A8EF0",
                    "Value": "1985"
                }
            ],
            "Recurrence": {
                "DayOfMonth": 26,
                "DayOfWeek": null,
                "EndDate": null,
                "Frequency": 2,
                "Month": null,
                "StartDate": "/Date(1337227200000-0400)/"
            },
            "Tribute": {
                "Acknowledgee": {
                    "AddressLines": "123 Sunset ln.",
                    "City": "Charleston",
                    "Country": "USA",
                    "Email": "email@address.com",
                    "FirstName": "Joe",
                    "LastName": "Schmo",
                    "Phone": "123-123-1234",
                    "PostalCode": "29482",
                    "State": "SC"
                },
                "TributeDefinition": {
                    "Description": "New tribute",
                    "FirstName": "John",
                    "LastName": "Hancock",
                    "Type": "Tribute"
                },
                "TributeId": null
            }
        },
        "Id": "853f96be-bf08-4828-aefa-326a06e48d31",
        "Origin": {
            "AppealId": "C3B20FD8-6A81-451E-BF78-D195E82B4CBF",
            "PageId": 784,
            "PageName": "Sample Page"
        },
        "TransactionStatus": 1
    },
    "BBSPCheckoutUri": " https://payments.blackbaud.com/Pages/Index.aspx?t=853f96be-bf08-4828-aefa-326a06e48d31"
}

{PartId}/Donation/{Id}/CompleteBBSPDonationPOST

Description

Signals the application to confirm that the donation has been paid in Blackbaud secured payment and to complete the creation of the donation.

Ensures the user has access to this donation by finding the Id in their session. If so, loads the donation out of the database. Ensures the donation is a credit card donation and not already in a completed state. If not, then confirms with Blackbaud secured payment whether the donation is paid. If so, updates the donation status and sends the acknowledgment email.

Parameters
PartId (Integer) Required Id of a donation form part.
Id (GUID) Required Id of a donation.
Response
403 Forbidden User does not have access to the specified donation.
404 Not Found No donation was found by the specified Id.
400 Bad Request Error[] The donation payment was not properly completed in Blackbaud secured payment or the donation has already been marked as completed. Possible Errors:
  • InvalidOperation (102)
  • BBSPTransactionNotProcessed (203)
[
    {
        "ErrorCode": 102,
        "Field": null,
        "Message": null
    }
]
200 OK Donation Ensures the user has access to this donation by finding the Id in their session. If so, loads the donation out of the database. Ensures the donation is a credit card donation and not already in a completed state. If not, then confirms with Blackbaud secured payment whether the donation is paid. If so, updates the donation status and sends the acknowledgment email.
{
    "Donor": {
        "Address": {
            "City": "Columbia",
            "Country": "United States",
            "PostalCode": "29212",
            "State": "SC",
            "StreetAddress": "123 Main St."
        },
        "EmailAddress": "john.doe@blackbaud.com",
        "FirstName": "John",
        "LastName": "Doe",
        "Phone": "555-555-5555",
        "Title": "Mr."
    },
    "Gift": {
        "Designations": [
            {
                "Amount": 5,
                "DesignationId": "3439a5c7-9977-4f9c-ba11-fadfb8144d35"
            }
        ],
        "FinderNumber": 0,
        "IsAnonymous": false,
        "PaymentMethod": 1,
        "Comments": "Gift comments here.",
        "CreateGiftAidDeclaration": false,
        "Attributes": [
            {
                "AttributeId": "BD18B3FD-B382-4183-A415-8F84B1E0E411",
                "Value": "Volunteer;Member;Alumni"
            },
            {
                "AttributeId": "3607C77D-19DC-4EE0-A0CD-A352762A8EF0",
                "Value": "1985"
            }
        ],
        "Recurrence": {
            "DayOfMonth": 26,
            "DayOfWeek": null,
            "EndDate": null,
            "Frequency": 2,
            "Month": null,
            "StartDate": "/Date(1337227200000-0400)/"
        },
        "Tribute": {
            "Acknowledgee": {
                "AddressLines": "123 Sunset ln.",
                "City": "Charleston",
                "Country": "USA",
                "Email": "email@address.com",
                "FirstName": "Joe",
                "LastName": "Schmo",
                "Phone": "123-123-1234",
                "PostalCode": "29482",
                "State": "SC"
            },
            "TributeDefinition": {
                "Description": "New tribute",
                "FirstName": "John",
                "LastName": "Hancock",
                "Type": "Tribute"
            },
            "TributeId": null
        }
    },
    "Id": "853f96be-bf08-4828-aefa-326a06e48d31",
    "Origin": {
        "AppealId": "C3B20FD8-6A81-451E-BF78-D195E82B4CBF",
        "PageId": 784,
        "PageName": "Sample Page"
    },
    "TransactionStatus": 1
}

{PartId}/Donation/{Id}/ConfirmationHtmlGET

Description

Gets HTML for a confirmation screen for the completed donation.

Ensures the user has access to this donation by finding the Id in their session. If so, loads the donation out of the database and merges the fields into the part’s confirmation block.

Parameters
PartId (Integer) Required Id of a donation form part.
Id (GUID) Required Id of a donation.
Response
403 Forbidden User does not have access to the specified donation.
404 Not Found No donation was found by the specified Id.
200 OK String Returns a string containing the HTML block of the confirmation with the donation fields merged in.
<div>Thank you for donating $10.00.</div>

{PartId}/Donation/GetBankingSystemTypesPOST

Description

Gets an array of Banking Type object containing all banking types that is enabled in CRM.

Parameters
PartId (Integer) Required Id of a donation form part.
Response
200 OK Object Returns an array of banking type object with all banking types.
[
{
 "Abbreviation": "USA",
 "Description": "USA(ACH)"
}
]
400 Bad Request Error[]

{PartId}/Donation/GetAccountTypesPOST

Description

Gets an array of Account Type object containing all supported account types.

Parameters
PartId (Integer) Required Id of a donation form part.
Response
200 OK Object Returns an array of account type object with all account types.
[
{
"Id": "1",
"Description": "Checking"
}
]
400 Bad Request Error[]

{PartId}/Donation/GetOriginIdAndTimePOST

Description

Gets OriginData object containing information about client id and time.

Parameters
PartId (Integer) Required Id of a donation form part.
Response
200 OK Object Returns a originData object with client id and time.
{
"OriginId": "1",
"Time": "01/01/1999"
}
400 Bad Request Error[]

Images?FolderGUID={Id}GET

Description

Gets the image objects that the user has access to within the specified folder.

Returns information about all images that the current user has access to and exist within the specified folder.

Parameters
Id (GUID) Required Id of an image folder.
Response
200 OK Array of Images Returns an array of Image objects that current user has access to and exist within the specified folder.
[
  {
    "Caption": "Sunset", 
    "Url": "http://www.mydomain.com/image/sunset.jpg"
  }
]

Images?Tag={TagName}GET

Description

Gets the image objects that the user has access to tagged with the specified tag.

Returns information about all images that the current user has access to and are tagged with the specified tag.

Parameters
TagName (String) Required Name of the tag
Response
200 OK Array of Images Returns an array of Image objects that current user has access to and are tagged with the specified tag.
[
  {
    "Caption": "Sunset",
    "Url": "http://www.mydomain.com/image/sunset.jpg"
  }
]

Images/{FolderName}/{SubFolderName}GET

Description

Gets the image objects that the user has access to under the specified folder name/path.

Returns information about all images that the current user has access to and exist under the specified folder path.

Parameters
FolderName (String) Required Path/name of the folder.
Response
200 OK Array of Images Returns an array of Image objects that current user has access to and exist under the specified folder path.
[
  {
    "Caption": "Sunset", 
    "Url": "http://www.mydomain.com/image/sunset.jpg"
  }
]
404 Not Found No folder exists at the given path.

Query/{Id}?Column1Name={ColumnFilter}&Column2Name={ColumnFilter} GET

Description

Returns the results for the specified query.

Returns the result of executing the specified, published query. The query is executed as the last user to save the query. The results are cached and may be up to 10 minutes old. The results are limited to 5000 rows.

Parameters
Id (GUID) Required Id of a query that has been published.
ColumnFilter (String) Filters the results to rows that contain the specified value in the specified column. When specifying a column, use the name that is found in the query response. Depending on the type of column being filtered, the results may filter to rows that exactly match the specified value instead of those that contain the specified value. Summary columns such as MAX, MIN, and COUNT cannot be used as filters and will be ignored.
Response
404 Not Found No published query was found by the specified Id.
200 OK QueryResults Returns a Query object containing results of executing the specified query.
{
  "Fields": [
    {
      "Caption": "ID",
      "Name": "System record ID"
    },
    {
      "Caption": "Fund",
      "Name": "Purpose\\Public Name"
    }
  ],
  "Rows":[
    {
      "Values": [
        "1BB27696-3045-405E-BD74-DC8853506977", 
        "Sample Designation 1"
      ]
    },
    {
      "Values": [
        "2AE550FB-B3FC-43CE-A07A-B23C45BF1A2E", 
        "Sample Designation 2"
      ]
    },
    {
      "Values": [
        "2AE550FB-B3FC-43CE-A07A-B23C45BF1A2E", 
        "Sample Designation 3"
      ]
    }
  ]
}

UserGET

Description

Gets basic profile information about the current user.

Returns profile information for the current user. If the user is not logged in, then it may be populated based on the current email-recipient information.

Response
200 OK UserInformation Returns profile information about the current user.
{
  "Addresses": [
    {
      "City": "Daniel Island",
      "Country": "United States",
      "Id": "53064038-dea9-48d4-bbd6-42725f78b234",
      "IsPrimary": true,
      "PostalCode": "29464",
      "State": "SC",
      "StreetAddress": "123 Sample Drive",
      "Type": "fda0e1f0-6918-4e96-8cb5-9a9a841d4ee6"
    },
    {
      "City": "Columbia",
      "Country": "United States",
      "Id":" d35a3299-407b-465f-b3f1-43465a60713e",
      "IsPrimary": false,
      "PostalCode": "29212",
      "State": "SC",
      "StreetAddress": "200 Harbison Boulevard",
      "Type": "17b13db9-1fab-4203-8b66-a2f26db637c5"
    }
  ],
  "EmailAddresses": [
    {
      "EmailAddress": "JohnDoe@organization.com",
      "Id": "9127174d-4b16-4c38-8b35-f0dbc61d7e27",
      "IsPrimary": true,
      "Type": "51d52fc2-6ac1-4687-bec0-c4fed5a05b65"
    },
    {
      "EmailAddress": "JohnDoe@personal.com",
      "Id": "8e48a013-6484-42b8-9746-c40a8eee9729",
      "IsPrimary": false,
      "Type": "51d52fc2-6ac1-4687-bec0-c4fed5a05b65"
    }
  ],
  "FirstName": "John",
  "LastName": "Doe",
  "Phone": "803-781-8851",
  "Title": "Mr"
}