Let’s face it: the digital industry loves acronyms to the bones since its early days. There are countless of them tossed around and some authors tend to use them interchangeably or quite loosely, which makes it even harder for non-specialists to wrap their heads around them.
One of the most vital terms that you should know if you want to develop for chat.io and numerous other platforms are SDK and API. Since they are as omnipresent as they are misused, in this piece we’re going to outline the difference between the two and say a few words about chat.io’s own Customer SDK. Buckle up and let’s go!
What is API and what is SDK?
An API, or Application Programming Interface, is a set of functions for building software applications. It specifies how software components should work with each other: it’s an intermediary that allows two applications to communicate.
An SDK, or Software Development Kit, is a collection of resources used to develop applications for a specific platform, device, operation system, etc. Typically, SDKs include APIs, libraries, tools, documentation and code samples to help a developer create an application. An SDK may come with ready-made, small apps to demonstrate the possibilities of a platform.
To better illustrate the difference between an SDK and an API, let’s use a simple baking metaphor. If you want to prepare, say, chocolate muffins, you need a recipe. An API is such a recipe: it’s a set of instructions on how to access and interact with a given environment. If you feel like it, you can combine recipes, e.g. add ingredients from a cheesecake cupcakes recipe to your chocolate muffins to take them to a whole new level of awesomeness. Likewise, you can combine various APIs in one project, if you want more features and options.
An SDK, on the other hand, is like a boxed muffins set with cake mix and paper cups. It’s a set of all necessary resources to create an application for a given platform.
To sum it up: an API is a set of tools, while an SDK is a workshop which contains these tools along with other building materials.
While you can interact with the chat.io widget with the Agent API or the Customer API, sometimes these may not be enough. If you need to create a fully customized chat widget, chat.io Customer SDK is the way to go.
It all sounds great, you may say, but how does it work exactly? Why is this SDK called “Customer SDK”?
In the chat.io architecture there are two types of users: agents and customers. Agents (for example, support team members) are the people who handle the incoming chats. Customers are the visitors who chat with agents via a chat.io window on a website. Chat.io Customer SDK is a tool to build a custom chat widgets the customers can interact with.
Why would you need such a custom solution?
For example, you may want to build a chat window with React Native and embed it in your one-page app. Or you may already have a contact module which you want to work with chat.io. Or you may want to integrate it with a third-party tool, like a bot platform.
Whatever the reason, we have you covered. Chat.io Customer SDK is powerful and fun to play with, so let’s move from theory to practice and take a look at a real-life example.
Let’s get practical
Getting started with chat.io Customer SDK takes only two simple steps. First, you have to create a new frontend app in the chat.io Developers Console. Then you just have to install the SDK either via npm:
npm install --save @livechat/chat.io-customer-sdk import chatIoCustomerSDK from '@livechat/chat.io-customer-sdk'
Note: Instead of the
import method you can use a
const chatIoCustomerSDK = require('@livechat/chat.io-customer-sdk').
or by using a CDN-hosted script tag:
Note: If you want to use chat.io Custom SDK in React Native applications, head to the docs for the React Native wrapper.
If you want to see chat.io SDK in action, we have prepared a working example:
You can see this sample widget at CodeSandbox here. Feel free to fork the project mess around with the code, and if you get stuck or have any questions, don’t hesitate to drop us a line.
Have you created a custom chat.io solution which you want to show to the world? That’s great! Chat.io is an open chat platform, which means that we believe in the power of sharing. If you want to contribute to the growing chat.io community, let us know - we will be happy to review your app and make it publicly available, if we like it. Hit the chat bubble in the bottom right corner or reach us via email and let’s create - together.comments powered by Disqus