Uau! Construiți-vă integrarea WhatsApp. Începeți gratuit. Înregistrați-vă acum
WhatsApp API

Elevul părăsește grupul WhatsApp când accesul se termină

Elevii nu mai văd lecțiile în chatul grupului după ce li se termină accesul. Când se termină accesul la curs, backend-ul tău poate confirma că elevul este încă în grup și îl poate scoate prin Whapi.Cloud. Acest caz de utilizare arată integratorilor cum implementează fluxul cu WhatsApp API.

Pornit de backend-ul tău sau de un webhook de plată Id-ul grupului WhatsApp este deja salvat
Un telefon cu lista de membri ai unui grup de curs WhatsApp în momentul în care accesul unui elev s-a terminat.
Caz de utilizare

Când folosești acest flux

Locul la curs este un grup WhatsApp

Folosește acest flux când elevii înscriși stau într-un grup WhatsApp și locul pe care îl retragi este apartenența la acel grup.

Id-ul grupului WhatsApp este deja salvat

Folosește acest flux când id-ul grupului WhatsApp este deja salvat și doar confirmi că elevul este încă pe listă.

Sfârșitul accesului vine din sistemele tale

Folosește acest flux când backend-ul tău sau un webhook de plată marchează că cursul s-a terminat.

Un telefon cu informațiile unui grup WhatsApp în care fostul elev nu mai este pe lista de membri.
Experiența clientului

Elevul nu mai este în grup

Înainte de automatizare, elevii cu acces expirat rămân în grup, văd lecțiile și chatul, conținutul plătit se scurge și suportul primește reclamații.

După ce accesul se termină, elevul nu mai este în grupul WhatsApp al cursului. Integratorii construiesc acest rezultat cu WhatsApp API.

Flux

De la acces încheiat la scoaterea din grup

1

Accesul la curs s-a terminat

Backend-ul tău sau webhook-ul de plată anunță că accesul acestui elev s-a terminat și numește grupul WhatsApp în care era.

2

Confirmă că elevul este pe listă

GET /groups/{GroupID}

getGroup întoarce grupul și participanții pentru id-ul salvat, ca să poți identifica elevul înainte de scoatere.

3

Scoate acel participant

DELETE /groups/{GroupID}/participants

removeGroupParticipant scoate participantul identificat. Trimite același id de grup și id-ul de contact în participants.

Cerințe

Înainte să rulezi fluxul

Numărul WhatsApp conectat la canalul tău este cel care scoate elevul. Fiecare cerere folosește tokenul API al acelui număr. Canalul trebuie autorizat, iar numărul are nevoie de permisiunea de a scoate un participant.

Opțional — intră mai adânc în acest flux

Implementare API

Confirmă elevul, apoi scoate-l

Accesul la curs s-a terminat deja în afara Whapi.Cloud. Citește grupul salvat ca să știi că elevul este încă participant, apoi scoate-l din grup.

Primești tokenul API gratuit după ce te înregistrezi pe whapi.cloud și folosești acel token în cod în loc de Your_Token din exemple.

Confirmă că elevul este pe listă

Citește grupul salvat și participanții ca să identifici elevul înainte de scoatere.

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))
}

Scoate acel participant

Scoate participantul identificat ca să nu mai fie în grupul cursului.

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))
}
Când ceva eșuează

Tratează eșecurile la fiecare pas

După ce accesul se termină, elevul poate rămâne în grup dacă grupul lipsește, participantul nu este găsit sau apelul eșuează. Reîncearcă pasul sau alertează echipa.

Accesul s-a terminat, dar elevul este încă în grup?

Grupul poate lipsi, participantul poate să nu fie găsit sau apelul poate eșua. Reîncearcă scoaterea sau alertează echipa ca elevul să nu vadă în continuare grupul. Clienții spun des că suportul nostru răspunde. Nu ezita să ceri ajutor.

Contactează suportul dacă ceva nu a mers

Depanează pe pas API

Status Ce înseamnă Ce să faci
400 Wrong request parameters
404 Specified group not found
500 Internal Error
Status Ce înseamnă Ce să faci
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

Întrebări de operatori

Reîncearcă scoaterea sau alertează echipa. Grupul poate lipsi, participantul poate să nu fie găsit sau apelul poate fi eșuat. Nu trata elevul ca scos până când pasul reușește.
Nu. Rezultatul este că elevul nu mai este în grupul WhatsApp. Fluxul citește participanții acelui grup și scoate o persoană.
Nu. Id-ul grupului WhatsApp este deja salvat. getGroup confirmă că elevul este printre participanți. removeGroupParticipant îl scoate apoi.
Nu. Acest flux rulează când se termină accesul la curs, iar ramura este scoaterea din grup. Nu aprobă o cerere de intrare și nu trimite un link de invitație.
Backend-ul tău sau un webhook de plată decide asta. Whapi.Cloud scoate participantul după eveniment. Nu decide că cursul s-a terminat.
Funcționalități WhatsApp suportate

Tot ce ai nevoie pentru a construi automatizări pe WhatsApp

Whapi.Cloud îți oferă acces la un set complet de funcționalități WhatsApp — mesaje, media, grupuri, canale, webhook-uri și altele. Construiește boți, automatizări și integrări fără limitări de funcții.

Ales de dezvoltatori

De încredere pentru peste 3.300 de dezvoltatori și echipe SaaS

Dezvoltatori din întreaga lume se bazează pe Whapi.Cloud pentru a crea automatizări, boți, integrări CRM, instrumente de mesagerie în masă și fluxuri avansate WhatsApp. Infrastructura noastră procesează milioane de cereri API cu o stabilitate ridicată — iar numărul crește în fiecare lună.

Pictogramă funcționalitate

5,5K+

canale API active

Pictogramă funcționalitate

21M+

cereri API pe lună

„Totul este simplu, intuitiv și ușor de folosit. Documentația este clară, iar toate informațiile necesare sunt la îndemână. Foarte bine făcut.”

Roberto K. / Web Developer

„Am conectat WhatsApp la fluxurile noastre în n8n în doar câteva minute. Fără cod, fără complicații — totul a funcționat din prima.”

Martin P. / Developer

„Whapi.Cloud a devenit o parte esențială a comunicării cu clienții. Am automatizat actualizări de produse, notificări de comenzi și mesaje de suport — fără șabloane sau aprobări Meta.”

Oscar T. / CTO

Bulă decorativă