cURL
curl --request POST \
--url https://{host}/api/sendSeen \
--header 'Content-Type: application/json' \
--header 'apikey: <api-key>' \
--data '
{
"chatId": "5511999999999@c.us",
"session": "my-session",
"messageIds": [
"false_11111111111@c.us_AAAAAAAAAAAAAAAAAAAA"
],
"participant": "5511999999999@c.us"
}
'import requests
url = "https://{host}/api/sendSeen"
payload = {
"chatId": "5511999999999@c.us",
"session": "my-session",
"messageIds": ["false_11111111111@c.us_AAAAAAAAAAAAAAAAAAAA"],
"participant": "5511999999999@c.us"
}
headers = {
"apikey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {apikey: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
chatId: '5511999999999@c.us',
session: 'my-session',
messageIds: ['false_11111111111@c.us_AAAAAAAAAAAAAAAAAAAA'],
participant: '5511999999999@c.us'
})
};
fetch('https://{host}/api/sendSeen', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{host}/api/sendSeen",
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([
'chatId' => '5511999999999@c.us',
'session' => 'my-session',
'messageIds' => [
'false_11111111111@c.us_AAAAAAAAAAAAAAAAAAAA'
],
'participant' => '5511999999999@c.us'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"apikey: <api-key>"
],
]);
$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 := "https://{host}/api/sendSeen"
payload := strings.NewReader("{\n \"chatId\": \"5511999999999@c.us\",\n \"session\": \"my-session\",\n \"messageIds\": [\n \"false_11111111111@c.us_AAAAAAAAAAAAAAAAAAAA\"\n ],\n \"participant\": \"5511999999999@c.us\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("apikey", "<api-key>")
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("https://{host}/api/sendSeen")
.header("apikey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"chatId\": \"5511999999999@c.us\",\n \"session\": \"my-session\",\n \"messageIds\": [\n \"false_11111111111@c.us_AAAAAAAAAAAAAAAAAAAA\"\n ],\n \"participant\": \"5511999999999@c.us\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{host}/api/sendSeen")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["apikey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"chatId\": \"5511999999999@c.us\",\n \"session\": \"my-session\",\n \"messageIds\": [\n \"false_11111111111@c.us_AAAAAAAAAAAAAAAAAAAA\"\n ],\n \"participant\": \"5511999999999@c.us\"\n}"
response = http.request(request)
puts response.read_body{
"success": true
}
Messaging
Mark as Seen
Mark messages as seen (read)
POST
/
api
/
sendSeen
cURL
curl --request POST \
--url https://{host}/api/sendSeen \
--header 'Content-Type: application/json' \
--header 'apikey: <api-key>' \
--data '
{
"chatId": "5511999999999@c.us",
"session": "my-session",
"messageIds": [
"false_11111111111@c.us_AAAAAAAAAAAAAAAAAAAA"
],
"participant": "5511999999999@c.us"
}
'import requests
url = "https://{host}/api/sendSeen"
payload = {
"chatId": "5511999999999@c.us",
"session": "my-session",
"messageIds": ["false_11111111111@c.us_AAAAAAAAAAAAAAAAAAAA"],
"participant": "5511999999999@c.us"
}
headers = {
"apikey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {apikey: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
chatId: '5511999999999@c.us',
session: 'my-session',
messageIds: ['false_11111111111@c.us_AAAAAAAAAAAAAAAAAAAA'],
participant: '5511999999999@c.us'
})
};
fetch('https://{host}/api/sendSeen', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{host}/api/sendSeen",
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([
'chatId' => '5511999999999@c.us',
'session' => 'my-session',
'messageIds' => [
'false_11111111111@c.us_AAAAAAAAAAAAAAAAAAAA'
],
'participant' => '5511999999999@c.us'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"apikey: <api-key>"
],
]);
$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 := "https://{host}/api/sendSeen"
payload := strings.NewReader("{\n \"chatId\": \"5511999999999@c.us\",\n \"session\": \"my-session\",\n \"messageIds\": [\n \"false_11111111111@c.us_AAAAAAAAAAAAAAAAAAAA\"\n ],\n \"participant\": \"5511999999999@c.us\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("apikey", "<api-key>")
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("https://{host}/api/sendSeen")
.header("apikey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"chatId\": \"5511999999999@c.us\",\n \"session\": \"my-session\",\n \"messageIds\": [\n \"false_11111111111@c.us_AAAAAAAAAAAAAAAAAAAA\"\n ],\n \"participant\": \"5511999999999@c.us\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{host}/api/sendSeen")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["apikey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"chatId\": \"5511999999999@c.us\",\n \"session\": \"my-session\",\n \"messageIds\": [\n \"false_11111111111@c.us_AAAAAAAAAAAAAAAAAAAA\"\n ],\n \"participant\": \"5511999999999@c.us\"\n}"
response = http.request(request)
puts response.read_body{
"success": true
}
Description
This endpoint allows marking one or more messages as seen (read), sending read confirmations (blue checkmarks) to the sender. Useful for automations that need to confirm the reading of received messages.Body
{
"sessionId": "my-session",
"jid": "5511999999999@s.whatsapp.net",
"messageIds": [
"3EB0XXXXXX"
]
}
Body Parameters
| Property | Type | Required | Description |
|---|---|---|---|
sessionId | string | ✅ Yes | Authenticated session ID that will mark the messages |
jid | string | ✅ Yes | Chat identifier (WhatsApp JID). Format: 5511999999999@s.whatsapp.net for contacts or 120363XXXXX@g.us for groups |
messageIds | array | ✅ Yes | Array of message IDs to be marked as seen |
{
"success": true
}
Status Codes
200- Mensagens marcadas como vistas com sucesso400- Invalid parameters401- Unauthorized session404- Session not found
Usage Example
curl -X POST https://api.wappfy.com.br/api/sendSeen \
-H "Content-Type: application/json" \
-d '{
"sessionId": "my-session",
"jid": "5511999999999@s.whatsapp.net",
"messageIds": ["3EB0XXXXXX", "3EB0YYYYYY"]
}'
const response = await fetch('https://api.wappfy.com.br/api/sendSeen', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
sessionId: 'my-session',
jid: '5511999999999@s.whatsapp.net',
messageIds: ['3EB0XXXXXX', '3EB0YYYYYY']
})
});
const data = await response.json();
console.log(data);
import requests
response = requests.post(
'https://api.wappfy.com.br/api/sendSeen',
json={
'sessionId': 'my-session',
'jid': '5511999999999@s.whatsapp.net',
'messageIds': ['3EB0XXXXXX', '3EB0YYYYYY']
}
)
data = response.json()
print(data)
Authorizations
Your Wappfy API key (get it at dash.wappfy.com.br)
Body
application/json
Response
201 - application/json
The response is of type object.
⌘I
