Criando grupos
curl --request POST \
--url https://api.z-api.io/instances/{instanceId}/token/{token}/create-group \
--header 'Client-Token: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"autoInvite": true,
"groupName": "<string>",
"phones": [
{}
]
}
'import requests
url = "https://api.z-api.io/instances/{instanceId}/token/{token}/create-group"
payload = {
"autoInvite": True,
"groupName": "<string>",
"phones": [{}]
}
headers = {
"Client-Token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Client-Token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({autoInvite: true, groupName: '<string>', phones: [{}]})
};
fetch('https://api.z-api.io/instances/{instanceId}/token/{token}/create-group', 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://api.z-api.io/instances/{instanceId}/token/{token}/create-group",
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([
'autoInvite' => true,
'groupName' => '<string>',
'phones' => [
[
]
]
]),
CURLOPT_HTTPHEADER => [
"Client-Token: <api-key>",
"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 := "https://api.z-api.io/instances/{instanceId}/token/{token}/create-group"
payload := strings.NewReader("{\n \"autoInvite\": true,\n \"groupName\": \"<string>\",\n \"phones\": [\n {}\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Client-Token", "<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://api.z-api.io/instances/{instanceId}/token/{token}/create-group")
.header("Client-Token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"autoInvite\": true,\n \"groupName\": \"<string>\",\n \"phones\": [\n {}\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.z-api.io/instances/{instanceId}/token/{token}/create-group")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Client-Token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"autoInvite\": true,\n \"groupName\": \"<string>\",\n \"phones\": [\n {}\n ]\n}"
response = http.request(request)
puts response.read_body{
"phone": "<string>",
"phonesNotAdded": [
{}
],
"invitationLink": "<string>"
}Groups
Criando grupos
Cria um grupo com seus respectivos participantes
POST
/
instances
/
{instanceId}
/
token
/
{token}
/
create-group
Criando grupos
curl --request POST \
--url https://api.z-api.io/instances/{instanceId}/token/{token}/create-group \
--header 'Client-Token: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"autoInvite": true,
"groupName": "<string>",
"phones": [
{}
]
}
'import requests
url = "https://api.z-api.io/instances/{instanceId}/token/{token}/create-group"
payload = {
"autoInvite": True,
"groupName": "<string>",
"phones": [{}]
}
headers = {
"Client-Token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Client-Token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({autoInvite: true, groupName: '<string>', phones: [{}]})
};
fetch('https://api.z-api.io/instances/{instanceId}/token/{token}/create-group', 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://api.z-api.io/instances/{instanceId}/token/{token}/create-group",
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([
'autoInvite' => true,
'groupName' => '<string>',
'phones' => [
[
]
]
]),
CURLOPT_HTTPHEADER => [
"Client-Token: <api-key>",
"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 := "https://api.z-api.io/instances/{instanceId}/token/{token}/create-group"
payload := strings.NewReader("{\n \"autoInvite\": true,\n \"groupName\": \"<string>\",\n \"phones\": [\n {}\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Client-Token", "<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://api.z-api.io/instances/{instanceId}/token/{token}/create-group")
.header("Client-Token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"autoInvite\": true,\n \"groupName\": \"<string>\",\n \"phones\": [\n {}\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.z-api.io/instances/{instanceId}/token/{token}/create-group")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Client-Token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"autoInvite\": true,\n \"groupName\": \"<string>\",\n \"phones\": [\n {}\n ]\n}"
response = http.request(request)
puts response.read_body{
"phone": "<string>",
"phonesNotAdded": [
{}
],
"invitationLink": "<string>"
}Conceituação
Este método é responsável por criar um grupo com seus respectivos participantes.Não é possível adicionar imagem durante a criação, mas você pode adicioná-la depois utilizando o método de atualizar imagem do grupo.
Você não deve passar o número conectado na lista de participantes. É necessário pelo menos um contato para criar o grupo, assim como no WhatsApp Web.
Ao criar um novo grupo, é necessário utilizar exclusivamente números de telefone. A identificação @lid não é compatível com a criação de grupos — caso seja enviada, o grupo será criado normalmente, porém o participante com @lid não será incluído e seu identificador será retornado no campo
phonesNotAdded.Atributos
Header
string
obrigatório
ID da sua instância. Disponível no painel Z-API em Instâncias.
string
obrigatório
Token da sua instância Z-API.
Obrigatórios
boolean
obrigatório
Define se será enviado um convite privado para os participantes que não puderem ser adicionados diretamente
string
obrigatório
Nome do grupo
array
obrigatório
Lista de números de telefone dos participantes
Request Body
{
"autoInvite": true,
"groupName": "Grupo Z-API",
"phones": ["5544999999999", "5544888888888"]
}
Response
200
string
ID/Phone do grupo criado
array
Lista de identificadores que não foram adicionados ao grupo. Um participante pode aparecer aqui por dois motivos:
- Uso de @lid: identificadores no formato
@lidnão são suportados na criação de grupos. O grupo será criado normalmente, mas o participante com @lid ficará de fora e seu identificador será listado aqui. - Falta de permissão (autoInvite): quando um número não pode ser adicionado diretamente ao grupo e
autoInviteestá habilitado, um convite privado é enviado a ele. Enquanto o convite não é aceito, o número é retornado neste campo.
string
Link de convite do grupo
{
"phone": "120363019502650977-group",
"phonesNotAdded": [
"2111897971174599@lid",
"5544777777777"
],
"invitationLink": "https://chat.whatsapp.com/GONwbGGDkLe8BifUWwLgct"
}