> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zapclass.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Gerar Link de Convite

> Gerar ou recuperar link de convite de um grupo

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**
>
> 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
>
> **Importante:** Apenas administradores podem gerar links de convite.

> **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
>
> **Sem permissão:** Retorna erro 403 (Forbidden)

> **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`
>
> O código é único e permanente até ser revogado.

> **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

**api\_key** `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 `zc_`. \\

Exemplo: `zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aP`

### Path Parameters

**groupjid** `string` *required*

Identificador único do grupo (JID). \\

Formato: `número@g.us` \\

Exemplo: `120363153742561022@g.us`

> [!WARNING]
>
> **Atençã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).

```bash cURL - Gerar link theme={null}
curl -X GET https://zapclass.com.br/api/groups/invite-link/120363153742561022@g.us \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer zc_6FrX2qjM4bHT9pR6cC0sD8wLkG3nE2tZfV5uN1aP"
```

```bash cURL - Gerar e salvar em variável theme={null}
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"
```

```javascript JavaScript - Gerar link theme={null}
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);
}
```

```javascript JavaScript - Gerar e copiar para clipboard theme={null}
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);
}
```

```javascript JavaScript - Gerar QR Code theme={null}
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);
```

```javascript JavaScript - Gerar para múltiplos grupos theme={null}
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 PHP - Gerar link theme={null}
<?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 PHP - Gerar e enviar por email theme={null}
<?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 PHP - Classe gerenciadora theme={null}
<?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();
}
?>
```

```json 200 - Link gerado com sucesso theme={null}
{
  "success": true,
  "invite-link": "https://chat.whatsapp.com/AbCdEfGhIjKlMnOpQrSt",
  "inviteCode": "AbCdEfGhIjKlMnOpQrSt",
  "groupJID": "120363153742561022@g.us"
}
```

```json 400 - JID inválido theme={null}
{
  "success": false,
  "message": "Group JID inválido ou mal formatado"
}
```

```json 403 - Sem permissão theme={null}
{
  "success": false,
  "message": "Você precisa ser administrador do grupo para gerar o link de convite"
}
```

```json 404 - Grupo não encontrado theme={null}
{
  "success": false,
  "message": "Grupo não encontrado ou você não é membro"
}
```

```json 500 - Erro no servidor theme={null}
{
  "success": false,
  "message": "Erro ao gerar link de convite"
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.