Wow! Redução de 65% no preço para clientes brasileiros! Registre-se agora
WhatsApp API

O aluno sai do grupo de WhatsApp quando o acesso acaba

Os alunos deixam de ver as aulas no chat do grupo quando o acesso termina. Quando o acesso ao curso acaba, seu backend pode confirmar que o aluno ainda está no grupo e removê-lo pela Whapi.Cloud. Este caso de uso mostra aos integradores como implementar esse fluxo com a WhatsApp API.

Disparado pelo seu backend ou por um webhook de pagamento O id do grupo de WhatsApp já está salvo
Um telefone com a lista de membros de um grupo de curso no WhatsApp no momento em que o acesso de um aluno termina.
Caso de uso

Quando usar este fluxo

A vaga do curso é um grupo de WhatsApp

Use este fluxo quando os alunos ficam em um grupo de WhatsApp e a vaga que você revoga é a participação nesse grupo.

O id do grupo de WhatsApp já está salvo

Use este fluxo quando o id do grupo de WhatsApp já está salvo e você só confirma que o aluno ainda está na lista.

O fim do acesso vem dos seus sistemas

Use este fluxo quando seu backend ou um webhook de pagamento marca que o curso acabou.

Um telefone com as informações de um grupo de WhatsApp em que o ex-aluno não está mais na lista de membros.
Experiência do cliente

O aluno não está mais no grupo

Antes da automação, alunos com acesso vencido continuam no grupo, veem aulas e chat, o conteúdo pago vaza e o suporte recebe reclamações.

Quando o acesso acaba, o aluno não está mais no grupo de WhatsApp do curso. Integradores constroem esse resultado com a WhatsApp API.

Fluxo

Do fim do acesso à saída do grupo

1

O acesso ao curso acabou

Seu backend ou o webhook de pagamento informa que o acesso deste aluno acabou e nomeia o grupo de WhatsApp em que ele estava.

2

Confirme que o aluno está na lista

GET /groups/{GroupID}

getGroup devolve o grupo e os participantes do id salvo, para você identificar o aluno antes da remoção.

3

Remova esse participante

DELETE /groups/{GroupID}/participants

removeGroupParticipant remove o participante identificado. Envie o mesmo id do grupo e esse id de contato em participants.

Pré-requisitos

Antes de executar o fluxo

O número de WhatsApp conectado ao seu canal é o que remove o aluno. Cada pedido usa o token de API desse número. O canal precisa estar autorizado e o número precisa de permissão para remover um participante.

Opcional — aprofunde este fluxo

Implementação da API

Confirme o aluno e depois remova-o

O acesso ao curso já acabou fora da Whapi.Cloud. Leia o grupo salvo para saber que o aluno ainda é participante e depois remova esse participante do grupo.

Obtenha seu token de API grátis depois de se cadastrar em whapi.cloud e use esse token no código no lugar de Your_Token dos exemplos.

Confirme que o aluno está na lista

Leia o grupo salvo e os participantes para identificar o aluno antes da remoção.

curl --request GET \
     --url https://gate.whapi.cloud/groups/GROUP_ID \
     --header 'accept: application/json' \
     --header 'authorization: Bearer Your_Token'
$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://gate.whapi.cloud/groups/GROUP_ID",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "accept: application/json",
    "authorization: Bearer Your_Token"
  ],
]);

$response = curl_exec($curl);
curl_close($curl);
echo $response;
import requests

url = "https://gate.whapi.cloud/groups/GROUP_ID"
headers = {
    "accept": "application/json",
    "authorization": "Bearer Your_Token",
}

response = requests.get(url, headers=headers)
print(response.text)
const url = 'https://gate.whapi.cloud/groups/GROUP_ID';

const response = await fetch(url, {
  method: 'GET',
  headers: {
    accept: 'application/json',
    authorization: 'Bearer Your_Token',
  },
});

console.log(await response.text());
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://gate.whapi.cloud/groups/GROUP_ID")
  .get()
  .addHeader("accept", "application/json")
  .addHeader("authorization", "Bearer Your_Token")
  .build();

Response response = client.newCall(request).execute();
using RestSharp;

var options = new RestClientOptions("https://gate.whapi.cloud/groups/GROUP_ID");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
request.AddHeader("authorization", "Bearer Your_Token");
var response = await client.GetAsync(request);

Console.WriteLine("{0}", response.Content);
package main

import (
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, _ := http.NewRequest("GET", "https://gate.whapi.cloud/groups/GROUP_ID", nil)
	req.Header.Set("accept", "application/json")
	req.Header.Set("authorization", "Bearer Your_Token")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	out, _ := io.ReadAll(res.Body)
	fmt.Println(string(out))
}

Remova esse participante

Remova o participante identificado para que ele não esteja mais no grupo do curso.

curl --request DELETE \
     --url https://gate.whapi.cloud/groups/GROUP_ID/participants \
     --header 'accept: application/json' \
     --header 'authorization: Bearer Your_Token' \
     --header 'content-type: application/json' \
     --data '
{
  "participants": ["12345678901"]
}'
$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://gate.whapi.cloud/groups/GROUP_ID/participants",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "DELETE",
  CURLOPT_POSTFIELDS => "{\"participants\":[\"12345678901\"]}",
  CURLOPT_HTTPHEADER => [
    "accept: application/json",
    "authorization: Bearer Your_Token",
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
curl_close($curl);
echo $response;
import requests

url = "https://gate.whapi.cloud/groups/GROUP_ID/participants"
payload = {"participants": ["12345678901"]}
headers = {
    "accept": "application/json",
    "authorization": "Bearer Your_Token",
    "content-type": "application/json",
}

response = requests.delete(url, json=payload, headers=headers)
print(response.text)
const url = 'https://gate.whapi.cloud/groups/GROUP_ID/participants';

const response = await fetch(url, {
  method: 'DELETE',
  headers: {
    accept: 'application/json',
    authorization: 'Bearer Your_Token',
    'content-type': 'application/json',
  },
  body: JSON.stringify({
    participants: ['12345678901'],
  }),
});

console.log(await response.text());
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"participants\":[\"12345678901\"]}");
Request request = new Request.Builder()
  .url("https://gate.whapi.cloud/groups/GROUP_ID/participants")
  .delete(body)
  .addHeader("accept", "application/json")
  .addHeader("authorization", "Bearer Your_Token")
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
using RestSharp;

var options = new RestClientOptions("https://gate.whapi.cloud/groups/GROUP_ID/participants");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
request.AddHeader("authorization", "Bearer Your_Token");
request.AddHeader("content-type", "application/json");
request.AddStringBody("{\"participants\":[\"12345678901\"]}", DataFormat.Json);
var response = await client.DeleteAsync(request);

Console.WriteLine("{0}", response.Content);
package main

import (
	"fmt"
	"io"
	"net/http"
	"strings"
)

func main() {
	body := strings.NewReader(`{"participants":["12345678901"]}`)
	req, _ := http.NewRequest("DELETE", "https://gate.whapi.cloud/groups/GROUP_ID/participants", body)
	req.Header.Set("accept", "application/json")
	req.Header.Set("authorization", "Bearer Your_Token")
	req.Header.Set("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)
	defer res.Body.Close()
	out, _ := io.ReadAll(res.Body)
	fmt.Println(string(out))
}
Quando algo falha

Trate as falhas em cada passo

Depois que o acesso acaba, o aluno pode continuar no grupo se o grupo não existir, o participante não for encontrado ou a chamada falhar. Repita esse passo ou alerte sua equipe.

O acesso acabou e o aluno ainda está no grupo?

O grupo pode não existir, o participante pode não ser encontrado ou a chamada pode falhar. Repita a remoção ou alerte sua equipe para o aluno não continuar vendo o grupo. Clientes costumam dizer que nosso suporte responde. Não hesite em pedir ajuda.

Fale com o suporte se algo deu errado

Investigue por passo da API

Status O que significa O que fazer
400 Wrong request parameters
404 Specified group not found
500 Internal Error
Status O que significa O que fazer
400 Wrong request parameters
401 Need channel authorization for remove participant
403 You do not have permissions for this action
404 Specified group or participant not found
500 Internal Error
FAQ

Perguntas de operadores

Repita a remoção ou alerte sua equipe. O grupo pode não existir, o participante pode não ser encontrado ou a chamada pode ter falhado. Não trate o aluno como removido até esse passo ter sucesso.
Não. O resultado é que o aluno não está mais no grupo de WhatsApp. O fluxo lê os participantes desse grupo e remove uma pessoa.
Não. O id do grupo de WhatsApp já está salvo. getGroup confirma que o aluno está entre os participantes. removeGroupParticipant então remove esse participante.
Não. Este fluxo roda quando o acesso ao curso acaba e o ramo é a remoção do grupo. Ele não aprova um pedido de entrada e não envia um link de convite.
Seu backend ou um webhook de pagamento decide isso. A Whapi.Cloud remove o participante depois desse evento. Ela não decide que o curso acabou.
Recursos compatíveis do WhatsApp

Tudo o que você precisa para criar automações no WhatsApp

O Whapi.Cloud oferece acesso a um conjunto completo de recursos do WhatsApp — mensagens, mídia, grupos, canais, webhooks e muito mais. Crie bots, automações e integrações sem limitações de funcionalidades.

Escolhido por desenvolvedores

Confiado por mais de 3.300 desenvolvedores e equipes SaaS

Desenvolvedores no mundo inteiro utilizam o Whapi.Cloud para criar automações, bots, integrações com CRM, ferramentas de envio em massa e fluxos avançados de WhatsApp. Nossa infraestrutura processa milhões de requisições API com alta estabilidade — e esse número cresce a cada mês.

Ícone de recurso

5,5K+

canais de API ativos

Ícone de recurso

21M+

requisições API por mês

“Tudo é simples, intuitivo e fácil de navegar. A documentação é clara e todas as informações estão bem à mão. Trabalho excelente.”

Roberto K. / Desenvolvedor Web

“Conectamos o WhatsApp aos nossos fluxos usando o n8n em apenas alguns minutos. Sem código, sem complicações — funcionou de primeira.”

Martin P. / Desenvolvedor

“O Whapi.Cloud se tornou uma parte essencial da nossa comunicação com clientes. Automatizamos atualizações de produtos, notificações de pedidos e mensagens de suporte — tudo sem templates nem aprovações da Meta.”

Oscar T. / CTO

Balão decorativo