Send a message
curl --request POST \
--url http://localhost:8080/api/messages/send \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"bot_id": 1,
"chat_id": -100123456789,
"text": "Hello from BotMux!"
}
'import requests
url = "http://localhost:8080/api/messages/send"
payload = {
"bot_id": 1,
"chat_id": -100123456789,
"text": "Hello from BotMux!"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({bot_id: 1, chat_id: -100123456789, text: 'Hello from BotMux!'})
};
fetch('http://localhost:8080/api/messages/send', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "8080",
CURLOPT_URL => "http://localhost:8080/api/messages/send",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'bot_id' => 1,
'chat_id' => -100123456789,
'text' => 'Hello from BotMux!'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://localhost:8080/api/messages/send"
payload := strings.NewReader("{\n \"bot_id\": 1,\n \"chat_id\": -100123456789,\n \"text\": \"Hello from BotMux!\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("http://localhost:8080/api/messages/send")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"bot_id\": 1,\n \"chat_id\": -100123456789,\n \"text\": \"Hello from BotMux!\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:8080/api/messages/send")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"bot_id\": 1,\n \"chat_id\": -100123456789,\n \"text\": \"Hello from BotMux!\"\n}"
response = http.request(request)
puts response.read_body{
"id": 123,
"chat_id": 123,
"bot_id": 123,
"user_id": 123,
"username": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"text": "<string>",
"date": 123,
"media_type": "<string>",
"file_id": "<string>",
"reply_to_message_id": 123
}{
"error": "bot not found"
}{
"error": "bot not found"
}Messages
Send Message
Sends a message via the specified bot to the specified chat. Optionally replies to an existing message.
POST
/
api
/
messages
/
send
Send a message
curl --request POST \
--url http://localhost:8080/api/messages/send \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"bot_id": 1,
"chat_id": -100123456789,
"text": "Hello from BotMux!"
}
'import requests
url = "http://localhost:8080/api/messages/send"
payload = {
"bot_id": 1,
"chat_id": -100123456789,
"text": "Hello from BotMux!"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({bot_id: 1, chat_id: -100123456789, text: 'Hello from BotMux!'})
};
fetch('http://localhost:8080/api/messages/send', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "8080",
CURLOPT_URL => "http://localhost:8080/api/messages/send",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'bot_id' => 1,
'chat_id' => -100123456789,
'text' => 'Hello from BotMux!'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://localhost:8080/api/messages/send"
payload := strings.NewReader("{\n \"bot_id\": 1,\n \"chat_id\": -100123456789,\n \"text\": \"Hello from BotMux!\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("http://localhost:8080/api/messages/send")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"bot_id\": 1,\n \"chat_id\": -100123456789,\n \"text\": \"Hello from BotMux!\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:8080/api/messages/send")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"bot_id\": 1,\n \"chat_id\": -100123456789,\n \"text\": \"Hello from BotMux!\"\n}"
response = http.request(request)
puts response.read_body{
"id": 123,
"chat_id": 123,
"bot_id": 123,
"user_id": 123,
"username": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"text": "<string>",
"date": 123,
"media_type": "<string>",
"file_id": "<string>",
"reply_to_message_id": 123
}{
"error": "bot not found"
}{
"error": "bot not found"
}Authorizations
BearerAuthCookieAuth
API key with bmx_ prefix. Obtain via /api/auth/api-keys.
Body
application/json
Response
Message sent and saved
Telegram message ID
Chat ID
Bot ID that received/sent this message
Sender user ID
Sender username
Sender first name
Sender last name
Message text content
Unix timestamp of the message
Media type if the message contains media (photo, video, animation, sticker, voice, audio, document, video_note) or callback for inline button interactions tracked as synthetic messages
Telegram file ID for media messages
ID of the message this is a reply to
Was this page helpful?
⌘I