POST messages Get a list of messages.
To receive only new messages, pass the **lastMessageNumber** parameter
from the last query.
Files from messages are guaranteed to be stored only for 30 days and can
be deleted. Download the files as soon as you get to your server.
https://api.replier.net/messages
Parameters
| Name | Type | Description |
|---|---|---|
| instanceid required | string |
The lastMessageNumber parameter from the last response
Example:
YOUR_INSTANCE_ID
|
| token required | string |
Displays the last 100 messages. If this parameter is passed, then lastMessageNumber is ignored.
Example:
YOUR_INSTANCE_TOKEN
|
| phone required | string |
Destination in international format with no plus sign or leading zeros, for example 447700900123. A chat id is also accepted: 447700900123@c.us for a person, 447700900123-1600000000@g.us for a group.
Example:
15407996364@c.us
|
| lastMessageNumber required | string |
Filter messages by chatId
Chat ID from the message list. Examples: 17633123456@c.us for private messages and 17680561234-1479621234@g.us for the group.
Example:
43616316
|
| limit optional | integer |
How many records to return. Omit or pass 0 for no limit.
Example:
-37919444
|
Request test
sends a real request
Request samples
curl --request POST \
--url 'https://api.replier.net/messages' \
--data-urlencode 'instanceid=YOUR_INSTANCE_ID' \
--data-urlencode 'token=YOUR_INSTANCE_TOKEN' \
--data-urlencode 'phone=15407996364@c.us' \
--data-urlencode 'lastMessageNumber=43616316' \
--data-urlencode 'limit=-37919444'
<?php
$payload = [
'instanceid' => 'YOUR_INSTANCE_ID',
'token' => 'YOUR_INSTANCE_TOKEN',
'phone' => '15407996364@c.us',
'lastMessageNumber' => '43616316',
'limit' => '-37919444',
];
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => 'https://api.replier.net/messages',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query($payload),
]);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error !== '') {
throw new RuntimeException($error);
}
$result = json_decode($response, true);
// Every endpoint answers with {"success": bool, "msg": [...]} on failure.
if (isset($result['success']) && $result['success'] === false) {
throw new RuntimeException('API error ' . implode(', ', $result['msg']));
}
print_r($result);
import requests
url = 'https://api.replier.net/messages'
payload = {
'instanceid': 'YOUR_INSTANCE_ID',
'token': 'YOUR_INSTANCE_TOKEN',
'phone': '15407996364@c.us',
'lastMessageNumber': '43616316',
'limit': '-37919444',
}
response = requests.post(url, data=payload, timeout=30)
response.raise_for_status()
result = response.json()
if result.get('success') is False:
raise RuntimeError('API error: %s' % result.get('msg'))
print(result)
const url = 'https://api.replier.net/messages';
const payload = new URLSearchParams({
instanceid: 'YOUR_INSTANCE_ID',
token: 'YOUR_INSTANCE_TOKEN',
phone: '15407996364@c.us',
lastMessageNumber: '43616316',
limit: '-37919444',
});
const response = await fetch(url, {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: payload,
});
const result = await response.json();
if (result.success === false) {
throw new Error(`API error: ${result.msg.join(', ')}`);
}
console.log(result);
const axios = require('axios');
const payload = new URLSearchParams({
instanceid: 'YOUR_INSTANCE_ID',
token: 'YOUR_INSTANCE_TOKEN',
phone: '15407996364@c.us',
lastMessageNumber: '43616316',
limit: '-37919444',
});
(async () => {
try {
const { data } = await axios.post('https://api.replier.net/messages', payload, { timeout: 30000 });
if (data.success === false) {
throw new Error(`API error: ${data.msg.join(', ')}`);
}
console.log(data);
} catch (err) {
console.error(err.message);
}
})();
$.ajax({
url: 'https://api.replier.net/messages',
method: 'POST',
data: {
instanceid: 'YOUR_INSTANCE_ID',
token: 'YOUR_INSTANCE_TOKEN',
phone: '15407996364@c.us',
lastMessageNumber: '43616316',
limit: '-37919444',
},
dataType: 'json',
})
.done(function (result) {
if (result.success === false) {
console.error('API error: ' + result.msg.join(', '));
return;
}
console.log(result);
})
.fail(function (xhr) {
console.error(xhr.status, xhr.responseText);
});
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static readonly HttpClient client = new HttpClient();
static async Task Main()
{
var payload = new Dictionary<string, string>
{
{ "instanceid", "YOUR_INSTANCE_ID" },
{ "token", "YOUR_INSTANCE_TOKEN" },
{ "phone", "15407996364@c.us" },
{ "lastMessageNumber", "43616316" },
{ "limit", "-37919444" },
};
var response = await client.PostAsync("https://api.replier.net/messages", new FormUrlEncodedContent(payload));
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
}
import java.io.IOException;
import okhttp3.*;
public class Example {
public static void main(String[] args) throws IOException {
OkHttpClient client = new OkHttpClient();
FormBody.Builder form = new FormBody.Builder();
form.add("instanceid", "YOUR_INSTANCE_ID");
form.add("token", "YOUR_INSTANCE_TOKEN");
form.add("phone", "15407996364@c.us");
form.add("lastMessageNumber", "43616316");
form.add("limit", "-37919444");
Request request = new Request.Builder()
.url("https://api.replier.net/messages")
.post(form.build())
.build();
try (Response response = client.newCall(request).execute()) {
System.out.println(response.body().string());
}
}
}
require 'net/http'
require 'json'
require 'uri'
uri = URI('https://api.replier.net/messages')
response = Net::HTTP.post_form(uri, {
'instanceid' => 'YOUR_INSTANCE_ID',
'token' => 'YOUR_INSTANCE_TOKEN',
'phone' => '15407996364@c.us',
'lastMessageNumber' => '43616316',
'limit' => '-37919444',
})
result = JSON.parse(response.body)
raise "API error: #{result['msg'].join(', ')}" if result['success'] == false
puts result
package main
import (
"fmt"
"io"
"net/http"
"net/url"
"strings"
)
func main() {
form := url.Values{}
form.Set("instanceid", "YOUR_INSTANCE_ID")
form.Set("token", "YOUR_INSTANCE_TOKEN")
form.Set("phone", "15407996364@c.us")
form.Set("lastMessageNumber", "43616316")
form.Set("limit", "-37919444")
resp, err := http.Post(
"https://api.replier.net/messages",
"application/x-www-form-urlencoded",
strings.NewReader(form.Encode()),
)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println(string(body))
}
Samples use POST with a form-encoded body so credentials stay out of the URL. The API reads JSON bodies, form bodies and query strings alike. A GET with the same parameters in the query string works too.
Response
On failure, every endpoint answers with HTTP 200 and this envelope, where the string is a code from the error reference:
{
"success": false,
"msg": ["0008"]
}