Developer Docs
Welcome to the Taratxt developer documentation. Here you will find everything you need to connect your applications, AI assistants, and devices to the Taratxt platform.
1. Getting Started
How to Get Your API Key and Device Key
To interact with Taratxt programmatically or setup your Gateway Device, you will need a Personal Access Token (API key) and a Device Key.
- Log in to your account and navigate to the Dashboard.
- To get your API Key, go to the API Keys section, click Create API Key, select appropriate abilities, and copy your token.
- To get your Device Key, go to the Devices section. You can find the device key under each of your registered devices.
- Keep your keys secure as they grant access to your account and devices.
2. Create Your Gateway
Mobile App
The easiest way to get started. Turn your Android device into a powerful SMS gateway in minutes.
Requirements
- Android Phone
- SIM Card with Load
Setup Steps
- Download the Android App (Download APK) and install it on your device.
- Open the app and scan the QR code from your device dashboard, or manually input your Device Key and API Key.
- In the app settings, toggle Run in Background to ensure the service persists.
- Tap Start Gateway to begin routing messages.
- Critical: Exclude the app from battery optimization to prevent the Android system from killing the gateway process:
- Samsung: Settings > Apps > Taratxt > Battery > Unrestricted.
- Xiaomi / Poco: Settings > Apps > Manage apps > Taratxt > Battery saver > No restrictions.
- Oppo / Realme: Settings > Battery > App battery management > Taratxt > Allow background activity.
- Vivo: Settings > Battery > Background power consumption management > Taratxt > Don't restrict background power usage.
- Stock Android: Settings > Apps > Taratxt > App battery usage > Unrestricted.
- Do not close the app (swiping away from recent apps). You can safely minimize it.
Code-It-Yourself
This guide will help you build your own SMS Gateway using an T-Call SIM800L ESP32. Once connected, your device can send and receive SMS via Taratxt’s platform and API.
Required Components
| Part | Description | Shop Link |
|---|---|---|
| T-Call SIM800L ESP32 | WiFi-enabled microcontroller with SIM800L | Buy Here |
| SIM Card with Load | Inserted into T-Call | - |
Required Software
- Arduino IDE
- Taratxt Firmware (GitHub Repository)
Make sure you've installed the ESP32 board support in Arduino IDE.
(Go to
File > Preferences > Additional Boards Manager URLs and add
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json)
Upload Firmware
- Open Arduino IDE
- Load the Taratxt firmware sketch
- Rename the
config.example.hfile toconfig.h, then supply the required data:
// WiFi Configuration
const char *ssid = "YOUR_WIFI_SSID"; // Replace with your Wi-Fi SSID
const char *password = "YOUR_WIFI_PASSWORD"; // Replace with your Wi-Fi password
// MQTT Configuration
const char *mqtt_server = "device.taratxt.com";
const int mqtt_port = 42896;
const char *deviceKey = "YOUR_DEVICE_KEY"; // Replace with Device Key
const char *apiKey = "YOUR_API_KEY"; // Replace with API Key
- Go to Tools > Board and select ESP32 Dev Module
- Connect your ESP32 to your computer via USB
- Select the correct port from Tools > Port
- Click Upload to flash the firmware onto your ESP32
Final Steps
- Once connected, your device will appear as Online in your Taratxt Dashboard.
- You can now use the platform to:
- Send SMS from your device.
- Receive SMS and forward them via webhook or API.
Device-It-Yourself
This guide will help you build your own SMS Gateway using an ESP32 and SIM800L GSM module. Once connected, your device can send and receive SMS via Taratxt’s platform and API.
Required Components
| Part | Description | Shop Link |
|---|---|---|
| ESP32 Development Board | WiFi-enabled microcontroller (e.g., DevKit V1) | - |
| SIM800L GSM Module | GSM module to send/receive SMS | - |
| 3.7V Li-Ion Battery (optional) | For stable GSM power supply | - |
| 1N4007 Diode or Buck Converter | To regulate voltage for SIM800L | - |
| Jumper Wires | For connecting the modules | - |
| Breadboard or PCB | For prototyping or permanent setup | - |
| SIM Card with Load | Inserted into SIM800L | - |
Required Software
- Arduino IDE
- Taratxt Firmware (GitHub Repository)
Make sure you've installed the ESP32 board support in Arduino IDE.
(Go to
File > Preferences > Additional Boards Manager URLs and add
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json)
Wiring: ESP32 to SIM800L
⚠️ The SIM800L is sensitive to voltage. Do not connect it directly to 5V from ESP32.
Suggested Wiring:
| ESP32 Pin | SIM800L Pin |
|---|---|
| 3.3V | VCC (via diode or buck config) |
| GND | GND |
| GPIO17 | TX |
| GPIO16 | RX |
📺 [Video Placeholder]
Coming Soon
Upload Firmware
- Open Arduino IDE
- Load the Taratxt firmware sketch
- Rename the
config.example.hfile toconfig.h, then supply the required data:
// WiFi Configuration
const char *ssid = "YOUR_WIFI_SSID"; // Replace with your Wi-Fi SSID
const char *password = "YOUR_WIFI_PASSWORD"; // Replace with your Wi-Fi password
// MQTT Configuration
const char *mqtt_server = "device.taratxt.com";
const int mqtt_port = 42896;
const char *deviceKey = "YOUR_DEVICE_KEY"; // Replace with Device Key
const char *apiKey = "YOUR_API_KEY"; // Replace with API Key
- Go to Tools > Board and select ESP32 Dev Module
- Connect your ESP32 to your computer via USB
- Select the correct port from Tools > Port
- Click Upload to flash the firmware onto your ESP32
Final Steps
- Once connected, your device will appear as Online in your Taratxt Dashboard.
- You can now use the platform to:
- Send SMS from your device.
- Receive SMS and forward them via webhook or API.
Plug and Play
Welcome! This guide will help you set up your Taratxt Gateway Device using its built-in captive portal for easy WiFi and device configuration.
What You Need
Before starting, make sure you have the following:
- A Taratxt Gateway Device (prebuilt or DIY)
- A registered SIM card with SMS capability (inserted into the device)
- A power source (USB Type-C charger or power bank)
- Your Device Key and API Key from the Taratxt Dashboard
- Taratxt Firmware Sketch (Coming soon)
Quick Start Video
📺 [Video Placeholder]
Step-by-Step Setup
1. Insert the SIM Card
Carefully insert your registered SIM card into the GSM module slot of the device. Make sure the SIM has load and is unlocked (no PIN code required).
2. Power On the Device
- Connect your Taratxt Gateway to a power source via USB Type-C.
- Wait for the device to boot (approx. 10–15 seconds).
3. Connect to the Captive Portal
- On your phone or laptop, search for WiFi networks.
- Connect to the hotspot named:
TXTGATEWAY2G(or similar depending on firmware) - After connecting, a captive portal will automatically appear.
(If not, open your browser and go tohttp://192.168.4.1)
4. Configure the Gateway
Once the portal opens:
- Enter your WiFi credentials:
- SSID (WiFi Name)
- Password
- Enter Taratxt credentials:
- Device Key
- API Key
(You can find these in your Taratxt dashboard under the Devices and API Keys sections)
- Click Save & Connect
The device will reboot and attempt to connect to your WiFi and the Taratxt server.
5. Confirm Connection
- Log in to your Dashboard
- Go to Devices
- Your device should now appear as Online
Once online, your gateway is ready to send and receive SMS!
Troubleshooting
- Device not appearing online?
- Make sure your WiFi credentials are correct
- Ensure your SIM has load and signal
- Power cycle the device and try again
- Still can't connect?
- Reset the device by holding the BOOT or CONFIG button (check your model)
- Reconnect to the hotspot and reconfigure
3. Connecting the MCP Server
Taratxt provides a native Model Context Protocol (MCP) server that you can integrate directly into your AI assistants like Cursor or custom MCP clients. This allows your AI assistant to seamlessly interact with your Taratxt account-capable of sending messages or pulling device data automatically on your behalf without requiring custom code.
Sample MCP Configuration
Add the following to your MCP client's configuration file, making sure to replace
YOUR_API_KEY with your generated token. You can generate a random string for
the SESSION_ID.
"taratxt": {
"serverUrl": "https://taratxt.com/mcp",
"headers": {
"Accept": "application/json",
"Authorization": "Bearer YOUR_API_KEY",
"X-MCP-Session-ID": "random_generated_session_id"
}
}
4. REST API Reference
If you prefer standard HTTP requests, you can interact with our REST API to manage devices or send messages directly from your application.
Authentication & Base URL
The base URL for all API requests is:
https://taratxt.com/api
All endpoints require an Authorization header containing your API key:
Authorization: Bearer YOUR_API_KEY
Accept: application/json
Devices API
/api/devices
Retrieve a paginated list of your devices.
Query Parameters:
project_id(optional) - Filter by project ID.per_page(optional) - Number of results per page (default: 15).
/api/devices
Register a new device.
Body payload (JSON):
{
"name": "My New Phone",
"project_id": 1 // (nullable)
}
Response:
Returns a 201 Created containing the device details
including its generated unique key.
/api/devices/{id}
Retrieve a specific device associated with your account.
/api/devices/{id}
Update a specific device.
Body payload (JSON):
{
"name": "Updated Phone Name", // (optional)
"project_id": 2 // (optional)
}
/api/devices/{id}
Delete a device from your account.
Messages API
/api/message
Retrieve a paginated list of your inbound and outbound messages.
Query Parameters:
device_key(optional) - Filter messages processed by a specific device key.mobile_number(optional) - Filter messages by recipient or sender number.per_page(optional) - Number of results per page (default: 15).
/api/message
Queue an outbound SMS message to be sent via your connected devices.
Body payload (JSON):
{
"mobile_number": "+1234567890", // required
"content": "Hello World!", // required
"device_id": 1, // (optional) Direct to a specific device
"project_id": 1 // (optional) Associate with a project
}
Response:
Returns a 201 Created with the generated Message object.
Its status will initially be set to pending.