Sparrow Messenger collega la tua pagina Facebook a una casella di posta condivisa dai tuoi team: le richieste ricorrenti trovano risposta da sole, le altre arrivano alla persona giusta, e tutto lo storico resta associato al contatto nel tuo CRM.
Clicca su un caso d'uso per scoprire in dettaglio come Sparrow Messenger lo attiva per la tua azienda.
I messaggi inviati alla tua pagina non arrivano più sul telefono di una sola persona. Finiscono in una casella comune dove ogni conversazione è assegnata, etichettata e monitorata — con lo storico completo del contatto sotto gli occhi dell'agente.
Orari, indirizzo, tracciamento dell'ordine, disponibilità di un articolo: queste richieste costituiscono la maggior parte del volume e non portano nulla ai tuoi team. Un percorso guidato risponde subito, a qualsiasi ora, e passa la parola a un agente appena la domanda esce dal perimetro.
Un annuncio Facebook o Instagram che apre Messenger ti dà un contatto identificato dal primo clic: nessun modulo da compilare, nessun indirizzo e-mail sbagliato. La conversazione comincia dove finisce l'annuncio.
Basta una richiesta HTTP per pubblicare un messaggio in una conversazione aperta: conferma d'ordine, avviso di spedizione, promemoria di appuntamento. I messaggi in arrivo ti vengono restituiti via webhook.
Ogni conversazione porta il suo tempo di prima risposta, il tempo di risoluzione, l'agente e l'etichetta. Vedi così dove si concentra il volume, quali ore sono scoperte e quali richieste meriterebbero di essere automatizzate.
Uno stesso canale, regole diverse: nelle ventiquattro ore successive a un messaggio del cliente scrivi liberamente; oltre, solo un agente umano può riprendere la conversazione, per sette giorni, per risolvere la richiesta in corso.
Domande, reclami e richieste di informazione, gestiti dai tuoi agenti da una casella condivisa.
Finestra di 24 oreOrari, indirizzo, tracciamento dell'ordine: un percorso guidato risponde senza impegnare nessuno.
Disponibile 24 ore su 24L'annuncio apre una conversazione anziché una pagina di destinazione, e l'origine resta associata al contatto.
Origine della campagna conservataOrdine registrato, pacco spedito, ritiro disponibile: attivato dalla tua applicazione.
Etichetta post-acquistoConferma, promemoria il giorno prima, rinvio proposto con un pulsante.
Etichetta evento confermatoCambio password, aggiornamento di una pratica, scadenza di un documento.
Etichetta accountIl cliente si iscrive alle tue novità con un clic e riceve i messaggi con la frequenza che ha accettato.
Su iscrizione esplicitaCatalogo sfogliato nella conversazione, carrello composto, pagamento concluso tramite link.
Caroselli e pulsantiUn commento sotto un post riceve una risposta pubblica e un messaggio privato.
Pubblico e privatoLa casella condivisa, l'automazione e l'API in un unico abbonamento, senza strumenti aggiuntivi da collegare.
Tutte le conversazioni della pagina in un'unica schermata, assegnate, etichettate e monitorate. Note interne, menzioni tra colleghi e trasferimento senza perdere il filo.
Menu permanente, domande di avvio, risposte rapide e pulsanti. Le richieste ricorrenti si risolvono da sole e il passaggio a un agente avviene appena serve.
Il profilo Messenger, lo storico delle conversazioni e i dati del tuo CRM sulla stessa schermata. L'agente sa con chi parla prima di rispondere.
La piattaforma mostra il tempo residuo per rispondere liberamente e propone l'etichetta adatta quando la finestra è chiusa. Nessuna regola di Meta violata per distrazione.
Tempo di prima risposta, tempo di risoluzione, quota automatizzata, origine del contatto. Esportazione CSV, report settimanale, invio via API.
Le tue applicazioni inviano e ricevono messaggi 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/messenger/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/messenger/status |
| Stato di una lista | POST | https://app.sparrowmessage.com/api/v1/messenger/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/messenger/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}/messenger/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}/messenger/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}/messenger/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}/messenger/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}/messenger/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 + "/messenger/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/messenger/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/messenger/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/messenger/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/messenger/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
Disponibilità di un articolo, tracciamento dell'ordine, avviso di ritiro in negozio.
Monitoraggio di una pratica, prenotazione in filiale, risposta alle domande ricorrenti.
Informazioni sulle iscrizioni, date di inizio anno, risposte alle famiglie.
Qualificazione delle richieste, prenotazione della visita, sollecito dei potenziali clienti.
Tracciamento del pacco, fascia di consegna, reclamo gestito nella conversazione.
Prenotazione, menù del giorno, conferma e promemoria del tavolo.
Informazioni ai soci, iscrizioni agli eventi, risposte alle richieste.
Prenotazione di appuntamenti, promemoria della visita, risposta alle questioni amministrative.
Messenger 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.
Appena un cliente scrive alla tua pagina, hai ventiquattro ore per rispondergli come vuoi: testo, immagine, pulsante, carosello. Ogni nuovo messaggio da parte sua fa ripartire il termine. Scaduto senza sua risposta, lo scambio libero si interrompe: restano ammesse solo alcune categorie di messaggi. La piattaforma mostra il tempo residuo su ogni conversazione, così i tuoi agenti non devono calcolarlo.
Meta autorizza tre categorie di messaggi fuori finestra: l'aggiornamento dopo l'acquisto (ordine spedito, ritiro disponibile), l'aggiornamento dell'account (cambio password, pratica aggiornata) e il promemoria di un evento che il cliente ha confermato (appuntamento, prenotazione). Questi messaggi non possono essere promozionali. Per il marketing occorre passare dalle notifiche ricorrenti, alle quali il cliente si iscrive esplicitamente.
Sì. Messenger si appoggia a una pagina: è lei che riceve i messaggi e che compare come interlocutore. Se la tua pagina esiste già, il collegamento richiede pochi minuti. Altrimenti, la creiamo insieme durante la fase di inquadramento.
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.
È la regolazione più importante da fissare all'inizio. L'automazione tratta ciò che è ripetitivo e verificabile: orari, tracciamento dell'ordine, disponibilità. Appena una richiesta esce da questo perimetro, o il cliente chiede un consulente, la conversazione passa a un agente con tutto ciò che è già stato scambiato. Consigliamo anche di disattivare l'automazione nelle ore in cui i tuoi team sono disponibili.
Un annuncio Facebook o Instagram il cui pulsante apre una conversazione Messenger anziché una pagina di destinazione. Il contatto è identificato dal primo clic, senza moduli né indirizzi e-mail da digitare, e l'origine della campagna resta associata alla conversazione. Sai quindi quale annuncio ha prodotto quale richiesta, e il commerciale riprende la discussione dove il percorso automatizzato l'ha lasciata.
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. 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.
Non c'è un tetto tecnico lato piattaforma. Il limite pratico dipende dal tuo organico e dalla quota di richieste automatizzate: un percorso ben regolato assorbe abitualmente due terzi del volume, il che consente a un piccolo team di reggere diverse migliaia di conversazioni al mese.
In Marocco il trattamento dei dati personali è regolato dalla legge 09-08 e dalla CNDP: le conversazioni Messenger contengono dati personali e devono figurare nella dichiarazione. Vi si aggiungono le regole di Meta, che vietano il messaggio promozionale fuori dalla finestra di ventiquattro ore e al di fuori di una notifica ricorrente accettata. 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 Messenger come a qualsiasi trattamento di dati personali: base giuridica, informativa al cliente, durata di conservazione e diritto alla cancellazione. Vi si aggiungono le regole di Meta, che vietano il messaggio promozionale fuori dalla finestra di ventiquattro ore e al di fuori di una notifica ricorrente accettata. 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. Vi si aggiungono le regole di Meta, che vietano il messaggio promozionale fuori dalla finestra di ventiquattro ore e al di fuori di una notifica ricorrente accettata. Iscrizioni e disiscrizioni sono conservate ed esportabili. Non siamo giuristi: fai validare il tuo impianto dal tuo consulente prima di qualsiasi campagna.
La pagina è collegata e la casella condivisa utilizzabile entro ventiquattro ore. I percorsi 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 Messenger operativo in 4 fasi
Dal collegamento della tua pagina al primo percorso automatizzato, un percorso segnato e un unico referente.
Tempi correnti: pagina collegata entro 24 h, primi percorsi automatizzati in servizio entro una o due settimane a seconda della complessità.