Uau! Construiți-vă integrarea WhatsApp. Începeți gratuit. Înregistrați-vă acum
Briefingul personalului școlar · Caz de utilizare WhatsApp API

Rezumat zilnic LMS pentru personal pe WhatsApp după școală

Un membru responsabil al personalului poate citi imaginea operațională a zilei pe WhatsApp în loc să deschidă LMS-ul. După programul școlar, schedulerul tău poate interoga baza de date, compune un text scurt și îl poate trimite prin Whapi.Cloud. Acest caz de utilizare le arată integratorilor cum implementează fluxul prin WhatsApp API.

Doar text, fără grafice sau PDF-uri Un chat personal al personalului
Panou de operațiuni școlare lângă un telefon al cărui chat WhatsApp arată un scurt rezumat de seară pentru personal după programul școlar.
Caz de utilizare

Când folosești acest flux

Declanșatorul este un program zilnic după școală

Folosește acest flux când o sarcină programată zilnic rulează după programul școlar, nu la fiecare schimbare de rând din LMS în timp real.

Rezumatul vine din datele LMS sau ale bazei de date

Folosește acest flux când own_backend interoghează LMS-ul sau baza de date și compune totaluri sau alerte, nu când doar citești istoricul mesajelor WhatsApp.

Un membru responsabil al personalului într-un chat personal

Folosește acest flux când un angajat responsabil trebuie să primească brief-ul într-un chat personal, nu când profesorii împart o actualizare de tură într-un grup.

Chat WhatsApp pe un telefon cu un scurt rezumat de seară pentru personal după programul școlar.
Experiența clientului

Personalul vede ziua în chat

Semnalele operaționale ale zilei rămân în LMS până când cineva deschide panourile, așa că conducerea află târziu despre goluri sau restanțe.

După ce fluxul rulează, membrul responsabil deschide WhatsApp și citește un rezumat scurt al imaginii operaționale a zilei. Integratorii construiesc acest rezultat cu WhatsApp API.

Flux

Trimite brief-ul de seară în chat

1

Schedulerul zilnic rulează după școală

Schedulerul tău pornește după programul școlar. Un worker interoghează LMS-ul sau baza de date și construiește textul zilei.

2

Trimite brief-ul text către personal

POST /messages/text

sendMessageText livrează rezumatul compus membrului responsabil al personalului. Pune telefonul personalului în to și rezumatul în body.

Ai nevoie de urmărirea livrării? Un răspuns API reușit nu înseamnă că personalul are deja brief-ul. Află despre starea de livrare →

Cerințe preliminare

Înainte să rulezi fluxul

Conectează numărul WhatsApp care trimite brief-ul de seară și autentifică fiecare cerere cu tokenul acelui număr. Interogarea LMS, programul și compilarea textului rămân în backend-ul tău.

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

Implementare API

Un apel trimite brief-ul

Acest apel este check-in-ul. Pune rezumatul LMS compilat în chatul personal al membrului responsabil al personalului în seara aceea.

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.

Trimite brief-ul text către personal

Trimite brief-ul operațional de seară membrului responsabil al personalului ca conducerea să vadă imaginea zilei fără să deschidă LMS-ul.

curl --request POST \
     --url https://gate.whapi.cloud/messages/text \
     --header 'accept: application/json' \
     --header 'authorization: Bearer Your_Token' \
     --header 'content-type: application/json' \
     --data '
{
  "to": "447123456789",
  "body": "Today: 12 absences, 3 late arrivals, 2 open tickets."
}
'
$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://gate.whapi.cloud/messages/text",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"to\":\"447123456789\",\"body\":\"Today: 12 absences, 3 late arrivals, 2 open tickets.\"}",
  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/messages/text"
payload = {
    "to": "447123456789",
    "body": "Today: 12 absences, 3 late arrivals, 2 open tickets."
}
headers = {
    "accept": "application/json",
    "authorization": "Bearer Your_Token",
    "content-type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
const response = await fetch('https://gate.whapi.cloud/messages/text', {
  method: 'POST',
  headers: {
    accept: 'application/json',
    authorization: 'Bearer Your_Token',
    'content-type': 'application/json',
  },
  body: JSON.stringify({
    to: '447123456789',
    body: 'Today: 12 absences, 3 late arrivals, 2 open tickets.',
  }),
});

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

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"to\":\"447123456789\",\"body\":\"Today: 12 absences, 3 late arrivals, 2 open tickets.\"}");
Request request = new Request.Builder()
  .url("https://gate.whapi.cloud/messages/text")
  .post(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/messages/text");
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.AddJsonBody(new { to = "447123456789", body = "Today: 12 absences, 3 late arrivals, 2 open tickets." });
var response = await client.PostAsync(request);

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

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

func main() {
	body := []byte(`{"to":"447123456789","body":"Today: 12 absences, 3 late arrivals, 2 open tickets."}`)
	req, _ := http.NewRequest("POST", "https://gate.whapi.cloud/messages/text", bytes.NewReader(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))
}
Livrare

Află când brief-ul a ajuns

Un răspuns de trimitere reușit nu înseamnă că personalul are deja brief-ul. Primul status vizibil înainte de un webhook este pending. Schimbările ulterioare ajung doar pe statuses.post și statuses.put. Dacă statusul rămâne pending și nu trece la sent, delivered sau un ack ulterior, mesajul nu a fost livrat. Verifică payload-ul și permisiunea contului de a trimite acel tip.

  • Un răspuns de la sendMessageText nu dovedește că personalul are brief-ul.

  • Un pending care nu avansează înseamnă că brief-ul nu a fost livrat.

  • Urmărește statuses.post și statuses.put pentru ack-urile ulterioare.

  • Activează webhook-urile dacă workerul tău trebuie să reîncerce când livrarea nu se finalizează.

Ce să citești despre livrare și webhook-uri

Contactează suportul dacă ceva nu a mers
Când apare o problemă

Tratează eșecurile la fiecare pas

Dacă interogarea LMS eșuează, workerul sare trimiterea sau textul nu este livrat, reîncearcă sarcina sau alertează personalul de rezervă și nu marca check-in-ul ca finalizat.

Schedulerul a rulat, dar check-in-ul a eșuat?

Interogarea LMS poate eșua înainte de orice trimitere, sau sendMessageText poate fi respins sau nelivrat după ce rezumatul era gata. Reîncearcă sarcina workerului sau alertează personalul de rezervă și nu marca check-in-ul ca finalizat. Dacă check-in-ul de seară încă eșuează după o reîncercare, contactează suportul Whapi cu id-ul canalului și răspunsul de trimitere eșuat.

Contactează suportul dacă ceva nu a mers

Depanează pe pas de API

Stare Ce înseamnă Ce să faci
400 Wrong request parameters Parametri de cerere greșiți — verifică to și body în payload-ul de trimitere.
401 Need channel authorization for send message
402 Trial version limit exceeded
403 It is forbidden to send to this group/recipient Este interzis să trimiți către acest destinatar — confirmă telefonul sau chat id-ul personalului și permisiunile canalului.
429 Too many requests
500 Internal Error
Întrebări frecvente

Întrebări de la integratori

Nu. Acest flux trimite un brief text de seară unui membru responsabil al personalului. Graficele, PDF-urile și verificările de accesibilitate a părinților aparțin unui flux multiformat separat pentru părinți.
Nu. Acest flux țintește un chat personal al personalului. Alertele de coordonare de grup folosesc un JID de grup de profesori și sunt un scenariu separat.
Dacă interogarea LMS eșuează, workerul sare trimiterea sau textul nu este livrat, reîncearcă sarcina sau alertează personalul de rezervă și nu marca check-in-ul ca finalizat.
Nu. Compui text propriu din datele LMS și îl trimiți cu sendMessageText. Trimiterea nu așteaptă un șablon pre-aprobat și nu adaugă un cost pe șablon pentru acel mesaj.
În backend-ul tău. Pasul Whapi din catalog este doar sendMessageText. Programarea, workerii Redis sau Celery și interogările bazei de date rămân în own_backend.
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ă