$30 off During Our Annual Pro Sale. View Details »

Jack Lenox - Intro to the REST API - WordCamp Athens 2016

Jack Lenox - Intro to the REST API - WordCamp Athens 2016

WordPress Greek Community

November 19, 2016
Tweet

More Decks by WordPress Greek Community

Other Decks in Programming

Transcript

  1. An introduc on to the
    WordPress REST API
    Jack Lenox (@jacklenox)
    WordCamp Athens 2016

    View Slide

  2. I Greece!

    View Slide

  3. 1. The case for a
    WordPress REST API

    View Slide

  4. What is a REST API?

    View Slide

  5. It stands for
    REpresenta onal State
    Transfer Applica on
    Programming Interface

    View Slide

  6. Centred around verbs
    GET
    POST
    UPDATE
    PUT
    DELETE
    etc.
    Different ways to interact with your data

    View Slide

  7. Usually responds in XML or
    JSON format
    XML (Extensible Markup Language)
    HTML
    RSS
    JSON (JavaScript Object Notation)

    View Slide

  8. Why does WordPress
    need one?

    View Slide

  9. View Slide

  10. MoMA in New York (c. 2009)
    Their developers wanted to use:
    WordPress as the CMS
    Ruby to build the front-end
    Why? I don't know... but they did

    View Slide

  11. View Slide

  12. View Slide

  13. View Slide

  14. Internet of things

    View Slide

  15. So, what is the
    WordPress REST API?

    View Slide

  16. View Slide

  17. View Slide

  18. Merge meline
    WordPress 4.4 (8 December 2015)
    Infrastructure merged
    No endpoints
    WordPress 4.7 (due 6 December 2016)
    Endpoints merged!

    View Slide

  19. 2. How the WordPress REST
    API works (aka, what the
    heck is an endpoint?)

    View Slide

  20. End‐what?
    REST APIs interprets a URL, and return a response
    Not wildly different to RSS
    Sample request to fetch some posts:
    wc-athens.dev/wp-json/wp/v2/posts

    View Slide

  21. [
    {
    "id": 1,
    "date": "2016-11-18T14:08:53",
    "date_gmt": "2016-11-18T14:08:53",
    "modified": "2016-11-18T14:08:53",
    "modified_gmt": "2016-11-18T14:08:53",
    "slug": "hello-world",
    "type": "post",
    "link": "http://wp-rest-api-demo.dev/2016/11/18/hello-wor
    "title": {
    "rendered": "Hello world!"
    },
    "content": {
    "rendered": "Welcome to WordPress. This is your fi
    "protected": false
    }
    }
    ]

    View Slide

  22. More endpoints...
    Single post:
    wc-athens.dev/wp-json/wp/v2/posts/1
    All pages:
    wc-athens.dev/wp-json/wp/v2/pages
    All users:
    wc-athens.dev/wp-json/wp/v2/users
    All categories:
    wc-athens.dev/wp-json/wp/v2/categories

    View Slide

  23. Moar verbs!
    By default, our calls to the REST API are GET
    requests. But we can do a lot more:
    POST
    PUT
    UPDATE
    DELETE

    View Slide

  24. Authen ca on!

    View Slide

  25. A few ways to authen cate
    Basic Authen ca on
    Quick and dirty
    Cookie Authen ca on
    Good, especially for themes and plugins
    OAuth 1.0
    A bit complicated, but versatile
    OAuth 2
    Less complicated than OAuth 1, but requires
    HTTPS

    View Slide

  26. Brokered Authen ca on
    apps.wp-api.org

    View Slide

  27. Modifying endpoints

    View Slide

  28. 3. Uses for the
    WordPress REST API

    View Slide

  29. Custom wp‐admin interfaces
    Calypso
    HappyTables

    View Slide

  30. Mobile applica ons
    WordPress apps for iOS and Android
    Vienna

    View Slide

  31. Themes
    Picard
    Anadama
    Foxhound

    View Slide

  32. Plugins
    WooCommerce
    Syndication
    EDD

    View Slide

  33. Enterprise
    Guggenheim
    Quartz
    Google IO (not WordPress, but...)

    View Slide

  34. Very exci ng mes ahead!

    View Slide

  35. Further reading, and
    any ques ons?
    v2.wp-api.org
    WordPress.tv (search "REST API")
    javascriptforwp.com

    View Slide

  36. Ευχαριστώ πολύ!
    @jacklenox

    View Slide