Tech Exploration: Ushahidi Docs, WhatsApp API, and Frameworks Overview

Shail Pujan
3 min readMar 30, 2024

--

Pre-Task-1 Familiarizing myself with the existing documentation and APIs relevant to the WhatsApp integration project for Ushahidi.

So, on March 7, I began to do the pre work provided by my mentor, Mr. Daniel Odongo. Here is the link to Pre-Task 1: https://github.com/ushahidi/platform/issues/4753. I therefore need to familiarize myself with Ushahidi’s technical documentation, WhatsApp Business API, and all the relevant libraries or frameworks that have been planned for this project. I’ve begun to read Ushahidi’s technical documentation. I found out in detail about what Ushahidi is and how it works when I went through the technical documentation. What technology stacks are being applied to our platform? In addition, given the detailed information on how to install the Ushahidi Platform, you should also be familiar with setting up deployment, configuring it, etc. Here’s a link to the Ushahidi technical documentation: https://docs.ushahidi.com/platform-user-manual/

Each step revealed a deeper understanding of the platform’s architecture and functionality. The journey through Ushahidi’s technical documentation was akin to exploring a digital labyrinth, with each turn offering new revelations and insights.

But the adventure didn’t stop there. Next on the agenda was acquainting myself with the WhatsApp Business API documentation.

WhatsApp Business API

In this, I am giving a short overview of the cloud API. In the cloud API, you can send and receive messages via the cloud-hosted version of the WhatsApp Business Platform. You can build WhatsApp business APIs with the Cloud API, which is hosted by Meta. It will allow you to create a business messaging service more easily and at a lower cost than hosting your servers yourself. There is much more about the WhatsApp Business API, so I have attached the link to the documentation below: https://developers.facebook.com/docs/whatsapp/cloud-api

Moving forward We are also required to assess whether the suggested libraries and frameworks meet the needs of a well-designed project by offering feedback on this evaluation as part of the pre-task 1.

Feedback on the Suitability of Proposed Libraries or Frameworks

Flask’s lightweight and flexible, making it a good choice for the development of an easy custom backend to integrate WhatsApp into Ushahidi. It’s going to allow us to develop microservices without a great deal of overhead.

Django is more suited for larger applications due to its built-in features for development and its ORM (Object-Relational Mapping) capabilities. However, Flask’s simplicity and flexibility could be more advantageous in a WhatsApp integration project.

UI/UX: The Data Source module is available on the platform’s current dashboard, with a convenient location in Settings Data Sources. Users are empowered to activate, select and set up other data sources according to their needs in this module. An opportunity to improve functionality is offered through the extension of this module so that WhatsApp can be integrated as a data source.

Infobip libraries :When considering the integration of the WhatsApp Business API into the Ushahidi platform, Infobip emerges as the top contender among its alternatives. While Twilio, 360dialog, and Chat API are viable choices, Infobip stands out as the preferred option due to its unmatched global presence, robust feature suite, and demonstrated reliability.

Infobip offers thorough documentation and strong support, equipping developers with the necessary resources for seamless incorporation of WhatsApp functionalities into the Ushahidi platform.

Here is the link of my 1st contribution to the pre-task: https://github.com/ushahidi/platform/issues/4753#issuecomment-1986016769

--

--