Integration API Overview

Documentation | Version History

CharityEngine’s Integration API are the core set of data access APIs that we extend to developers who are performing integrations with CharityEngine to transfer data in real-time, process payments, or perform other software integration tasks. As an open ecosystem, CharityEngine provides over 200 powerful web methods to allow any form of software integration you can imagine. Examples of things that can be done via the Integration API are Creating Contact Records, Processing Transactions, Querying the CRM system for People or Households or Activities, and much more.

If you would like to leverage our integration APIs, contact our Partner Sales team today or contact our customer care team if you are already a CharityEngine customer.

Integration API Details & Sample Code

Once you have a CharityEngine API account provisioned, you can access the APIs by going to the production URL and reading the API code.

For most software development environments, you will want to reference the Web Service Definition Language (WSDL) in your local IDE to download and create the client code to interact with the API. Most IDE environments have tools to make this simple such as click to add a service reference. Below are a few example snippets of code written to use the APIs.

Example #1 – Create a Person in the Database

var api = new IntegratorApi.CharityEngineIntegrationApiClient();

var user = new IntegratorApi.WebServiceAuthentication();
user.Username = "[Your Username]";
user.Password = "[Your Password]";                     

var p = new IntegratorApi.CreatePersonParameters();
p.FirstName = "John";
p.LastName = "Smith";        

p.EmailAddress = "JohnSmith@gmail.com";

p.PhoneNumber = "202-555-6768";

var response = api.CreatePerson(user, p);

Console.Write("Create Person Successful: " + response.Successful.ToString() + Environment.NewLine);
if (!response.Successful)
    Console.Write("Error: " + response.Error.Message);
Dim api As new IntegratorApi.CharityEngineIntegrationApiClient()

Dim user As new IntegratorApi.WebServiceAuthentication()
user.Username = "[Your Username]";
user.Password = "[Your Password]”;                    

Dim p As new IntegratorApi.CreatePersonParameters()
p.FirstName = "John"
p.LastName = "Smith" 

p.EmailAddress = JohnSmith@gmail.com

p.PhoneNumber = "202-555-6768"

Dim response As api.CreatePerson(user, p)

Console.Write("Create Person Successful: " & response.Successful.ToString() & Environment.NewLine);
if not response.Successful then
    Console.Write("Error: " & response.Error.Message)
End if

Example #2 – Process Credit Card

var api = new IntegratorApi.CharityEngineIntegrationApiClient();

    var user = new IntegratorApi.WebServiceAuthentication();
    user.Username = "[Your Username]";
    user.Password = "[Your Password]";                    

    var c = new IntegratorApi.ChargeCreditCardParameters();            

    c.Amount = 19.99;

    c.CreditCardInfo = new IntegratorApi.CreditCardParameters();
    c.CreditCardInfo.CardNumber = "1111222233334444";

    c.Contact.PersonInfo = new IntegratorApi.PersonParameters();
    c.Contact.PersonInfo.FirstName = "John";
    c.Contact.PersonInfo.LastName = "Smith";

    c.Contact.EmailAddress = "JohnSmith@gmail.com";
            
    c.Contact = new IntegratorApi.FindOrCreateContactParameters();
    c.Contact.AddressStreet1 = "123 Main Street";
    c.Contact.AddressCity = "Washington";
    c.Contact.AddressState = "DC";
    c.Contact.AddressPostalCode = "20001";                     
            
    var apiResponse = api.ChargeCreditCard(user, c);

    Console.WriteLine("Charge Credit Card Successful: " + apiResponse.Successful.ToString());
    if (!apiResponse.Successful)
        Console.WriteLine("Error Detail: " + apiResponse.Error.Message);
Dim api As new IntegratorApi.CharityEngineIntegrationApiClient()

    Dim user As new IntegratorApi.WebServiceAuthentication()
    user.Username = "[Your Username]”
    user.Password = "[Your Password]";                   

    Dim c As new IntegratorApi.ChargeCreditCardParameters()         

    c.Amount = 19.99

    c.CreditCardInfo = new IntegratorApi.CreditCardParameters()
    c.CreditCardInfo.CardNumber = "1111222233334444"

    c.Contact.PersonInfo = new IntegratorApi.PersonParameters()
    c.Contact.PersonInfo.FirstName = "John"
    c.Contact.PersonInfo.LastName = "Smith"

    c.Contact.EmailAddress = "JohnSmith@gmail.com"
            
    c.Contact = new IntegratorApi.FindOrCreateContactParameters()
    c.Contact.AddressStreet1 = "123 Main Street"
    c.Contact.AddressCity = "Washington"
    c.Contact.AddressState = "DC"
    c.Contact.AddressPostalCode = "20001" 
            
    Dim apiResponse = api.ChargeCreditCard(user, c)

    Console.WriteLine("Charge Credit Card Successful: " & apiResponse.Successful.ToString());
    if not apiResponse.Successful then
        Console.WriteLine("Error Detail: " & apiResponse.Error.Message)
End if

Example #3 – Create Sustainer (recurring payment)

var api = new IntegratorApi.CharityEngineIntegrationApiClient();

    var user = new IntegratorApi.WebServiceAuthentication();
    user.Username = "[Your Username]";
    user.Password = "[Your Password]";                    

    var s = new BetaIntegratorApi.CreateSustainerParameters();

    s.CreateMode = IntegratorApi.CreateSustainerModes.RequireValidFormOfPayment;

    s.Amount = 19.99;
    s.Frequency = IntegratorApi.SustainerFrequencies.Monthly;
    s.StartDate = DateTime.Parse("1/1/2018");

    s.Contact.PersonInfo = new IntegratorApi.PersonParameters();
    s.Contact.PersonInfo.FirstName = "John";
    s.Contact.PersonInfo.LastName = "Smith";

    s.Contact.EmailAddress = "JohnSmith@gmail.com";

    s.Contact = new IntegratorApi.FindOrCreateContactParameters();
    s.Contact.AddressStreet1 = "123 Main Street";
    s.Contact.AddressCity = "Washington";
    s.Contact.AddressState = "DC";
    s.Contact.AddressPostalCode = "20001";

    s.PaymentMethod = IntegratorApi.PaymentMethods.CreditCard;

    s.CreditCardInfo = new IntegratorApi.CreditCardParameters();
    s.CreditCardInfo.CardNumber = "1111222233334444";

    var apiResponse = api.CreateSustainer(user, s);

    Console.WriteLine("Create Sustainer Successful: " + apiResponse.Successful.ToString());
    if (!apiResponse.Successful)
        Console.WriteLine("Error Detail: " + apiResponse.Error.Message);
Dim api As new IntegratorApi.CharityEngineIntegrationApiClient()

    Dim user As new IntegratorApi.WebServiceAuthentication()
    user.Username = "[Your Username]”
    user.Password = "[Your Password]"                   

    var s = new BetaIntegratorApi.CreateSustainerParameters()

    s.CreateMode = IntegratorApi.CreateSustainerModes.RequireValidFormOfPayment

    s.Amount = 19.99
    s.Frequency = IntegratorApi.SustainerFrequencies.Monthly
    s.StartDate = DateTime.Parse("1/1/2018")

    s.Contact.PersonInfo = new IntegratorApi.PersonParameters()
    s.Contact.PersonInfo.FirstName = "John"
    s.Contact.PersonInfo.LastName = "Smith"

    s.Contact.EmailAddress = "JohnSmith@gmail.com"

    s.Contact = new IntegratorApi.FindOrCreateContactParameters()
    s.Contact.AddressStreet1 = "123 Main Street"
    s.Contact.AddressCity = "Washington"
    s.Contact.AddressState = "DC"
    s.Contact.AddressPostalCode = "20001"

    s.PaymentMethod = IntegratorApi.PaymentMethods.CreditCard

    s.CreditCardInfo = new IntegratorApi.CreditCardParameters()
    s.CreditCardInfo.CardNumber = "1111222233334444"

    Dim apiResponse = api.CreateSustainer(user, s)

    Console.WriteLine("Charge Credit Card Successful: " & apiResponse.Successful.ToString());
    if not apiResponse.Successful then
        Console.WriteLine("Error Detail: " & apiResponse.Error.Message)
End if