Ministry Impact Home Page

4

What Are API’s?

Rebecca Moore October 8, 2013

Share on:Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

What does API stand for?

It is an acronym for Application Programming Interface.

What is it exactly?

An API is code that programmers/developers expose for people to use to communicate with their program/service. It essentially lets you talk to their program and use information they have released. Some API’s are free while others are sold either as standalone packages or with another program.

Why should I care?

An API can let you track how many grocery stores are located in a neighborhood, or create a list of your Facebook friends’ likes. Depending on what you want to do with a program/service, there is probably an API or collection of API’s that will let you do it.

API’s can be used to expand  the functionality of a platform or you can mix and match it with other API’s and code to create something completely new, also known as a mashup.

An example of expanding the functionality of an existing platform would be the Twitter API. You can use Twitter on your standard mobile phone, a smartphone, a tablet, or your computer. This is all possible because of the Twitter API.

A mashup is a web page, or web application, that uses content from more than one source to create a single new service displayed in a single graphical interface (Wikipedia).  An example of a mashup would be the Wheel of Lunch. The Wheel of Lunch uses the Yahoo Local Search API to create a wheel you spin to decide what or where to eat.

How Do I Use This Stuff?

Depending on how complex the API is and how much programming knowledge you have, what you can do with an API varies. Some just require you to enter the API code into your website or web application code. If the API has been formatted as a URL, you can sometimes paste it into your web browser and return data that way. Lastly, you can use a HTTP client to test the API and see what data is returned.

The API’s we create here at ACS Technologies use a URL that you insert specific information into in order to return data. Some are very simple, like the Calendar List API:

https://secure.accessacs.com/api_accessacs_mobile/v2/<sitenumber>/calendars

In this API, you would need to supply your site number in the appropriate spot to complete the call. When I paste this call into my web browser, I am returned the following data:

[{“CalendarId”:”9da617de-e1ca-4bc1-8ca8-9e350a20000c”,”Name”:”Main Calendar”,”Description”:null,”IsPublished”:true,”RssSlug”:”main-calendar”},{“CalendarId”:”1603b72b-1a12-4d8e-bc9e-8926f4730557″,”Name”:”Pastor David”,”Description”:Calendar for all events.,”IsPublished”:true,”RssSlug”:”pastor-david”},{“CalendarId”:”25be4120-9137-4b3b-b1dd-eb6dbe627c66″,”Name”:”Senior Pastor”,”Description”:null,”IsPublished”:false,”RssSlug”:”senior-pastor”},{“CalendarId”:”84def49f-2cf4-42ed-bf29-811b1d1b3f6b”,”Name”:”Staff”,”Description”:”Pastor David’s personal calendar”,”IsPublished”:true,”RssSlug”:”staff”}]

Other API’s require more know-how to make them work, like the Individual Detail API:

https://secure.accessacs.com/api_accessacs_mobile/v2/<sitenumber>/individuals/<individual Id>

With this API, one would need to enter your site number, and specific Individual ID number of the individual to return any valuable data. When I paste this call into my web browser, I am returned the following data:

{“IndvId”:76,”PrimFamily”:1042,”LastName”:”Aaron”,”FirstName”:”James”,”MiddleName”:null,”GoesbyName”:”Jim”,”Suffix”:null,”Title”:”Dr.”,”FullName”:”Aaron, James (Jim)”,”FriendlyName”:”James(Jim) Aaron”,”PictureUrl”:””,”FamilyPictureUrl”:””,”DateOfBirth”:”06/30/1959″,”MemberStatus”:”Servant”,”Addresses”:[{“AddrId”:33,”AddrTypeId”:4,”AddrType”:”Home”,”FamilyAddress”:true,”ActiveAddress”:true,”MailAddress”:false,”StatementAddress”:true,”Country”:”USA”,”Company”:null,”Address”:”Sunbrook Towers”,”Address2″:”1349 Brittany Dr Apt A”,”City”:”Florence”,”State”:”SC”,”Zipcode”:”29501-6259″,”CityStateZip”:”Florence, SC 29501-6259″,”Latitude”:”34.169530″,”Longitude”:”-79.832580″},{“AddrId”:34,”AddrTypeId”:10,”AddrType”:”PO  Box”,”FamilyAddress”:true,”ActiveAddress”:false,”MailAddress”:true,”StatementAddress”:false,”Country”:”USA”,”Company”:null,”Address”:”PO Box 202010″},{“EmailId”:20,”EmailType”:”Work”,”Preferred”:false,”Email”:”noreply@acstechnologies.com”,”Listed”:true}],”Phones”:[{“PhoneId”:33,”Preferred”:true,”PhoneTypeId”:1,”PhoneType”:”Home”,”FamilyPhone”:true,”PhoneNumber”:”843-555-8311″,”Extension”:null,”Listed”:true,”AddrPhone”:true,”PhoneRef”:8435558311},{“PhoneId”:34,”Preferred”:false,”PhoneTypeId”:12,”PhoneType”:”PO  Box”,”FamilyPhone”:true,”PhoneNumber”:”800-555-2509″,”Extension”:null,”Listed”:true,”AddrPhone”:true,”PhoneRef”:8005552509}]

Looking back on those returned results, it may be difficult to discern what is what. Remember earlier when I mentioned the HTTP client?  The HTTP client will allow you to view your data and API calls in a more user friendly manner. ACS Technologies recommends the use of the RESTClient for Firefox users and Postman – REST Client for Chrome users. You can read more about the two and learn about using the API on the ACS Technologies wiki.

For example, if we use the HTTP client to return the Calendar List API, the Response Body (Review) results look like the following:

Calendar List API:
[
{
“CalendarId”: “9da617de-e1ca-4bc1-8ca8-9e350a20000c”,
“Name”: “Main Calendar”,
“Description”: “Calendar for all events.”,
“IsPublished”: true,
“RssSlug”: “main-calendar”
},
{
“CalendarId”: “1603b72b-1a12-4d8e-bc9e-8926f4730557”,
“Name”: “Pastor David”,
“Description”: “Pastor David’s personal calendar”,
“IsPublished”: true,
“RssSlug”: “pastor-david”
}
]

The HTTP client helps make the data more understandable and easier to scan, especially for individuals not used to looking at programming code.

Is that all?

Not by a long shot, but this article should pique your interest in API’s, and what they can do for you and your organization. With a little time and effort, you can use API’s to get the information you need and maybe make something cool along the way.

  • Aaron Reimann

    Do you guys have support for people that are trying to use the API? I am working on a WordPress plugin, I have everything working quite well, minus one thing. We have two calendars, an Main calendar and an Online calendar. We are adding events to “Main”, and then also am telling the event to be on the “Online” calendar. But when we show the Online calendar, it does not show any events that were added to “Main”. It only shows events that are added directly to a specific calendar, not to multiple calendars. I would love to see if that is support in the API, and if not, why. Thanks!

    • Aaron,
      We have forwarded your comments to support and someone should be in contact with you soon either by email or phone. If you want, you can call Support at 1.800.669.2509 at your earliest convenience also. Thank you for your question.

      • Aaron Reimann

        Great! Awesome support, I appreciate it.

        • Jared

          Hello, Aaron, any update on the status of your WordPress plugin? This is something I’ve been looking into for our church, and an ACS calendar plugin would be superb!

Login to your account

Can't remember your Password ?

Register for this site!