curl -X GET https://zapclass.com.br/api/groups/invite-link/120363153742561022@g.us \
-H "Content-Type: application/json" \
-H "Authorization: Bearer zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aP"
INVITE_LINK=$(curl -s -X GET https://zapclass.com.br/api/groups/invite-link/120363153742561022@g.us \
-H "Content-Type: application/json" \
-H "Authorization: Bearer zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aP" \
| jq -r '.invite-link')
echo "Link de convite: $INVITE_LINK"
const groupJID = "120363153742561022@g.us";
const response = await fetch(
`https://zapclass.com.br/api/groups/invite-link/${groupJID}`,
{
method: "GET",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aP",
},
}
);
const data = await response.json();
if (data.success) {
console.log("Link de convite:", data.invite-link);
console.log("Código:", data.inviteCode);
}
async function getAndCopyinvite-link(groupJID) {
const response = await fetch(
`https://zapclass.com.br/api/groups/invite-link/${groupJID}`,
{
method: "GET",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aP",
},
}
);
const data = await response.json();
if (!data.success) {
throw new Error(data.message);
}
// Copiar para clipboard (navegador)
if (navigator.clipboard) {
await navigator.clipboard.writeText(data.invite-link);
console.log("✓ Link copiado para a área de transferência");
}
return data.invite-link;
}
// Uso
try {
const link = await getAndCopyinvite-link("120363153742561022@g.us");
console.log("Link:", link);
} catch (error) {
console.error("Erro:", error.message);
}
async function generateInviteQRCode(groupJID) {
const response = await fetch(
`https://zapclass.com.br/api/groups/invite-link/${groupJID}`,
{
method: "GET",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aP",
},
}
);
const data = await response.json();
if (!data.success) {
throw new Error(data.message);
}
// Gera URL de QR Code usando API externa
const qrCodeUrl = `https://api.qrserver.com/v1/create-qr-code/?size=300x300&data=${encodeURIComponent(
data.invite-link
)}`;
return {
invite-link: data.invite-link,
qrCodeUrl: qrCodeUrl,
};
}
// Uso
const result = await generateInviteQRCode("120363153742561022@g.us");
console.log("Link:", result.invite-link);
console.log("QR Code:", result.qrCodeUrl);
async function getinvite-links(groupJIDs) {
const results = await Promise.all(
groupJIDs.map(async (groupJID) => {
try {
const response = await fetch(
`https://zapclass.com.br/api/groups/invite-link/${groupJID}`,
{
method: "GET",
headers: {
"Content-Type": "application/json",
Authorization:
"Bearer zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aP",
},
}
);
const data = await response.json();
return {
groupJID,
success: data.success,
invite-link: data.invite-link || null,
error: data.message || null,
};
} catch (error) {
return {
groupJID,
success: false,
invite-link: null,
error: error.message,
};
}
})
);
return results;
}
// Uso
const groups = [
"120363153742561022@g.us",
"120363153742561023@g.us",
"120363153742561024@g.us",
];
const links = await getinvite-links(groups);
links.forEach((result) => {
if (result.success) {
console.log(`✓ ${result.groupJID}: ${result.invite-link}`);
} else {
console.log(`✗ ${result.groupJID}: ${result.error}`);
}
});
<?php
$groupJID = "120363153742561022@g.us";
$url = "https://zapclass.com.br/api/groups/invite-link/" . urlencode($groupJID);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Authorization: Bearer zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aP'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$data = json_decode($response, true);
if ($data['success']) {
echo "Link de convite: {$data['invite-link']}\n";
echo "Código: {$data['inviteCode']}";
} else {
echo "Erro: " . $data['message'];
}
curl_close($ch);
?>
<?php
function sendGroupInviteByEmail($groupJID, $recipientEmail, $groupName) {
$url = "https://zapclass.com.br/api/groups/invite-link/" . urlencode($groupJID);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Authorization: Bearer zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aP'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$data = json_decode($response, true);
curl_close($ch);
if (!$data['success']) {
throw new Exception($data['message']);
}
// Envia email (exemplo com mail())
$to = $recipientEmail;
$subject = "Convite para o grupo: $groupName";
$message = "Você foi convidado para participar do grupo '$groupName'.\n\n";
$message .= "Clique no link abaixo para entrar:\n";
$message .= $data['invite-link'];
$headers = "From: noreply@seudominio.com";
if (mail($to, $subject, $message, $headers)) {
return [
'sent' => true,
'invite-link' => $data['invite-link']
];
} else {
throw new Exception("Falha ao enviar email");
}
}
// Uso
try {
$result = sendGroupInviteByEmail(
"120363153742561022@g.us",
"usuario@example.com",
"Equipe de Vendas"
);
echo "Convite enviado com sucesso!\n";
echo "Link: {$result['invite-link']}";
} catch (Exception $e) {
echo "Erro: " . $e->getMessage();
}
?>
<?php
class GroupInviteManager {
private $token;
private $baseUrl = 'https://zapclass.com.br/api';
public function __construct($token) {
$this->token = $token;
}
public function getinvite-link($groupJID) {
$url = $this->baseUrl . '/groups/invite-link/' . urlencode($groupJID);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
"Authorization: Bearer {$this->token}"
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
if (!$data['success']) {
throw new Exception($data['message']);
}
return [
'link' => $data['invite-link'],
'code' => $data['inviteCode']
];
}
public function generateQRCode($groupJID, $size = 300) {
$invite = $this->getinvite-link($groupJID);
return [
'invite-link' => $invite['link'],
'qrCodeUrl' => "https://api.qrserver.com/v1/create-qr-code/?size={$size}x{$size}&data=" . urlencode($invite['link'])
];
}
public function getInviteHTML($groupJID, $groupName) {
$invite = $this->getinvite-link($groupJID);
return "
<div style='text-align: center; padding: 20px;'>
<h2>Convite para {$groupName}</h2>
<p>Clique no link abaixo para entrar no grupo:</p>
<a href='{$invite['link']}' style='display: inline-block; padding: 10px 20px; background: #25D366; color: white; text-decoration: none; border-radius: 5px;'>
Entrar no Grupo
</a>
</div>
";
}
}
// Uso
$manager = new GroupInviteManager('zt_BppKZWtzvj1X2SbJAuOSkA0Z63uDBQ0wkb28NJaloKeOUnHk');
try {
// Gerar link
$invite = $manager->getinvite-link("120363153742561022@g.us");
echo "Link: {$invite['link']}\n\n";
// Gerar QR Code
$qr = $manager->generateQRCode("120363153742561022@g.us");
echo "QR Code: {$qr['qrCodeUrl']}\n\n";
// Gerar HTML
$html = $manager->getInviteHTML("120363153742561022@g.us", "Meu Grupo");
file_put_contents('invite.html', $html);
echo "HTML gerado em invite.html";
} catch (Exception $e) {
echo "Erro: " . $e->getMessage();
}
?>
{
"success": true,
"invite-link": "https://chat.whatsapp.com/AbCdEfGhIjKlMnOpQrSt",
"inviteCode": "AbCdEfGhIjKlMnOpQrSt",
"groupJID": "120363153742561022@g.us"
}
{
"success": false,
"message": "Group JID inválido ou mal formatado"
}
{
"success": false,
"message": "Você precisa ser administrador do grupo para gerar o link de convite"
}
{
"success": false,
"message": "Grupo não encontrado ou você não é membro"
}
{
"success": false,
"message": "Erro ao gerar link de convite"
}
Grupos
Gerar Link de Convite
Gerar ou recuperar link de convite de um grupo
GET
/
groups
/
invite-link
/
:groupJID
curl -X GET https://zapclass.com.br/api/groups/invite-link/120363153742561022@g.us \
-H "Content-Type: application/json" \
-H "Authorization: Bearer zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aP"
INVITE_LINK=$(curl -s -X GET https://zapclass.com.br/api/groups/invite-link/120363153742561022@g.us \
-H "Content-Type: application/json" \
-H "Authorization: Bearer zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aP" \
| jq -r '.invite-link')
echo "Link de convite: $INVITE_LINK"
const groupJID = "120363153742561022@g.us";
const response = await fetch(
`https://zapclass.com.br/api/groups/invite-link/${groupJID}`,
{
method: "GET",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aP",
},
}
);
const data = await response.json();
if (data.success) {
console.log("Link de convite:", data.invite-link);
console.log("Código:", data.inviteCode);
}
async function getAndCopyinvite-link(groupJID) {
const response = await fetch(
`https://zapclass.com.br/api/groups/invite-link/${groupJID}`,
{
method: "GET",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aP",
},
}
);
const data = await response.json();
if (!data.success) {
throw new Error(data.message);
}
// Copiar para clipboard (navegador)
if (navigator.clipboard) {
await navigator.clipboard.writeText(data.invite-link);
console.log("✓ Link copiado para a área de transferência");
}
return data.invite-link;
}
// Uso
try {
const link = await getAndCopyinvite-link("120363153742561022@g.us");
console.log("Link:", link);
} catch (error) {
console.error("Erro:", error.message);
}
async function generateInviteQRCode(groupJID) {
const response = await fetch(
`https://zapclass.com.br/api/groups/invite-link/${groupJID}`,
{
method: "GET",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aP",
},
}
);
const data = await response.json();
if (!data.success) {
throw new Error(data.message);
}
// Gera URL de QR Code usando API externa
const qrCodeUrl = `https://api.qrserver.com/v1/create-qr-code/?size=300x300&data=${encodeURIComponent(
data.invite-link
)}`;
return {
invite-link: data.invite-link,
qrCodeUrl: qrCodeUrl,
};
}
// Uso
const result = await generateInviteQRCode("120363153742561022@g.us");
console.log("Link:", result.invite-link);
console.log("QR Code:", result.qrCodeUrl);
async function getinvite-links(groupJIDs) {
const results = await Promise.all(
groupJIDs.map(async (groupJID) => {
try {
const response = await fetch(
`https://zapclass.com.br/api/groups/invite-link/${groupJID}`,
{
method: "GET",
headers: {
"Content-Type": "application/json",
Authorization:
"Bearer zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aP",
},
}
);
const data = await response.json();
return {
groupJID,
success: data.success,
invite-link: data.invite-link || null,
error: data.message || null,
};
} catch (error) {
return {
groupJID,
success: false,
invite-link: null,
error: error.message,
};
}
})
);
return results;
}
// Uso
const groups = [
"120363153742561022@g.us",
"120363153742561023@g.us",
"120363153742561024@g.us",
];
const links = await getinvite-links(groups);
links.forEach((result) => {
if (result.success) {
console.log(`✓ ${result.groupJID}: ${result.invite-link}`);
} else {
console.log(`✗ ${result.groupJID}: ${result.error}`);
}
});
<?php
$groupJID = "120363153742561022@g.us";
$url = "https://zapclass.com.br/api/groups/invite-link/" . urlencode($groupJID);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Authorization: Bearer zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aP'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$data = json_decode($response, true);
if ($data['success']) {
echo "Link de convite: {$data['invite-link']}\n";
echo "Código: {$data['inviteCode']}";
} else {
echo "Erro: " . $data['message'];
}
curl_close($ch);
?>
<?php
function sendGroupInviteByEmail($groupJID, $recipientEmail, $groupName) {
$url = "https://zapclass.com.br/api/groups/invite-link/" . urlencode($groupJID);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Authorization: Bearer zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aP'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$data = json_decode($response, true);
curl_close($ch);
if (!$data['success']) {
throw new Exception($data['message']);
}
// Envia email (exemplo com mail())
$to = $recipientEmail;
$subject = "Convite para o grupo: $groupName";
$message = "Você foi convidado para participar do grupo '$groupName'.\n\n";
$message .= "Clique no link abaixo para entrar:\n";
$message .= $data['invite-link'];
$headers = "From: noreply@seudominio.com";
if (mail($to, $subject, $message, $headers)) {
return [
'sent' => true,
'invite-link' => $data['invite-link']
];
} else {
throw new Exception("Falha ao enviar email");
}
}
// Uso
try {
$result = sendGroupInviteByEmail(
"120363153742561022@g.us",
"usuario@example.com",
"Equipe de Vendas"
);
echo "Convite enviado com sucesso!\n";
echo "Link: {$result['invite-link']}";
} catch (Exception $e) {
echo "Erro: " . $e->getMessage();
}
?>
<?php
class GroupInviteManager {
private $token;
private $baseUrl = 'https://zapclass.com.br/api';
public function __construct($token) {
$this->token = $token;
}
public function getinvite-link($groupJID) {
$url = $this->baseUrl . '/groups/invite-link/' . urlencode($groupJID);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
"Authorization: Bearer {$this->token}"
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
if (!$data['success']) {
throw new Exception($data['message']);
}
return [
'link' => $data['invite-link'],
'code' => $data['inviteCode']
];
}
public function generateQRCode($groupJID, $size = 300) {
$invite = $this->getinvite-link($groupJID);
return [
'invite-link' => $invite['link'],
'qrCodeUrl' => "https://api.qrserver.com/v1/create-qr-code/?size={$size}x{$size}&data=" . urlencode($invite['link'])
];
}
public function getInviteHTML($groupJID, $groupName) {
$invite = $this->getinvite-link($groupJID);
return "
<div style='text-align: center; padding: 20px;'>
<h2>Convite para {$groupName}</h2>
<p>Clique no link abaixo para entrar no grupo:</p>
<a href='{$invite['link']}' style='display: inline-block; padding: 10px 20px; background: #25D366; color: white; text-decoration: none; border-radius: 5px;'>
Entrar no Grupo
</a>
</div>
";
}
}
// Uso
$manager = new GroupInviteManager('zt_BppKZWtzvj1X2SbJAuOSkA0Z63uDBQ0wkb28NJaloKeOUnHk');
try {
// Gerar link
$invite = $manager->getinvite-link("120363153742561022@g.us");
echo "Link: {$invite['link']}\n\n";
// Gerar QR Code
$qr = $manager->generateQRCode("120363153742561022@g.us");
echo "QR Code: {$qr['qrCodeUrl']}\n\n";
// Gerar HTML
$html = $manager->getInviteHTML("120363153742561022@g.us", "Meu Grupo");
file_put_contents('invite.html', $html);
echo "HTML gerado em invite.html";
} catch (Exception $e) {
echo "Erro: " . $e->getMessage();
}
?>
{
"success": true,
"invite-link": "https://chat.whatsapp.com/AbCdEfGhIjKlMnOpQrSt",
"inviteCode": "AbCdEfGhIjKlMnOpQrSt",
"groupJID": "120363153742561022@g.us"
}
{
"success": false,
"message": "Group JID inválido ou mal formatado"
}
{
"success": false,
"message": "Você precisa ser administrador do grupo para gerar o link de convite"
}
{
"success": false,
"message": "Grupo não encontrado ou você não é membro"
}
{
"success": false,
"message": "Erro ao gerar link de convite"
}
Retorna o link de convite do grupo especificado, permitindo compartilhar acesso ao grupo de forma controlada. Requer permissões de administrador.
Funcionalidades do Link
Geração de Link
Geração de Link
Cria ou recupera o link de convite ativo do grupo.Comportamento:
- Se o grupo já tem um link, retorna o existente
- Se não tem link, gera um novo automaticamente
- Link permanece ativo até ser revogado
- Mesmo link funciona em múltiplos dispositivos
Permissões Necessárias
Permissões Necessárias
Restrições de acesso para gerar o link.Requisitos:
- Você deve ser membro do grupo
- Você deve ser administrador do grupo
- Grupo deve estar ativo
- Sessão deve estar conectada
Formato do Link
Formato do Link
Estrutura do link de convite retornado.Componentes:
- URL base:
https://chat.whatsapp.com/ - Código: String alfanumérica única
- Exemplo completo:
https://chat.whatsapp.com/AbCdEfGhIjKlMnOpQrSt
Casos de Uso
Casos de Uso
Situações comuns para gerar links de convite.Aplicações:
- Compartilhar grupo em campanhas de marketing
- Distribuir acesso em eventos
- Incluir em materiais promocionais
- Automatizar convites em sistemas
- Integrar com plataformas de terceiros
- Criar QR codes de acesso
- Enviar por e-mail ou SMS
Authorization
string
required
Chave de autenticação da sua conexão, utilizada no header Authorization como
Bearer Token.
Você encontra sua API Key no botão API da sua conexão no painel ZapClass.
A chave sempre começa com o prefixo
Exemplo:
Você encontra sua API Key no botão API da sua conexão no painel ZapClass.
A chave sempre começa com o prefixo
zc_. Exemplo:
zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aPPath Parameters
string
required
Identificador único do grupo (JID).
Formato:
Exemplo:
Formato:
número@g.us Exemplo:
120363153742561022@g.usAtenção: Compartilhe links de convite com cuidado. Qualquer pessoa com o
link pode entrar no grupo (a menos que aprovação de admin esteja ativada).
curl -X GET https://zapclass.com.br/api/groups/invite-link/120363153742561022@g.us \
-H "Content-Type: application/json" \
-H "Authorization: Bearer zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aP"
INVITE_LINK=$(curl -s -X GET https://zapclass.com.br/api/groups/invite-link/120363153742561022@g.us \
-H "Content-Type: application/json" \
-H "Authorization: Bearer zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aP" \
| jq -r '.invite-link')
echo "Link de convite: $INVITE_LINK"
const groupJID = "120363153742561022@g.us";
const response = await fetch(
`https://zapclass.com.br/api/groups/invite-link/${groupJID}`,
{
method: "GET",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aP",
},
}
);
const data = await response.json();
if (data.success) {
console.log("Link de convite:", data.invite-link);
console.log("Código:", data.inviteCode);
}
async function getAndCopyinvite-link(groupJID) {
const response = await fetch(
`https://zapclass.com.br/api/groups/invite-link/${groupJID}`,
{
method: "GET",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aP",
},
}
);
const data = await response.json();
if (!data.success) {
throw new Error(data.message);
}
// Copiar para clipboard (navegador)
if (navigator.clipboard) {
await navigator.clipboard.writeText(data.invite-link);
console.log("✓ Link copiado para a área de transferência");
}
return data.invite-link;
}
// Uso
try {
const link = await getAndCopyinvite-link("120363153742561022@g.us");
console.log("Link:", link);
} catch (error) {
console.error("Erro:", error.message);
}
async function generateInviteQRCode(groupJID) {
const response = await fetch(
`https://zapclass.com.br/api/groups/invite-link/${groupJID}`,
{
method: "GET",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aP",
},
}
);
const data = await response.json();
if (!data.success) {
throw new Error(data.message);
}
// Gera URL de QR Code usando API externa
const qrCodeUrl = `https://api.qrserver.com/v1/create-qr-code/?size=300x300&data=${encodeURIComponent(
data.invite-link
)}`;
return {
invite-link: data.invite-link,
qrCodeUrl: qrCodeUrl,
};
}
// Uso
const result = await generateInviteQRCode("120363153742561022@g.us");
console.log("Link:", result.invite-link);
console.log("QR Code:", result.qrCodeUrl);
async function getinvite-links(groupJIDs) {
const results = await Promise.all(
groupJIDs.map(async (groupJID) => {
try {
const response = await fetch(
`https://zapclass.com.br/api/groups/invite-link/${groupJID}`,
{
method: "GET",
headers: {
"Content-Type": "application/json",
Authorization:
"Bearer zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aP",
},
}
);
const data = await response.json();
return {
groupJID,
success: data.success,
invite-link: data.invite-link || null,
error: data.message || null,
};
} catch (error) {
return {
groupJID,
success: false,
invite-link: null,
error: error.message,
};
}
})
);
return results;
}
// Uso
const groups = [
"120363153742561022@g.us",
"120363153742561023@g.us",
"120363153742561024@g.us",
];
const links = await getinvite-links(groups);
links.forEach((result) => {
if (result.success) {
console.log(`✓ ${result.groupJID}: ${result.invite-link}`);
} else {
console.log(`✗ ${result.groupJID}: ${result.error}`);
}
});
<?php
$groupJID = "120363153742561022@g.us";
$url = "https://zapclass.com.br/api/groups/invite-link/" . urlencode($groupJID);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Authorization: Bearer zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aP'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$data = json_decode($response, true);
if ($data['success']) {
echo "Link de convite: {$data['invite-link']}\n";
echo "Código: {$data['inviteCode']}";
} else {
echo "Erro: " . $data['message'];
}
curl_close($ch);
?>
<?php
function sendGroupInviteByEmail($groupJID, $recipientEmail, $groupName) {
$url = "https://zapclass.com.br/api/groups/invite-link/" . urlencode($groupJID);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Authorization: Bearer zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aP'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$data = json_decode($response, true);
curl_close($ch);
if (!$data['success']) {
throw new Exception($data['message']);
}
// Envia email (exemplo com mail())
$to = $recipientEmail;
$subject = "Convite para o grupo: $groupName";
$message = "Você foi convidado para participar do grupo '$groupName'.\n\n";
$message .= "Clique no link abaixo para entrar:\n";
$message .= $data['invite-link'];
$headers = "From: noreply@seudominio.com";
if (mail($to, $subject, $message, $headers)) {
return [
'sent' => true,
'invite-link' => $data['invite-link']
];
} else {
throw new Exception("Falha ao enviar email");
}
}
// Uso
try {
$result = sendGroupInviteByEmail(
"120363153742561022@g.us",
"usuario@example.com",
"Equipe de Vendas"
);
echo "Convite enviado com sucesso!\n";
echo "Link: {$result['invite-link']}";
} catch (Exception $e) {
echo "Erro: " . $e->getMessage();
}
?>
<?php
class GroupInviteManager {
private $token;
private $baseUrl = 'https://zapclass.com.br/api';
public function __construct($token) {
$this->token = $token;
}
public function getinvite-link($groupJID) {
$url = $this->baseUrl . '/groups/invite-link/' . urlencode($groupJID);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
"Authorization: Bearer {$this->token}"
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
if (!$data['success']) {
throw new Exception($data['message']);
}
return [
'link' => $data['invite-link'],
'code' => $data['inviteCode']
];
}
public function generateQRCode($groupJID, $size = 300) {
$invite = $this->getinvite-link($groupJID);
return [
'invite-link' => $invite['link'],
'qrCodeUrl' => "https://api.qrserver.com/v1/create-qr-code/?size={$size}x{$size}&data=" . urlencode($invite['link'])
];
}
public function getInviteHTML($groupJID, $groupName) {
$invite = $this->getinvite-link($groupJID);
return "
<div style='text-align: center; padding: 20px;'>
<h2>Convite para {$groupName}</h2>
<p>Clique no link abaixo para entrar no grupo:</p>
<a href='{$invite['link']}' style='display: inline-block; padding: 10px 20px; background: #25D366; color: white; text-decoration: none; border-radius: 5px;'>
Entrar no Grupo
</a>
</div>
";
}
}
// Uso
$manager = new GroupInviteManager('zt_BppKZWtzvj1X2SbJAuOSkA0Z63uDBQ0wkb28NJaloKeOUnHk');
try {
// Gerar link
$invite = $manager->getinvite-link("120363153742561022@g.us");
echo "Link: {$invite['link']}\n\n";
// Gerar QR Code
$qr = $manager->generateQRCode("120363153742561022@g.us");
echo "QR Code: {$qr['qrCodeUrl']}\n\n";
// Gerar HTML
$html = $manager->getInviteHTML("120363153742561022@g.us", "Meu Grupo");
file_put_contents('invite.html', $html);
echo "HTML gerado em invite.html";
} catch (Exception $e) {
echo "Erro: " . $e->getMessage();
}
?>
{
"success": true,
"invite-link": "https://chat.whatsapp.com/AbCdEfGhIjKlMnOpQrSt",
"inviteCode": "AbCdEfGhIjKlMnOpQrSt",
"groupJID": "120363153742561022@g.us"
}
{
"success": false,
"message": "Group JID inválido ou mal formatado"
}
{
"success": false,
"message": "Você precisa ser administrador do grupo para gerar o link de convite"
}
{
"success": false,
"message": "Grupo não encontrado ou você não é membro"
}
{
"success": false,
"message": "Erro ao gerar link de convite"
}
⌘I

