While chatbots (what some people are calling “invisible apps”) have existed for some time, it’s only recently that the world seems to have gone bot crazy. The proliferation of third-party API companies is fundamentally changing the dynamics of how software is created and brought to market and chatbots are witnessing this huge paradigm shift.
In fact, these type of apps are basically entirely API-driven and event driven. As the number of services that expose APIs grows, the number of ways to combine them increases exponentially, and we’re just at the very beginning. The dream of easily reusable components is an old one in programming, but only today we find the required components have arrived in full force.
So how are API enabling the chatbot craze? What are the requirements for an API to fit into this landscape? What are the tools out there that are enabling this API-glue approach?
4. g@stamplay.com
More than 900 million monthly active
users only on Facebook Messenger
In 2015 messaging apps have been the
fastest growing In the global Top 10 of
most used apps 6 are messaging apps
No need to download yet another app
2016 is the year
of the bot
5. g@stamplay.com
Messaging platforms aim to change the way
brands communicate with consumers
Chat UX is more natural, dynamic and avoid
any friction opening new accounts
Do more from a familiar environment
where we already spend our time.
2016 is the year
of the bots
7. g@stamplay.com
Messenger
Where you receive messages and route them to an appropriate handler.
The point of the Messenger is to act as an interfact on top of our bot.
SMS
8. g@stamplay.com
Message Parser & Handler
The role of the handler is to handle the message passed from Messenger,
delegate tasks to services, and send messages back to the user.
9. g@stamplay.com
Services
In charge of making API requests, parsing data, and formatting responses for our
handlers. The line between the responsibilities of message handling and actions.
10. g@stamplay.com
State stores
Stores help manage state from interactions as your bot might need to recall things.
Stores hold conversation data and keep track of what state the system is in.
13. g@stamplay.com
Bot API and tools landscape
Very low barrier of entrance thanks to extensive API offering
14. g@stamplay.com
Chatbots are entirely API-driven & event-driven
If you’re the type of developer who hates fiddling with CSS,
this might be the happiest day of your life.
Receive message from user
Update conversation state
Reply to user
Submit request
to third party system
Understand request with API.ai
15. g@stamplay.com
Today Applications Are Composed
With Many Services
No choice but to integrate with other systems.
Web app custom app
Mobile app custom app
16. g@stamplay.com
Benefits of API-glue
API connected and service based architecture bring value
+ Developer productivity:
logic is distilled to its constituent parts and re-
used across different applications, duplication of
effort is avoided and allows developers to build
on each other’s efforts.
17. g@stamplay.com
Benefits of API-glue
API connected and service based architecture bring value
+ Predictable to changes:
By ensuring a modularization of integration logic,
and by ensuring a logical separation between
modules, it’s easier to embrace changes.
18. g@stamplay.com
Benefits of API-glue
API connected and service based architecture bring value
+ Agile goveranance through loose coupling:
Within a complex architecture, there are different
levels of governance that are appropriate.
Separate API tiers allow a different level of
governance and control to exist at each layer,
making possible simultaneous loose-tight coupling.
20. g@stamplay.com
Composing Services Comes With Challenges
Different APIs. Different behaviors. Complex infrastructure.
Monitor availability
Authenticate
Data integration
Synchronize
Maintain changes
Manage events
Map & Transform Data
Manage process
Error handling
Data mapping
Handle rate limits
21. g@stamplay.com
API and services as if they are Lego blocks
A new class of products is emerging. Thos allow to chain together and orchestrate
APIs arranging them into service-based apps.
22. g@stamplay.com
Requirements for an API-glue
A comprehensive and easy to use set of tools to orchestrate your APIs.
Webhooks
Data
Service
User management
and authentication
On private or
public cloud
Run code
serverless
Storage
Service API
Third Party
Integrations
Extensibility
23. g@stamplay.com
Coding vs Programming
A fundamental distinction
New HTTP request
Lookup public contact detail
Save it on Salesforce
Post on #sales channel
Say hello via email
24. g@stamplay.com
Requirements for modern APIs
Simple, consistent, flexible, friendly, explorable via URL
and use web standards where they make sense.
Token based Auth
(e.g OAuth2)
Machine readable
docs (Swagger, RAML)
Human readable docs
(Slate, readme.io)
Webhooks Effectively use of HTTP codes
Rate Limiting
Query Param all the things!
?max_results=20&page=2 ?projection={"avatar": 0}?sort=-total
?where={“lastname”: “Doe”} ?embedded={"author": 1}