Sparrow Telegram collega il tuo bot e i tuoi canali a una casella di posta condivisa dai tuoi team: diffondi a tutti i tuoi iscritti senza limiti di finestra, le richieste ricorrenti si risolvono da sole, e lo storico resta associato al contatto nel tuo CRM.
Clicca su un caso d'uso per scoprire in dettaglio come Sparrow Telegram lo attiva per la tua azienda.
È la particolarità di Telegram: un canale trasmette a tutti i suoi iscritti, con la frequenza che decidi, senza finestra di risposta né categoria di messaggio imposta. L'iscrizione è esplicita e la disiscrizione avviene con un gesto: parli quindi a un pubblico che ha chiesto di leggerti.
Su Telegram l'automazione è nativa: il tuo bot espone comandi — /catalogo, /ordine, /operatore — e un menu di pulsanti. Tracciamento dell'ordine, disponibilità, orari: la maggior parte del volume si risolve senza agente, e il passaggio a una persona avviene appena serve.
Un iscritto che scrive al tuo bot apre una conversazione privata. Finisce nella casella comune, assegnata, etichettata e monitorata, con lo storico completo del contatto — e senza finestra di ventiquattro ore da sorvegliare.
Basta una richiesta HTTP per pubblicare su un canale o scrivere a un iscritto: conferma d'ordine, avviso di spedizione, allerta di monitoraggio. I messaggi in arrivo ti vengono restituiti via webhook.
Ogni post porta il suo numero di visualizzazioni e di clic, ogni conversazione il tempo di prima risposta e l'esito. Vedi così quali post fanno crescere il canale, quali fanno perdere iscritti e quali richieste meriterebbero un comando dedicato.
Uno stesso canale, tre formati che non servono alla stessa cosa: il canale diffonde senza ritorno, il gruppo fa discutere tra loro, il bot tiene la conversazione privata.
Novità, promozioni, annunci: un messaggio a tutti i tuoi iscritti, con la frequenza che decidi.
Senza limiti di frequenzaTracciamento dell'ordine, disponibilità, orari: comandi e pulsanti che rispondono in un secondo.
Disponibile 24 ore su 24Domande, reclami e consulenze gestiti dai tuoi agenti da una casella condivisa.
Senza finestra di rispostaI tuoi clienti o i tuoi rivenditori dialogano tra loro, con la tua moderazione e le tue regole.
Fino a 200 000 membriOrdine registrato, pacco spedito, ritiro disponibile: attivato dalla tua applicazione.
Tramite APICatalogo, fattura, manuale, archivio: fino a 2 GB per file, senza servizi di trasferimento esterni.
File fino a 2 GBUna domanda al tuo pubblico, con un risultato immediato, pubblico o anonimo.
Risultato in direttaMonitoraggio, incidente, reperibilità: il canale interno che avvisa i tuoi team per primo.
Uso internoCodice monouso consegnato nella conversazione, per gli account già collegati al tuo bot.
Su account collegatoLa casella condivisa, i canali, i bot e l'API in un unico abbonamento, senza strumenti aggiuntivi da collegare.
Un messaggio a tutti i tuoi iscritti, senza limiti di frequenza né finestra di risposta. Post programmato, fissato in alto, modificabile dopo l'invio, con contatore di visualizzazioni.
Comandi, tastiere di pulsanti e moduli guidati. Le richieste ricorrenti si risolvono da sole e il passaggio a un agente avviene appena serve.
Le conversazioni private in un'unica schermata, assegnate, etichettate e monitorate. Note interne, menzioni tra colleghi e trasferimento senza perdere il filo.
Fino a 2 GB per documento: catalogo, fattura, manuale, archivio. Nessun servizio di trasferimento a parte, nessun link che scade.
Iscritti, crescita, disiscrizioni, visualizzazioni e clic per post. Esportazione CSV, report settimanale, invio via API.
Le tue applicazioni pubblicano e rispondono senza passare dall'interfaccia. Token per applicazione, ambiente di prova, esempi nei principali linguaggi.
Nessuna libreria proprietaria da installare. L'API REST si chiama da qualsiasi linguaggio, e la casella condivisa resta disponibile per gli scambi gestiti dai tuoi agenti.
POST /api/v1/login con le tue credenziali restituisce un token
(api_token) che poi inserisci nell'intestazione
Authorization: Bearer {api_token} di ogni invio.
Un account può ospitare più applicazioni, ciascuna con il suo token:
le statistiche restano separate, applicazione per applicazione.
| Operazione | Metodo | URL |
|---|---|---|
| Ottenere un token | POST | https://app.sparrowmessage.com/api/v1/login |
| Invia un messaggio | POST | https://app.sparrowmessage.com/api/v1/telegram/send/one |
| Ricevere un messaggio | POST in arrivo | https://tuo-sito.com/sparrow/webhook |
| Stato di un messaggio | POST | https://app.sparrowmessage.com/api/v1/telegram/status |
| Stato di una lista | POST | https://app.sparrowmessage.com/api/v1/telegram/status/bulk |
SEMS
Amplitude HR
1 — Ottenere il token, poi inviare un messaggio.
<?php
$base = 'https://app.sparrowmessage.com/api/v1';
// — Authentification : le jeton est à conserver, pas à redemander à chaque envoi
$ch = curl_init("$base/login");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Accept: application/json', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'email' => 'vous@societe.ma',
'password' => 'votre-mot-de-passe',
]),
]);
$jeton = json_decode(curl_exec($ch), true)['api_token'];
curl_close($ch);
// — Envoi d'un message
$ch = curl_init("$base/telegram/send/one");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Accept: application/json',
'Content-Type: application/json',
"Authorization: Bearer $jeton",
],
CURLOPT_POSTFIELDS => json_encode([
'recipient' => '718294106203941',
'text' => 'Votre code de vérification est 385 214.',
// Facultatif : Sparrow y postera les changements de statut
'notifyurl' => 'https://votre-site.ma/sparrow/statut',
]),
]);
$reponse = json_decode(curl_exec($ch), true);
curl_close($ch);
// Toute réponse porte un champ code : OK ou KO
echo $reponse['code'] === 'OK' ? "Message envoyé\n" : "Échec : {$reponse['error']}\n";
Invio singolo, poi invio massivo.
import requests
base = 'https://app.sparrowmessage.com/api/v1'
# — Authentification
jeton = requests.post(f'{base}/login', json={
'email': 'vous@societe.ma',
'password': 'votre-mot-de-passe',
}).json()['api_token']
entetes = {'Authorization': f'Bearer {jeton}', 'Accept': 'application/json'}
# — Envoi d'un message
r = requests.post(f'{base}/telegram/send/one', headers=entetes, json={
'recipient': '718294106203941',
'text': 'Votre code de vérification est 385 214.',
'notifyurl': 'https://votre-site.ma/sparrow/statut',
}).json()
print('Message envoyé' if r['code'] == 'OK' else f"Échec : {r['error']}")
# — Envoi en masse : une seule requête, plusieurs destinataires
requests.post(f'{base}/telegram/send/bulk', headers=entetes, json={
'phones': ['718294106203941', '+2126YYYYYYYY'],
'text': 'Soldes : -20 % jusqu\'à dimanche. STOP au 36000',
})
# — Statut d'un envoi, à partir de l'identifiant renvoyé
statut = requests.post(f'{base}/telegram/status', headers=entetes, json={
'message_id': '8f21c4',
}).json()
print(statut['result'])
Node 18 o successivo: fetch è nativo.
const base = 'https://app.sparrowmessage.com/api/v1';
// — Authentification
const { api_token } = await fetch(`${base}/login`, {
method: 'POST',
headers: { 'Content-Type': 'application/json', Accept: 'application/json' },
body: JSON.stringify({
email: 'vous@societe.ma',
password: 'votre-mot-de-passe',
}),
}).then(r => r.json());
const entetes = {
'Content-Type': 'application/json',
Accept: 'application/json',
Authorization: `Bearer ${api_token}`,
};
// — Envoi d'un message
const reponse = await fetch(`${base}/telegram/send/one`, {
method: 'POST',
headers: entetes,
body: JSON.stringify({
phone: '718294106203941',
text: 'Votre code de vérification est 385 214.',
notifyurl: 'https://votre-site.ma/sparrow/statut',
}),
}).then(r => r.json());
console.log(reponse.code === 'OK' ? 'Message envoyé' : `Échec : ${reponse.error}`);
// — Envoi en masse
await fetch(`${base}/telegram/send/bulk`, {
method: 'POST',
headers: entetes,
body: JSON.stringify({
phones: ['718294106203941', '+2126YYYYYYYY'],
text: 'Soldes : -20 % jusqu\'à dimanche. STOP au 36000',
}),
});
.NET 6 o successivo.
using System.Net.Http.Json;
var http = new HttpClient { BaseAddress = new Uri("https://app.sparrowmessage.com/api/v1/") };
// — Authentification
var auth = await http.PostAsJsonAsync("login", new {
email = "vous@societe.ma",
password = "votre-mot-de-passe",
});
var jeton = (await auth.Content.ReadFromJsonAsync<Dictionary<string, string>>())["api_token"];
http.DefaultRequestHeaders.Authorization = new("Bearer", jeton);
// — Envoi d'un message
var envoi = await http.PostAsJsonAsync("sms/send/one", new {
phone = "718294106203941",
text = "Votre code de vérification est 385 214.",
notifyurl = "https://votre-site.ma/sparrow/statut",
});
var resultat = await envoi.Content.ReadFromJsonAsync<Dictionary<string, object>>();
Console.WriteLine(resultat["code"].ToString() == "OK" ? "Message envoyé" : $"Échec : {resultat["error"]}");
// — Envoi en masse
await http.PostAsJsonAsync("sms/send/bulk", new {
phones = new[] { "718294106203941", "+2126YYYYYYYY" },
text = "Soldes : -20 % jusqu'à dimanche. STOP au 36000",
});
Java 11 o successivo, client HTTP nativo.
import java.net.URI;
import java.net.http.*;
var client = HttpClient.newHttpClient();
var base = "https://app.sparrowmessage.com/api/v1";
// — Authentification
var auth = HttpRequest.newBuilder(URI.create(base + "/login"))
.header("Content-Type", "application/json")
.header("Accept", "application/json")
.POST(HttpRequest.BodyPublishers.ofString("""
{"email":"vous@societe.ma","password":"votre-mot-de-passe"}"""))
.build();
var jeton = extraire(client.send(auth, HttpResponse.BodyHandlers.ofString()).body(), "api_token");
// — Envoi d'un message
var envoi = HttpRequest.newBuilder(URI.create(base + "/telegram/send/one"))
.header("Content-Type", "application/json")
.header("Accept", "application/json")
.header("Authorization", "Bearer " + jeton)
.POST(HttpRequest.BodyPublishers.ofString("""
{"recipient":"718294106203941",
"text":"Votre code de vérification est 385 214.",
"notifyurl":"https://votre-site.ma/sparrow/statut"}"""))
.build();
System.out.println(client.send(envoi, HttpResponse.BodyHandlers.ofString()).body());
Da copiare così com'è in un terminale.
# — 1. Obtenir le jeton
curl -X POST https://app.sparrowmessage.com/api/v1/login \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"email":"vous@societe.ma","password":"votre-mot-de-passe"}'
# Réponse : {"code":"OK","api_token":"eyJ0eXAiOiJKV1Qi..."}
# — 2. Envoyer un message
curl -X POST https://app.sparrowmessage.com/api/v1/telegram/send/one \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $JETON" \
-d '{"recipient":"718294106203941",
"text":"Votre code de vérification est 385 214.",
"notifyurl":"https://votre-site.ma/sparrow/statut"}'
# — 3. Recevoir les messages entrants
curl -X POST https://app.sparrowmessage.com/api/v1/telegram/send/bulk \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $JETON" \
-d '{"phones":["718294106203941","+2126YYYYYYYY"],
"text":"Rappel : votre rendez-vous est demain a 14h30."}'
# — 4. Statut d'un envoi
curl -X POST https://app.sparrowmessage.com/api/v1/telegram/status \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $JETON" \
-d '{"message_id":"8f21c4"}'
# — 5. Statut d'une liste
curl -X POST https://app.sparrowmessage.com/api/v1/telegram/status/bulk \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $JETON" \
-d '{"messages_id":["8f21c4","8f21c5"]}'
Tutte le risposte hanno un campo code pari a OK ou
KO. In caso di OK, result — oppure results
per le chiamate massive — riporta il dettaglio; in caso di KO,
error ne indica il motivo.
Documentazione completa e ambiente di prova forniti all'apertura dell'account.
Grandi aziende, istituzioni e amministrazioni, in Marocco e all'estero. Le stesse organizzazioni, qualunque sia il canale.

Comunicazione a collaboratori, fornitori e clienti

Comunicazione a clienti e collaboratori

Comunicazione a clienti e collaboratori

Comunicazione ai fornitori

Comunicazione a clienti e collaboratori

Comunicazione a candidati e aziende

Comunicazione a membri e partner

Comunicazione ai soci

Comunicazione a partner e donatori

Comunicazione ai clienti

Notifiche ai clienti dal CRM

Comunicazione ai clienti

Comunicazione a candidati e aziende

Comunicazione ai soci

Comunicazione a clienti e partner

Comunicazione ai fornitori

Comunicazione a studenti e partner

Comunicazione agli operatori turistici

Comunicazione ai clienti

Comunicazione ai soci

Comunicazione a clienti e utenti

Comunicazione a studenti e amministrazione

Comunicazione a studenti e amministrazione

Comunicazione a clienti e punti vendita

Comunicazione ai collaboratori

Comunicazione a clienti e potenziali clienti

Comunicazione a clienti e potenziali clienti

Comunicazione ai clienti

Comunicazione ai clienti

Comunicazione ai clienti

Notifiche e relazione con i clienti

Notifiche a clienti e fornitori

Notifiche e campagne ai clienti
Canale novità, tracciamento dell'ordine dal bot, consulenza nella conversazione privata.
Avvisi di conto, tracciamento di una pratica, invio di certificati ed estratti in allegato.
Canale di avvisi alle famiglie, orari, istruzioni e materiali didattici voluminosi.
Canale dei nuovi immobili, planimetrie e dossier completi inviati in un unico file.
Avviso di consegna dal bot, fascia confermata con un pulsante, reclamo gestito in privato.
Menù del giorno sul canale, prenotazione dal bot, conferma e promemoria del tavolo.
Canale informativo per i soci, gruppo di discussione, convocazioni e verbali.
Canale interno di avvisi di monitoraggio, reperibilità avvisata per prima, log allegati.
Telegram non si fattura a messaggio come un SMS: il costo dipende dalla conversazione, dal numero di agenti e da ciò che automatizzi. Per questo prepariamo una proposta su misura, dopo un colloquio di trenta minuti.
Il numero di conversazioni aperte ogni mese, e la quota che si risolve senza intervento umano. È il primo fattore del costo.
Quante persone accedono alla casella condivisa e con quali orari. Un agente in più si aggiunge in qualsiasi momento.
Percorsi guidati, collegamento al tuo catalogo, integrazione CRM o ERP: l'implementazione si quota una volta, l'esercizio poi.
Descrivici il tuo volume attuale e le tue richieste più frequenti. Torniamo da te con una proposta quantificata e un calendario di avvio, senza impegno.
Il canale diffonde: tu pubblichi, i tuoi iscritti leggono, non rispondono. Il gruppo fa discutere: i membri si parlano tra loro, fino a duecentomila persone, sotto la tua moderazione. Il bot tiene la conversazione privata: un iscritto gli scrive, e lui risponde da solo o passa la parola a un agente. La maggior parte delle aziende usa tutti e tre — il canale per annunciare, il bot per servire, il gruppo per animare una community.
No, ed è la differenza principale. Telegram non impone né finestra di risposta, né categoria di messaggio, né modelli da far approvare. Puoi scrivere a un iscritto che ti ha scritto sei mesi fa, e diffondere sul tuo canale con la frequenza che ritieni utile. L'unico limite è quello del buon senso commerciale: un canale troppo loquace perde iscritti, e la disiscrizione avviene con un gesto.
Sì, come per qualsiasi app di messaggistica. Telegram è molto diffuso in alcuni paesi e ambienti professionali, molto meno in altri: è un canale da aprire quando il tuo pubblico è già lì, non da imporre. Guardiamo insieme quanto vale la tua base prima di consigliartelo — e se il conto non torna, l'SMS o WhatsApp resta il canale di prima scelta.
Un canale non si riempie da solo: si nutre dei tuoi altri punti di contatto. Link nelle e-mail e negli SMS, QR code in negozio e sulle confezioni, pulsante sul sito, menzione sui social. I primi mille iscritti arrivano da lì, non da Telegram.
Fino a 2 GB per file, cosa che nessun altro canale di questo elenco consente. Catalogo in alta definizione, manuale tecnico, archivio di fatture, video dimostrativo: il documento parte nella conversazione, senza servizi di trasferimento a parte né link che scade dopo sette giorni.
Sì, è precisamente lo scopo della casella condivisa. Ogni conversazione è assegnata a un agente, visibile agli altri, e non può ricevere due risposte concorrenti. Il trasferimento avviene con un clic, con le note interne, e lo storico resta associato al contatto qualunque sia l'agente che ha risposto.
Sì, ed è utile più spesso di quanto si creda: un errore di prezzo, una data sbagliata, un link rotto si correggono nel post originale, per tutti gli iscritti in una volta. Anche la cancellazione è possibile, su entrambi i lati della conversazione.
Sì, tramite l'API REST e i webhook. Ogni messaggio in arrivo può essere inviato al tuo sistema, e il tuo sistema può scrivere nella conversazione o pubblicare sul canale. Esistono connettori per i CRM e le piattaforme e-commerce più diffusi; per uno strumento interno, l'integrazione avviene via API in qualche giorno.
Sì, con lo storico completo associato al contatto: un cliente che torna sei mesi dopo viene riconosciuto, e l'agente vede cosa è stato detto. La durata di conservazione è configurabile secondo la tua politica sui dati, e l'esportazione è disponibile in qualsiasi momento.
In Marocco il trattamento dei dati personali è regolato dalla legge 09-08 e dalla CNDP: le conversazioni e l'elenco degli iscritti al canale contengono dati personali e devono figurare nella dichiarazione. Poiché Telegram non impone finestre né categorie di messaggio, il limite è il consenso: l'iscrizione al canale ne fa le veci e la disiscrizione deve restare immediata. Iscrizioni, revoche del consenso e richieste di cancellazione sono conservate ed esportabili. Non siamo giuristi: fai validare il tuo impianto e la dichiarazione CNDP dal tuo consulente.
Il GDPR si applica alle conversazioni Telegram come a qualsiasi trattamento di dati personali: base giuridica, informativa al cliente, durata di conservazione e diritto alla cancellazione. Poiché Telegram non impone finestre né categorie di messaggio, il limite è il consenso: l'iscrizione al canale ne fa le veci e la disiscrizione deve restare immediata. Iscrizioni, revoche del consenso e richieste di cancellazione sono conservate ed esportabili, di che alimentare il tuo registro dei trattamenti. Non siamo giuristi: fai validare il tuo impianto dal tuo consulente.
Negli Stati Uniti la sollecitazione commerciale via messaggio è regolata dal CAN-SPAM Act per l'e-mail e dal TCPA per il messaggio telefonico, entrambi applicati da FTC e FCC; la messaggistica vi si ricollega per analogia e impone la stessa esigenza di consenso e di disiscrizione semplice. Poiché Telegram non impone finestre né categorie di messaggio, il limite è il consenso: l'iscrizione al canale ne fa le veci. Iscrizioni e disiscrizioni sono conservate ed esportabili. Non siamo giuristi: fai validare il tuo impianto dal tuo consulente prima di qualsiasi campagna.
Il bot e il canale sono in servizio entro ventiquattro ore, e la casella condivisa è utilizzabile subito. I comandi automatizzati richiedono una o due settimane a seconda della complessità: occorre censire le richieste frequenti, scrivere le risposte e poi provarle su casi reali prima dell'apertura.
Il tuo canale Telegram operativo in 4 fasi
Dalla creazione del bot al primo invio sul tuo canale, un percorso segnato e un unico referente.
Tempi correnti: bot e canale in servizio entro 24 h, primi comandi automatizzati entro una o due settimane a seconda della complessità.