Jul 24, 2023

Create Your Dummy API with Convoworks to Streamline Development

Introduction

Building on our previous article where we explored synchronizing data with the Tiltify API using WordPress, we’ll now dive into the benefits and process of creating a mock or dummy API for your development environment. This approach utilizes the Convoworks API Builder package, a powerful toolset that simplifies API creation and management.

Why Use a Dummy API?

Working with live, external APIs presents unique challenges during the testing and development phases. They can range from rate limits and test data pollution to the unavailability or instability of the external API. Additionally, not all APIs offer sandbox environments, which further complicates the testing process.

To mitigate these issues and create an unrestricted, flexible testing environment, we introduce the concept of a dummy API. This enables you to control the data your API returns, allowing you to test all possible scenarios, including potential API error responses. Essentially, it offers a safe and adaptable space for rigorous testing.

Setting Up a Tiltify Dummy API with Convoworks API Builder

Using the Convoworks API Builder, we can construct a dummy API that mirrors the responses from the Tiltify API. To help you kickstart this process, we’ve prepared a service definition file which you can import to create your new service. The file contains a predefined setup for the dummy API that matches the Tiltify API’s responses. We covered just a few endpoints, just ones required for our previous article.

Tiltify Dummy API (JSON)

  • Download the attached service definition file.
  • In Convoworks, create a new service and select the option Import from file.
  • Upload the downloaded service definition.
  • Navigate to the Configuration view and enable the API Builder platform.
  • In the Releases view, you can find your dummy API base URL. This will serve as the endpoint for all your API calls during testing and development. Use this value to set the API_BASE_URL variable in the Tiltify Importer service.

 

Using Your Dummy API

With your dummy API in place, you can now use it for development and testing. If you haven’t so far, check our Beyond Coding: API Synchronization with WordPress blog post and follow instructions to setup API sync Convoworks services.

How Does it Work?

In this example, we mostly used returning just plain JSON for the response. Below you can see an example where we are combining static JSON with a dynamic variable (expression). In this case we are just setting the campaign id which was given as a request parameter.

Simple JSON response

The Top Donations endpoint is expected to return multiple results, so for it we used FOR loop to generate data. This example also demonstrates how to work with variables and serialize response as JSON.

Use FOR loop to generate response data

Conclusion

Creating a dummy API using the Convoworks API Builder greatly enhances your development and testing process by providing an unrestricted testing environment. This streamlined approach ensures comprehensive and efficient testing of your application, thereby improving the overall quality of your work.

Tihomir Dmitrović

Tihomir Dmitrović

Full stack developer with 20+ years of professional experience, specialized in solving complex problems in a scalable manner. Founded Convoworks, which is a GUI based tool for creating voice and chatbot applications through WordPress.

Nov 14, 2024  |  ,

A Dead Simple RAG Setup for WordPress: AI Chatbots for Small Websites

Discover how to set up a dead-simple RAG-based AI chatbot on your small WordPress website. With Convoworks, you can easily enable a chatbot that retrieves information directly from your pages, enhancing user experience with minimal setup. Perfect for small sites looking to leverage GPT-powered chat functionality in minutes!

VIEW FULL POST

Aug 10, 2023  | 

How to Modify Your robots.txt to Prevent GPTBot from Crawling Your Site with Convoworks

Introduction Ensuring that your website’s content is accessed on your terms is essential. With an increasing number of web…

VIEW FULL POST