API & UIKit docs for Notifications

2/2023 - 3/3023

Background:

Notifications is a product that Sendbird released in the spring of 2023. It’s an in-app notification channel that customers can integrate to send personalized notifications to their users. Customers can build a notification template and send a notification on the Sendbird Dashboard all without using code. Alternatively, customers with engineering background can also install UIKit, a set of prebuilt UI components, on their app to render notification channels on mobile devices and send a notification through API calls.

My tasks:

I was asked to join a team of back-end engineers, front-end engineers and designers to build and document this product as the sole technical writer within 4 weeks. It was a very timely project where we were all assigned to work as a task force and focus solely on this product for a month. There were two parts to this project: documentation and UI texts. Since the product was targeting both non-engineers and engineers, technical documentation as well as user-friendly UI texts for the dashboard were needed. The following are the list of tasks that I completed on the documentation side:

  • Code naming review with engineers

  • Overview page

  • Guide

  • UIKit docs for iOS and Android

  • API docs


Code naming review

While documentation work usually starts towards the end of product development, I joined in all the specification meetings early in the development process due to time constraint. Based on the RFC documents, I reviewed all the customer-facing code names with the engineers and started planning what content to show in the docs. It was important to keep track of which specifications were being added or removed from this iteration.

I reviewed almost all of the property names in the HTTP request body of every API call as well as the fragment, ViewController and module component names used in UIKit. Then, I wrote the corresponding descriptions when organizing them in tables.

Overview page

When coming up with the layout of the product overview page, I worked with the product manager and the designer to decide what information to show. The product manager specifically requested that we take a different approach to building the overview page for this product than that of other existing products. Since the goal of Notifications was to provide a no-code method to non-developers such as marketers and product managers, I added a section for use cases and a step-by-step guide on how to get started.

For the very top of the overview page, we decided to try something completely new by showing a video. The product manager and I worked on coming up with a script, which we then requested the visual design team to turn into a video. Through the video, our goal was to visually show the process of how to create a template and use that template to send a notification without using code.

You can watch the full video here.

UIKit docs for iOS and Android

Sendbird’s Chat UIKit is a set of prebuilt UI components that allows customers to build an in-app notification channel. They can install Chat UIKit for Notifications on their app if they wish to receive notifications sent through the APIs or one of the integrated external platforms. There are two available platforms for Notifications: iOS and Android.

I wrote a guide for how to install UIKit on the client app, configure the two different types of notification channel views, handle push notifications, and set custom themes. I worked with the iOS and Android engineers to understand how the installation process works. Since UIKit is a very visual aspect of the product, many different guides were needed for how to render UI components and set custom fonts and custom styles.

*All content was written by me except for the code samples.



Guide

There are 4 pages under the Guide section: Overview, Templates, Integrate with Braze and Integrate with CleverTap.

On the Templates page, I explained how the templates are the core of Notifications and the starting point of using this product. I worked with the designer to draw a diagram to go along with the explanation so that customers can visually see the full user journey. Then, I went into more detail about the two different types of template views and how to set variables for each template.

There are two external platforms that customers can integrate with: Braze and CleverTap. I created a guide for how to set up each integration and map user profiles from Sendbird to each marketing tool.

*All content was written by me except for the code samples.



API docs

Sendbird’s Notification APIs allow customers to interact with data resources associated with their notification activities in their Sendbird application. The APIs are designed to use standard HTTP protocols and return JSON payloads in response to HTTP requests. They’re internally implemented based on the RESTful principles.

The API guide contains 5 pages including: Overview, Send a notification in real-time, Send a batch of notifications using a CSV file, List target files and Error codes. Each API page shows the HTTP request, a request body containing a list of properties of the HTTP request and the response. On the overview page, the base URL, headers, authentication method and a list of actions to the corresponding HTTP requests are explained.

Lastly, I included an error codes page that shows all the possible client or server-side error responses and error codes that the Notifications APIs return in response to calls.

*All content was written by me except for the code samples.

Next
Next

UX writing for Notifications dashboard