API Examples

Earlier I wrote about what an API (Application Programming Interface) is and its purpose. Today, I will describe two recent API projects as examples of the capabilities possible due to the existence of API’s.

When using a Constituent Relationship Management (CRM) database you want to track all communication with each constituent in addition to their name, contact information, donation, pledges, and meeting, etc. One of the most frequently used communication tools is email. Some databases have the capability to send emails directly and store a copy in the constituent record. Some do not. Many people use an online email provider that is not integrated with their CRM. So how do you get the emails into the CRM database? Develop an API app.

eComApps recently created a process to receive emails, identify the various parts of the email, and then find the appropriate account within the CRM database and add the email content. All the user has to do is include a special email address when sending the email. Everything else is automatic. The API allows us to write code to access the CRM, find the proper record, and add the email content. Yes, this is the eCom-EmailKeeper product recently released.

Another recent project involved a ticketing system and a CRM database each with their own API. Our API app accesses the ticketing database, pulls out the appropriate event transactions, identifies those that have not been previously processed, and then accesses the CRM to find the appropriate records and add the transactions. Our app uses the ticketing database API to obtain the records and the CRM API to move the data into the appropriate CRM records. This is a custom solution for one of our clients.

API technology gives you the ability to customize a complex process to meet specific needs. It saves time, is easy to use, and makes your life easier. Sweet!

Posted in General

The Power of Small

Our culture has moved from the small farm and small businesses to the big city and large corporations. But recently the role of small business has grown and become a major driver in delivering quality products in a timely manner.

eComApps is one of those small businesses. We saw a need for feature-rich eCommerce pages and API (Application Programming Interface) driven apps that interface to eTapestry®. We invested in developing a robust API “engine” and are using that “engine” to drive our eCommerce forms and our API apps.

Recently, an organization approached eComApps expressing the need for an integration between online email providers like Gmail and eTapestry®. We worked with them to define the product and develop a prototype. We then launched a development project that has resulted in eComApps announcing eCom-EmailKeeper (EmailKeeper).

EmailKeeper is an API driven app that places your constituent email into your eTapestry® database as a Journal Contact. EmailKeeper works with all standard emails. You simply send your constituent email in the normal fashion and include a special email address. The email addresses are used to locate the constituent in your CRM and adds the email to the Journal. Sweet and simple.

The “power of small” is once again demonstrated by identifying a need, formulating a strategy, and producing a solution in a timely manner. The “power of small” can be seen in flexibility, productivity, responsiveness, and quality. While we are glad there are large business, we are also grateful for smaller organizations as well. Let’s celebrate the “power of small”.

Posted in General

Developing a New API Application

My previous blog was a quick overview of what an API (Application Programming Interface) is and some of its uses. This blog will provide some insight into the process of developing a new API application.

Like any significant software development, an API project needs to be designed before you start writing code. For example, a client recently contacted eComApps to ask if we could provide a donation form/page with tribute fields and automatically send a tribute notification email. This would be an email in addition to the standard constituent confirmation email and the organization notification email. This email would be sent to the tribute notification email address entered into the donation form.

Since we had previously created donation forms with tribute information we only had to design the third email process. The third email can be completed using the API by adding a new feature to the donation page. We know how to send emails so this was an easy modification to quote. We could design the modification quickly and provide a quote for the enhanced donation form in a timely manner.

We were also contacted by another organization to provide a form to sell raffle tickets. The raffle ticket sales page is much more complex than adding an extension to a donation page. We had to understand the requirements and design a process to provide a secure way to ensure the ticket numbers issued were unique, sequential, and that we did not sell too many tickets.

It was not difficult to put together a process on paper (actually electronic document) but we needed to confirm that the ticket issuing logic would work as desired. The process had to assign the proper number of sequential ticket numbers to each constituent even if several constituents requested tickets at the same time.

So we did a prototype to ensure our implementation would provide the desired functionality. A prototype is not the entire project but a quick rough little program to test the logic required. In this situation, we placed some data into a transaction database and hit it with many requests simultaneously to make sure our process would handle the requests one at a time in order.

Many API projects require some special logic that needs to be prototyped to understand the full complexity of the project and implementation. Do not be surprised when requesting a quote to find out that the developer needs time to do a prototype project and that you may be asked to share the cost of the prototype or offer some assurance the project will be approved.

API projects are usually a partnership requiring the constituent to provide the details of the project requirements and the vendor to provide the expertise to creatively implement an appropriate solution.

A team approach will enhance the process of developing a new API application.

Posted in General

Exploring the Purpose of an API

More and more people are being exposed to the concept of an API (Application Programming Interface) that can add features to their CRM database. They wonder what it is. They wonder how to use it. They wonder if it is easy to learn. So they ask others only to find that most people they know do not understand what it is, how to use it, or how it could help them. Exploring the purpose of an API is the subject of this blog.

The API is not like the graphical user interface you use in your CRM. It is not a module that you turn on and have all of these new features available at the click of the mouse. The API is not magic but is designed for use by programmers/developers. The API is a library of features that you can use in a program to get data into or out of your database.

If you want to implement a feature that your CRM does not provide, you may be able to obtain that feature by writing a program that provides the logic required and uses the CRM’s API to implement that feature.

There are a number of reasons one might want to develop a program using an API:
automatically import data into your database
automatically update certain records in your database
extract data from one database and update into another database
interface an advanced eCommerce page to your database
and the list goes on and on

eComApps has developed an interface to the eTapestry® database by using its API. Our software ensures security for the data and provides the logic required to handle accounts, personas, UDFs, gifts, pledges, etc.

Since eComApps wrote this interface for the eTapestry® database, you don’t have to. We would be pleased to develop an eCommerce page or another app for you that uses this interface.

Yeah, API!

Posted in General

eCommerce Tips to Avoid Frustrated Consitutents

A constituent visits your website, reviews donation opportunities and event information, and decides to donate or register for an event. Be sure the navigation to the donation and registration pages is easy and obvious. Here are some eCommerce tips to avoid frustrated constituents.

Most sites promote their events and donation opportunities in an attractive organized manner. That typically includes the opportunities, pricing, location, times, etc. and a donation and registration button. Make sure it is obvious how to donate and when to register for the events. If registration is not currently open, let them know to avoid constituent frustration.

Donation pages and registration pages allow you to specify the amount but also various options. Each event registration page needs to provide selections for the participation levels and preferences. A single donation page that allows you to indicate the donation is for an event registration and does not include the event options is frustrating for your constituent.

A premiere annual event might even have its own website. Make sure it is easy and obvious how to find the event website from your main website. The event website will have lots of information over several pages. Be sure to make the actual registration page easy to find from every event website page. If it is not easy to see the registration button or form, the constituents will get frustrated.

Be informative and creative. Pay attention to the details. You never want a frustrated constituent.

Posted in General

For a Great eCommerce Page Start at the End

Many eCommerce pages are developed by starting with an attractive page that collects data. Of course we all want attractive pages that collect data. However, starting with the look of the page may lead you astray.

Quality eCommerce pages start by identifying the data items, queries, and reports that will be required to run the event, report results, and allow tracking of constituent involvement. The eCommerce page must generate CRM data that is useful to the organization and easy to use. Saving the right data is critical but critical data that is not readily available is not very helpful.

Once the data is identified, the data structure within the CRM database must be determined. CRM software has standard fields for the common data items and allows for the creation of special fields to meet your specific needs. It is usually a mistake to use a system provided field for something for which it was not designed. So create any necessary custom fields. One other step is often required. The database typically allows you to associate the custom fields you create with the constituent, the address, the donation, registration, or pledge, etc. Choosing the proper location of the custom field is critical for the effective use of the queries and reports.

We are now getting closer to working on the page itself. But first, we need to review the logic needed behind the page to correctly handle the data. Examples of the logic include early bird pricing, discounts, multiple registrants per credit card transaction, hide/show fields based on constituent data entry, totaling the price of all the selected items, and other special processing. Thinking about this early in the development will make your life easier and page better.

Finally, we are ready to place the appropriate fields on the eCommerce page, implement the hide/show areas, and set the “look and feel” of the page. With current technology, you can securely embed the page into your website page. This allows you to create and edit the event information, provide links, and images without placing them on the registration form. This reduces development costs and reduces edits.

Yes, the page needs to be attractive and collect data but you also need the data stored in a manner that allows you to use the data in an effective efficient manner. Start with the end and you will be well on your way to a dynamic eCommerce page.

Posted in General

Respect the Purpose

eComApps is about quality. This is reflected in our offerings, our work ethic, and our dedication to our customers. Our blogs will touch on topics related to quality eCommerce pages, API apps, and operational issues. A clear purpose drives quality. This applies to your online event registration, as well.

Your online event registration has two components each with a different purpose. Your constituent arrives at your website and views event related pages. The purpose of the event promotion pages includes moving the constituent to a decision. The event related pages are where the constituent will make the decision to register for the event.

The purpose of the eCommerce form is to complete the decision made while on the event pages. The constituent has already decided so present the basic options, collect the contact and payment information, and avoid distractions. Some details may be required but keep the form clean and simple. Exposing the constituent to other events, programs, donation needs, etc. may cause the constituent to lose the focus the website worked so hard to develop.

Respect the purpose!

Posted in General

eComApps Blog Launch

As the title suggests this is our first blog post. The goal for our blog is to provide useful information about how to properly use eCommerce pages, enhance data collection, create integrations, and make better use of online tools. This information will be geared towards the not for profit and fundraising market space. There are opportunities all around, many of which are missed. While there are numerous reasons these opportunities are missed or implemented poorly we are here to provide solutions. We draw upon years of experience consulting non-profit organizations while designing and setting up databases, eCommerce pages, reports, data collection tools, and fund raising campaigns. We hope that you find the information both helpful and informative. Let us know if there are any topics which you and your organization are interested in researching with us.

Posted in General