EventEspresso.com just got a fresh makeover; enjoy the new brew. ☕️

Event Espresso 4 REST API Development Started on Github

Posted by Seth Shoultes  


We are happy to announce that development of the Event Espresso 4 REST API has begun. You are invited to get involved with the API development by: sharing feedback on the direction of the API, contributing code, testing what is already completed, and encouraging others to get involved.

APIs are for Sharing, Please Share

Hey #app #developers a brand new #API is available for @EventEspresso https://github.com/eventespresso/event-espresso-core/tree/master/docs/C–REST-API #WordPress #events #plugin #eventtech #mobile.Please click to share this.

WordPress and Event Espresso Developers will be most interested in the EE4 REST API, because it will allow for faster development of a wide array of features, including custom reporting tools, mobile application development, and theme development. The EE4 REST API will provide an easy to use API, available via HTTP, to grab your site’s event and registration data in simple JSON format. Retrieving or updating data is as simple as sending a HTTP request.

Purpose of the Event Espresso 4 REST API

RESTful-APIAs you may have guessed already, the Event Espresso 4 REST API is not a new way to relax or catch some Z’s in between coding sessions. The Event Espresso 4 REST API is actually an application programming interface (API), intended to allow client-side JavaScript, and apps on different servers, to be able to interact with the WordPress Plugin Event Espresso. It is built on WordPress, Event Espresso 4 and the WP API; however once the WP API is merged into WordPress core, it is anticipated that this Event Espresso REST API will likewise be merged into Event Espresso 4 core.

Other WordPress plugins that intend to use Event Espresso 4 data server-side (in the PHP code) generally do not need to use the API, and can instead use Event Espresso 4’s models, config, and other modules directly. Check out developer.eventespresso.com for tutorials on how to use many of these systems.

Example applications could include:

  • JavaScript and HTML snippets that could be pasted onto non-WordPress sites that could list events from Event Espresso
  • Mobile applications for signing attendees into events in Event Espresso
  • WordPress plugin that controls Event Espresso data entirely on the client-side

Roadmap

Generally, the work will be organized into 3 main milestones:

  • READ functionality (API clients will be able to read just about anything from EE4, including information from add-ons)
  • WRITE functionality (API clients will be able to create and update most EE4 info, but we’d like to prevent API clients from breaking the DB so that will be a bit of a challenge)
  • Single page checkout (SPCO) functionality (we will want to present similar functionality to SPCO, except over the API. This will require rather tight integration with SPCO in order to keep them almost identical)

Progress

Current progress (as of this writing):

  • READ functionality is approximately 85% completed. We are actively working on the compatibility with the permissions and capability controls that are built into Event Espresso core.
  • WRITE functionality: 0% completed
  • SPCO functionality: 0% completed

Generally, the central hub for the API should be the EE4 REST API Github repository and milestones; along with blogging about it from developer.eventespresso.com.

Information for Non-developers

I’m not a developer, how does this affect me?

Not a developer, that’s okay! The Event Espresso REST API will allow other applications (other websites, mobile apps, etc) to access your Event Espresso data through an application programming interface (API).

We recommend you share this with your development team, agency or app developers because they will be excited about this. You should ask them to consider building an integration for the Event Espresso 4 API so that you can use your data in their applications.

Hey #app #developers a brand new #API is available for @EventEspresso https://github.com/eventespresso/event-espresso-core/tree/master/docs/C–REST-API #WordPress #events #plugin #eventtech #mobile.Please click to share this.

Another benefit of the API is that if you want a certain edge case feature that is not available in our core products, you can hire a developer to build it for you, without having to understand the Event Espresso 4 code base.

Have ideas for the API, fill out the survey below or leave a comment.

Information for Developers

How do I get access to the files?

Anyone with an account on Github.com can download and install the EE4 REST API on their site.

How do I get involved?

For the most part, at the time of this writing, we are still in the planing and development stages. Developers that are interested in the Event Espresso 4 REST API can get involved in the development and planning process from within the EE4 REST API page on Github.com.

Participate in a short survey!

How will you, or your company use the EE4 REST API? Let us know by filling out the survey below.

  • var gform;gform||(document.addEventListener("gform_main_scripts_loaded",function(){gform.scriptsLoaded=!0}),window.addEventListener("DOMContentLoaded",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,initializeOnLoaded:function(o){gform.domLoaded&&gform.scriptsLoaded?o():!gform.domLoaded&&gform.scriptsLoaded?window.addEventListener("DOMContentLoaded",o):document.addEventListener("gform_main_scripts_loaded",o)},hooks:{action:{},filter:{}},addAction:function(o,n,r,t){gform.addHook("action",o,n,r,t)},addFilter:function(o,n,r,t){gform.addHook("filter",o,n,r,t)},doAction:function(o){gform.doHook("action",o,arguments)},applyFilters:function(o){return gform.doHook("filter",o,arguments)},removeAction:function(o,n){gform.removeHook("action",o,n)},removeFilter:function(o,n,r){gform.removeHook("filter",o,n,r)},addHook:function(o,n,r,t,i){null==gform.hooks[o][n]&&(gform.hooks[o][n]=[]);var e=gform.hooks[o][n];null==i&&(i=n+"_"+e.length),gform.hooks[o][n].push({tag:i,callable:r,priority:t=null==t?10:t})},doHook:function(n,o,r){var t;if(r=Array.prototype.slice.call(r,1),null!=gform.hooks[n][o]&&((o=gform.hooks[n][o]).sort(function(o,n){return o.priority-n.priority}),o.forEach(function(o){"function"!=typeof(t=o.callable)&&(t=window[t]),"action"==n?t.apply(null,r):r[0]=t.apply(null,r)})),"filter"==n)return r[0]},removeHook:function(o,n,t,i){var r;null!=gform.hooks[o][n]&&(r=(r=gform.hooks[o][n]).filter(function(o,n,r){return!!(null!=i&&i!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][n]=r)}});Name
  • FirstLast
  • Email

  • Website

  • REST APIs make EE4's data available to applications not hosted on your server. What have you done or would you like to be able to do with the EE4 REST API?*

  • We would like to know what use cases you have, so we can make those common use cases easier.
  • If you are a developer, what are some aspects of other APIs that you would like to see in EE4's REST API?​​​​*

  • If you plan on using the API for getting EE data, describe what kinds of queries (in english) you might like to run.*

  • Eg.: “Get all events for in Kansas city”, or “Get all payments made in January for the event ‘Star Wars Conference”. We want to get an idea for how complicated the queries developers will want.
  • If you plan to CREATE and UPDATE EE Data using the API, what data do you plan on creating/updating?*

  • We want to know what are the most important things for developers to ADD/UPDATE in the database.
  • If you plan to CREATE and UPDATE EE Data, would you rather use a low-level API (where your code would have more complete control over the data, but would need to take care of ensuring data integrity, triggering messages to be sent, and generally duplicating EE core’s behaviour) or a high-level API (where you wouldn’t have as much control over the data, but our code would take care of making sure the data remains consistent, our code would trigger messages, and make sure the API behaves like normal EE).*

  • We want to know which users value more: control over the data, or simplicity of development.
  • Have you used the Event Espresso 3 JSON API?*
  • No
  • Yes
  • If you are a developer, were there any parts of using the EE3 JSON API that were especially useful?*

  • What EE3 JSON API features were of most use?*

  • We want to know, if a particular feature, or endpoint was dropped from EE4 REST API, what would you be most upset about losing?
  • If you are a developer, were there any parts of using the EE3 JSON API that were frustrating?*

  • GDPR Agreement*
  • I consent to have this website store my submitted information so they can respond to my inquiry.
  • Name

  • This field is for validation purposes and should be left unchanged.

Δdocument.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() );