POST group Create a group and post to it
The group will be added to the queue for sending and sooner or later it
will be created, even if the phone is disconnected from the Internet or
the authorization is not passed.
2 Oct 2018 update: chatId parameter will be returned if group was
created on your phone within 20 second.
https://api.replier.net/group
Parameters
| Name | Type | Description |
|---|---|---|
| instanceid required | string |
The instance sending the request. You will find it beside the instance in your dashboard.
Example:
YOUR_INSTANCE_ID
|
| token required | string |
The API token of that instance. Treat it as a secret: it authorises every call below.
Example:
YOUR_INSTANCE_TOKEN
|
| groupName required | string |
Name for the new WhatsApp group.
Example:
Project team
|
| phones required | string |
Members to add on creation, comma separated, in international format.
Example:
447700900123
|
Request test
sends a real request
Request samples
curl --request POST \
--url 'https://api.replier.net/group' \
--data-urlencode 'instanceid=YOUR_INSTANCE_ID' \
--data-urlencode 'token=YOUR_INSTANCE_TOKEN' \
--data-urlencode 'groupName=Project team' \
--data-urlencode 'phones=447700900123'
<?php
$payload = [
'instanceid' => 'YOUR_INSTANCE_ID',
'token' => 'YOUR_INSTANCE_TOKEN',
'groupName' => 'Project team',
'phones' => '447700900123',
];
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => 'https://api.replier.net/group',
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/group'
payload = {
'instanceid': 'YOUR_INSTANCE_ID',
'token': 'YOUR_INSTANCE_TOKEN',
'groupName': 'Project team',
'phones': '447700900123',
}
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/group';
const payload = new URLSearchParams({
instanceid: 'YOUR_INSTANCE_ID',
token: 'YOUR_INSTANCE_TOKEN',
groupName: 'Project team',
phones: '447700900123',
});
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',
groupName: 'Project team',
phones: '447700900123',
});
(async () => {
try {
const { data } = await axios.post('https://api.replier.net/group', 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/group',
method: 'POST',
data: {
instanceid: 'YOUR_INSTANCE_ID',
token: 'YOUR_INSTANCE_TOKEN',
groupName: 'Project team',
phones: '447700900123',
},
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" },
{ "groupName", "Project team" },
{ "phones", "447700900123" },
};
var response = await client.PostAsync("https://api.replier.net/group", 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("groupName", "Project team");
form.add("phones", "447700900123");
Request request = new Request.Builder()
.url("https://api.replier.net/group")
.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/group')
response = Net::HTTP.post_form(uri, {
'instanceid' => 'YOUR_INSTANCE_ID',
'token' => 'YOUR_INSTANCE_TOKEN',
'groupName' => 'Project team',
'phones' => '447700900123',
})
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("groupName", "Project team")
form.Set("phones", "447700900123")
resp, err := http.Post(
"https://api.replier.net/group",
"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"]
}