Metadata do canal
curl --request GET \
--url https://api.z-api.io/instances/{instanceId}/token/{token}/newsletter/metadata/{newsletterId} \
--header 'Client-Token: <api-key>'import requests
url = "https://api.z-api.io/instances/{instanceId}/token/{token}/newsletter/metadata/{newsletterId}"
headers = {"Client-Token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'Client-Token': '<api-key>'}};
fetch('https://api.z-api.io/instances/{instanceId}/token/{token}/newsletter/metadata/{newsletterId}', 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}/newsletter/metadata/{newsletterId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Client-Token: <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"
"net/http"
"io"
)
func main() {
url := "https://api.z-api.io/instances/{instanceId}/token/{token}/newsletter/metadata/{newsletterId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Client-Token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.z-api.io/instances/{instanceId}/token/{token}/newsletter/metadata/{newsletterId}")
.header("Client-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.z-api.io/instances/{instanceId}/token/{token}/newsletter/metadata/{newsletterId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Client-Token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"creationTime": 123,
"state": "<string>",
"name": "<string>",
"description": "<string>",
"subscribersCount": "<string>",
"inviteLink": "<string>",
"verification": "<string>",
"picture": "<string>",
"preview": "<string>",
"viewMetadata": {
"mute": "<string>",
"role": "<string>"
},
"subscribers": [
{
"id": "<string>",
"phoneNumber": "<string>",
"displayName": "<string>",
"username": "<string>",
"role": "<string>",
"followTime": 123,
"adminProfile": {
"id": "<string>",
"name": "<string>",
"pictureDirectPath": "<string>"
}
}
]
}Newsletter
Metadata do canal
Retorna o metadata do canal com todas as informações
GET
/
instances
/
{instanceId}
/
token
/
{token}
/
newsletter
/
metadata
/
{newsletterId}
Metadata do canal
curl --request GET \
--url https://api.z-api.io/instances/{instanceId}/token/{token}/newsletter/metadata/{newsletterId} \
--header 'Client-Token: <api-key>'import requests
url = "https://api.z-api.io/instances/{instanceId}/token/{token}/newsletter/metadata/{newsletterId}"
headers = {"Client-Token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'Client-Token': '<api-key>'}};
fetch('https://api.z-api.io/instances/{instanceId}/token/{token}/newsletter/metadata/{newsletterId}', 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}/newsletter/metadata/{newsletterId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Client-Token: <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"
"net/http"
"io"
)
func main() {
url := "https://api.z-api.io/instances/{instanceId}/token/{token}/newsletter/metadata/{newsletterId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Client-Token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.z-api.io/instances/{instanceId}/token/{token}/newsletter/metadata/{newsletterId}")
.header("Client-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.z-api.io/instances/{instanceId}/token/{token}/newsletter/metadata/{newsletterId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Client-Token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"creationTime": 123,
"state": "<string>",
"name": "<string>",
"description": "<string>",
"subscribersCount": "<string>",
"inviteLink": "<string>",
"verification": "<string>",
"picture": "<string>",
"preview": "<string>",
"viewMetadata": {
"mute": "<string>",
"role": "<string>"
},
"subscribers": [
{
"id": "<string>",
"phoneNumber": "<string>",
"displayName": "<string>",
"username": "<string>",
"role": "<string>",
"followTime": 123,
"adminProfile": {
"id": "<string>",
"name": "<string>",
"pictureDirectPath": "<string>"
}
}
]
}Conceituação
Este método retorna o metadata do canal com todas as informações do canal e de sua visualização.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.
Path
string
obrigatório
ID do canal
Query Parameters
boolean
Quando enviado como
true, inclui na resposta o campo subscribers com a lista de seguidores do canal. O valor padrão é false.Response
200
string
ID do canal
number
Timestamp de criação do canal
string
Estado do canal (ACTIVE ou NON_EXISTING)
string
Nome do canal
string
Descrição do canal
string
Número de inscritos do canal
string
Link de convite do canal
string
Status de verificação (VERIFIED ou UNVERIFIED)
string
URL da imagem do canal
string
URL da imagem de preview do canal
object
array
Lista com até 9 seguidores do canal. Só é retornada quando o parâmetro
mustGetSubscribers é enviado como true.Mostrar Propriedades
Mostrar Propriedades
string
ID do seguidor (pode ser um número de telefone ou um
@lid)string
Número de telefone do seguidor, quando disponível
string
Nome de exibição do seguidor, quando disponível
string
Nome de usuário do seguidor, quando disponível
string
Papel do seguidor no canal (OWNER, ADMIN ou SUBSCRIBER)
number
Timestamp de quando o usuário começou a seguir o canal, quando disponível
{
"id": "999999999999999999@newsletter",
"creationTime": 1695124988,
"state": "ACTIVE",
"name": "Nome do canal",
"description": "Descrição",
"subscribersCount": "150",
"inviteLink": "https://whatsapp.com/channel/...",
"verification": "VERIFIED",
"picture": "https://...",
"preview": "https://...",
"viewMetadata": {
"mute": "OFF",
"role": "OWNER"
},
"subscribers": [
{
"id": "199690293383294@lid",
"phoneNumber": null,
"displayName": null,
"username": null,
"role": "SUBSCRIBER",
"followTime": null,
"adminProfile": null
}
]
}
O ID do canal sempre deve conter o sufixo @newsletter, pois esse é o padrão utilizado pelo próprio WhatsApp.
O WhatsApp só retorna os seguidores que estiverem na lista de contatos de quem realizou a requisição, e é necessário que quem realiza a requisição seja admin do canal. Além disso, essa listagem retorna no máximo 9 seguidores, o mesmo limite exibido na tela de informações do canal no WhatsApp Web. Para obter a listagem completa de seguidores, utilize o endpoint Listar seguidores do canal.