An open API service indexing awesome lists of open source software.

https://github.com/kucingcoder/kirimkan

A self-hosted WhatsApp messaging API built with Go. Send WhatsApp messages via HTTP requests for OTP, notifications, and more.
https://github.com/kucingcoder/kirimkan

api golang message otp rest-api restful-api whatsapp whatsapp-api whatsapp-chat whatsmeow

Last synced: 10 months ago
JSON representation

A self-hosted WhatsApp messaging API built with Go. Send WhatsApp messages via HTTP requests for OTP, notifications, and more.

Awesome Lists containing this project

README

          

![](https://github.com/user-attachments/assets/c7bb3bbb-c53e-41fe-9e64-1ec995e252b4)

# kirimkan

A self-hosted WhatsApp messaging API built with Go.
Send WhatsApp messages via HTTP requests for OTP, notifications, and more.

## ✨ Features

- 📤 Send WhatsApp messages through a REST API
- 🔐 Self-hosted: No third-party service required
- ⚡ Built with Go for performance and simplicity
- ✅ Useful for OTPs, alerts, notifications, and automation

## 📦 PROJECT SETUP

### Prerequisites

- Go 1.23.0 or later
- [Whatsapp App](https://play.google.com/store/apps/details?id=com.whatsapp) for scan QR (connectiong accounts)

### Build

- Clone repo

```bash
git clone https://github.com/kucingcoder/kirimkan.git
```

- Go to repo folder

```bash
cd kirimkan
```

- Install dependency

```bash
go mod tidy
```

- Build binary

```bash
go build
```

## 🔍 USAGE

- Run binary

```bash
./kirimkan
```

- Open the website api in your browser
- Login with default credential

- username : admin
- password : admin

- Follow the http request instructions in the dashboard to send a whatsapp message
- Change admin password for security
- Relogin to make sure was changed
- If you want to share with your friends, there is a registration menu to create a new user.

## ⚙️ CUSTOMIZATION

if you want to change the binding ip address and also the port you can change it in the `kirimkan.conf` file and then restart the application. you can also change the secret key used for session encryption in the API_KEY section because you should not use the default. if you have problems logging back into the account use /logout to delete the old session.